pixman: Branch 'master' - 3 commits
Siarhei Siamashka
siamashka at kemper.freedesktop.org
Sun Jan 16 12:27:09 PST 2011
pixman/pixman-bits-image.c | 44 +++++++++++++++++++++-----------------------
pixman/pixman-compiler.h | 3 +--
pixman/pixman-fast-path.c | 40 ++++++++++++++++++++--------------------
pixman/pixman-fast-path.h | 18 +++++++++++-------
pixman/pixman-sse2.c | 6 +++---
5 files changed, 56 insertions(+), 55 deletions(-)
New commits:
commit ab3809f4da0d833944363c5c039c3a2e6a8389c5
Author: Siarhei Siamashka <siarhei.siamashka at nokia.com>
Date: Tue Jan 4 13:42:29 2011 +0200
Workaround for a preprocessor issue in old Sun Studio
Patch from Peter O'Gorman with some modifications
https://bugs.freedesktop.org//show_bug.cgi?id=32764
diff --git a/pixman/pixman-fast-path.h b/pixman/pixman-fast-path.h
index ed09ba5..d98cfbf 100644
--- a/pixman/pixman-fast-path.h
+++ b/pixman/pixman-fast-path.h
@@ -245,10 +245,10 @@ scanline_func_name (dst_type_t *dst, \
} \
}
-#define FAST_NEAREST_MAINLOOP(scale_func_name, scanline_func, src_type_t, dst_type_t, \
- repeat_mode) \
+#define FAST_NEAREST_MAINLOOP_INT(scale_func_name, scanline_func, src_type_t, dst_type_t, \
+ repeat_mode) \
static void \
-fast_composite_scaled_nearest_ ## scale_func_name (pixman_implementation_t *imp, \
+fast_composite_scaled_nearest ## scale_func_name (pixman_implementation_t *imp, \
pixman_op_t op, \
pixman_image_t * src_image, \
pixman_image_t * mask_image, \
@@ -374,12 +374,18 @@ fast_composite_scaled_nearest_ ## scale_func_name (pixman_implementation_t *imp,
} \
}
+/* A workaround for old sun studio, see: https://bugs.freedesktop.org/show_bug.cgi?id=32764 */
+#define FAST_NEAREST_MAINLOOP(scale_func_name, scanline_func, src_type_t, dst_type_t, \
+ repeat_mode) \
+ FAST_NEAREST_MAINLOOP_INT(_ ## scale_func_name, scanline_func, src_type_t, dst_type_t, \
+ repeat_mode) \
+
#define FAST_NEAREST(scale_func_name, SRC_FORMAT, DST_FORMAT, \
src_type_t, dst_type_t, OP, repeat_mode) \
FAST_NEAREST_SCANLINE(scaled_nearest_scanline_ ## scale_func_name ## _ ## OP, \
SRC_FORMAT, DST_FORMAT, src_type_t, dst_type_t, \
OP, repeat_mode) \
- FAST_NEAREST_MAINLOOP(scale_func_name##_##OP, \
+ FAST_NEAREST_MAINLOOP_INT(_ ## scale_func_name ## _ ## OP, \
scaled_nearest_scanline_ ## scale_func_name ## _ ## OP, \
src_type_t, dst_type_t, repeat_mode)
commit f5c0a60ac8c32ac37aaf58f67048585af58f3141
Author: Siarhei Siamashka <siarhei.siamashka at nokia.com>
Date: Tue Jan 4 08:41:02 2011 +0200
Fix for "syntax error: empty declaration" Solaris Studio warnings
diff --git a/pixman/pixman-bits-image.c b/pixman/pixman-bits-image.c
index 1fdd742..c453e0e 100644
--- a/pixman/pixman-bits-image.c
+++ b/pixman/pixman-bits-image.c
@@ -1035,25 +1035,25 @@ convert_r5g6b5 (const uint8_t *row, int x)
}
#define MAKE_FETCHERS(name, format, repeat_mode) \
- MAKE_NEAREST_FETCHER (name, format, repeat_mode); \
- MAKE_BILINEAR_FETCHER (name, format, repeat_mode);
-
-MAKE_FETCHERS (pad_a8r8g8b8, a8r8g8b8, PIXMAN_REPEAT_PAD);
-MAKE_FETCHERS (none_a8r8g8b8, a8r8g8b8, PIXMAN_REPEAT_NONE);
-MAKE_FETCHERS (reflect_a8r8g8b8, a8r8g8b8, PIXMAN_REPEAT_REFLECT);
-MAKE_FETCHERS (normal_a8r8g8b8, a8r8g8b8, PIXMAN_REPEAT_NORMAL);
-MAKE_FETCHERS (pad_x8r8g8b8, x8r8g8b8, PIXMAN_REPEAT_PAD);
-MAKE_FETCHERS (none_x8r8g8b8, x8r8g8b8, PIXMAN_REPEAT_NONE);
-MAKE_FETCHERS (reflect_x8r8g8b8, x8r8g8b8, PIXMAN_REPEAT_REFLECT);
-MAKE_FETCHERS (normal_x8r8g8b8, x8r8g8b8, PIXMAN_REPEAT_NORMAL);
-MAKE_FETCHERS (pad_a8, a8, PIXMAN_REPEAT_PAD);
-MAKE_FETCHERS (none_a8, a8, PIXMAN_REPEAT_NONE);
-MAKE_FETCHERS (reflect_a8, a8, PIXMAN_REPEAT_REFLECT);
-MAKE_FETCHERS (normal_a8, a8, PIXMAN_REPEAT_NORMAL);
-MAKE_FETCHERS (pad_r5g6b5, r5g6b5, PIXMAN_REPEAT_PAD);
-MAKE_FETCHERS (none_r5g6b5, r5g6b5, PIXMAN_REPEAT_NONE);
-MAKE_FETCHERS (reflect_r5g6b5, r5g6b5, PIXMAN_REPEAT_REFLECT);
-MAKE_FETCHERS (normal_r5g6b5, r5g6b5, PIXMAN_REPEAT_NORMAL);
+ MAKE_NEAREST_FETCHER (name, format, repeat_mode) \
+ MAKE_BILINEAR_FETCHER (name, format, repeat_mode)
+
+MAKE_FETCHERS (pad_a8r8g8b8, a8r8g8b8, PIXMAN_REPEAT_PAD)
+MAKE_FETCHERS (none_a8r8g8b8, a8r8g8b8, PIXMAN_REPEAT_NONE)
+MAKE_FETCHERS (reflect_a8r8g8b8, a8r8g8b8, PIXMAN_REPEAT_REFLECT)
+MAKE_FETCHERS (normal_a8r8g8b8, a8r8g8b8, PIXMAN_REPEAT_NORMAL)
+MAKE_FETCHERS (pad_x8r8g8b8, x8r8g8b8, PIXMAN_REPEAT_PAD)
+MAKE_FETCHERS (none_x8r8g8b8, x8r8g8b8, PIXMAN_REPEAT_NONE)
+MAKE_FETCHERS (reflect_x8r8g8b8, x8r8g8b8, PIXMAN_REPEAT_REFLECT)
+MAKE_FETCHERS (normal_x8r8g8b8, x8r8g8b8, PIXMAN_REPEAT_NORMAL)
+MAKE_FETCHERS (pad_a8, a8, PIXMAN_REPEAT_PAD)
+MAKE_FETCHERS (none_a8, a8, PIXMAN_REPEAT_NONE)
+MAKE_FETCHERS (reflect_a8, a8, PIXMAN_REPEAT_REFLECT)
+MAKE_FETCHERS (normal_a8, a8, PIXMAN_REPEAT_NORMAL)
+MAKE_FETCHERS (pad_r5g6b5, r5g6b5, PIXMAN_REPEAT_PAD)
+MAKE_FETCHERS (none_r5g6b5, r5g6b5, PIXMAN_REPEAT_NONE)
+MAKE_FETCHERS (reflect_r5g6b5, r5g6b5, PIXMAN_REPEAT_REFLECT)
+MAKE_FETCHERS (normal_r5g6b5, r5g6b5, PIXMAN_REPEAT_NORMAL)
static void
bits_image_fetch_solid_32 (pixman_image_t * image,
diff --git a/pixman/pixman-fast-path.c b/pixman/pixman-fast-path.c
index 37dfbae..f103b4c 100644
--- a/pixman/pixman-fast-path.c
+++ b/pixman/pixman-fast-path.c
@@ -1391,23 +1391,23 @@ fast_composite_src_memcpy (pixman_implementation_t *imp,
}
}
-FAST_NEAREST (8888_8888_cover, 8888, 8888, uint32_t, uint32_t, SRC, COVER);
-FAST_NEAREST (8888_8888_none, 8888, 8888, uint32_t, uint32_t, SRC, NONE);
-FAST_NEAREST (8888_8888_pad, 8888, 8888, uint32_t, uint32_t, SRC, PAD);
-FAST_NEAREST (8888_8888_normal, 8888, 8888, uint32_t, uint32_t, SRC, NORMAL);
-FAST_NEAREST (8888_8888_cover, 8888, 8888, uint32_t, uint32_t, OVER, COVER);
-FAST_NEAREST (8888_8888_none, 8888, 8888, uint32_t, uint32_t, OVER, NONE);
-FAST_NEAREST (8888_8888_pad, 8888, 8888, uint32_t, uint32_t, OVER, PAD);
-FAST_NEAREST (8888_8888_normal, 8888, 8888, uint32_t, uint32_t, OVER, NORMAL);
-FAST_NEAREST (8888_565_cover, 8888, 0565, uint32_t, uint16_t, SRC, COVER);
-FAST_NEAREST (8888_565_none, 8888, 0565, uint32_t, uint16_t, SRC, NONE);
-FAST_NEAREST (8888_565_pad, 8888, 0565, uint32_t, uint16_t, SRC, PAD);
-FAST_NEAREST (8888_565_normal, 8888, 0565, uint32_t, uint16_t, SRC, NORMAL);
-FAST_NEAREST (565_565_normal, 0565, 0565, uint16_t, uint16_t, SRC, NORMAL);
-FAST_NEAREST (8888_565_cover, 8888, 0565, uint32_t, uint16_t, OVER, COVER);
-FAST_NEAREST (8888_565_none, 8888, 0565, uint32_t, uint16_t, OVER, NONE);
-FAST_NEAREST (8888_565_pad, 8888, 0565, uint32_t, uint16_t, OVER, PAD);
-FAST_NEAREST (8888_565_normal, 8888, 0565, uint32_t, uint16_t, OVER, NORMAL);
+FAST_NEAREST (8888_8888_cover, 8888, 8888, uint32_t, uint32_t, SRC, COVER)
+FAST_NEAREST (8888_8888_none, 8888, 8888, uint32_t, uint32_t, SRC, NONE)
+FAST_NEAREST (8888_8888_pad, 8888, 8888, uint32_t, uint32_t, SRC, PAD)
+FAST_NEAREST (8888_8888_normal, 8888, 8888, uint32_t, uint32_t, SRC, NORMAL)
+FAST_NEAREST (8888_8888_cover, 8888, 8888, uint32_t, uint32_t, OVER, COVER)
+FAST_NEAREST (8888_8888_none, 8888, 8888, uint32_t, uint32_t, OVER, NONE)
+FAST_NEAREST (8888_8888_pad, 8888, 8888, uint32_t, uint32_t, OVER, PAD)
+FAST_NEAREST (8888_8888_normal, 8888, 8888, uint32_t, uint32_t, OVER, NORMAL)
+FAST_NEAREST (8888_565_cover, 8888, 0565, uint32_t, uint16_t, SRC, COVER)
+FAST_NEAREST (8888_565_none, 8888, 0565, uint32_t, uint16_t, SRC, NONE)
+FAST_NEAREST (8888_565_pad, 8888, 0565, uint32_t, uint16_t, SRC, PAD)
+FAST_NEAREST (8888_565_normal, 8888, 0565, uint32_t, uint16_t, SRC, NORMAL)
+FAST_NEAREST (565_565_normal, 0565, 0565, uint16_t, uint16_t, SRC, NORMAL)
+FAST_NEAREST (8888_565_cover, 8888, 0565, uint32_t, uint16_t, OVER, COVER)
+FAST_NEAREST (8888_565_none, 8888, 0565, uint32_t, uint16_t, OVER, NONE)
+FAST_NEAREST (8888_565_pad, 8888, 0565, uint32_t, uint16_t, OVER, PAD)
+FAST_NEAREST (8888_565_normal, 8888, 0565, uint32_t, uint16_t, OVER, NORMAL)
/* Use more unrolling for src_0565_0565 because it is typically CPU bound */
static force_inline void
@@ -1449,13 +1449,13 @@ scaled_nearest_scanline_565_565_SRC (uint16_t * dst,
FAST_NEAREST_MAINLOOP (565_565_cover_SRC,
scaled_nearest_scanline_565_565_SRC,
- uint16_t, uint16_t, COVER);
+ uint16_t, uint16_t, COVER)
FAST_NEAREST_MAINLOOP (565_565_none_SRC,
scaled_nearest_scanline_565_565_SRC,
- uint16_t, uint16_t, NONE);
+ uint16_t, uint16_t, NONE)
FAST_NEAREST_MAINLOOP (565_565_pad_SRC,
scaled_nearest_scanline_565_565_SRC,
- uint16_t, uint16_t, PAD);
+ uint16_t, uint16_t, PAD)
static force_inline uint32_t
fetch_nearest (pixman_repeat_t src_repeat,
diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c
index 032f13b..94ba54c 100644
--- a/pixman/pixman-sse2.c
+++ b/pixman/pixman-sse2.c
@@ -5794,13 +5794,13 @@ scaled_nearest_scanline_sse2_8888_8888_OVER (uint32_t* pd,
FAST_NEAREST_MAINLOOP (sse2_8888_8888_cover_OVER,
scaled_nearest_scanline_sse2_8888_8888_OVER,
- uint32_t, uint32_t, COVER);
+ uint32_t, uint32_t, COVER)
FAST_NEAREST_MAINLOOP (sse2_8888_8888_none_OVER,
scaled_nearest_scanline_sse2_8888_8888_OVER,
- uint32_t, uint32_t, NONE);
+ uint32_t, uint32_t, NONE)
FAST_NEAREST_MAINLOOP (sse2_8888_8888_pad_OVER,
scaled_nearest_scanline_sse2_8888_8888_OVER,
- uint32_t, uint32_t, PAD);
+ uint32_t, uint32_t, PAD)
static const pixman_fast_path_t sse2_fast_paths[] =
{
commit c71e24c9fc312cf0b8ec56d2e657efe79d062d2f
Author: Siarhei Siamashka <siarhei.siamashka at nokia.com>
Date: Tue Jan 4 08:18:38 2011 +0200
Revert "Fix "syntax error: empty declaration" warnings."
This reverts commit b924bb1f8191cc7c386d8211d9822aeeaadcab44.
There is a better fix for these Solaris Studio warnings.
diff --git a/pixman/pixman-bits-image.c b/pixman/pixman-bits-image.c
index ff2dde3..1fdd742 100644
--- a/pixman/pixman-bits-image.c
+++ b/pixman/pixman-bits-image.c
@@ -1016,8 +1016,7 @@ convert_r5g6b5 (const uint8_t *row, int x)
convert_ ## format, \
PIXMAN_ ## format, \
repeat_mode); \
- } \
- extern int no_such_variable
+ }
#define MAKE_NEAREST_FETCHER(name, format, repeat_mode) \
static void \
@@ -1033,8 +1032,7 @@ convert_r5g6b5 (const uint8_t *row, int x)
convert_ ## format, \
PIXMAN_ ## format, \
repeat_mode); \
- } \
- extern int no_such_variable
+ }
#define MAKE_FETCHERS(name, format, repeat_mode) \
MAKE_NEAREST_FETCHER (name, format, repeat_mode); \
diff --git a/pixman/pixman-compiler.h b/pixman/pixman-compiler.h
index 0e08589..8f6c787 100644
--- a/pixman/pixman-compiler.h
+++ b/pixman/pixman-compiler.h
@@ -191,8 +191,7 @@
value = tls_ ## name ## _alloc (); \
} \
return value; \
- } \
- extern int no_such_variable
+ }
# define PIXMAN_GET_THREAD_LOCAL(name) \
tls_ ## name ## _get ()
diff --git a/pixman/pixman-fast-path.h b/pixman/pixman-fast-path.h
index 6fe448c..ed09ba5 100644
--- a/pixman/pixman-fast-path.h
+++ b/pixman/pixman-fast-path.h
@@ -381,9 +381,7 @@ fast_composite_scaled_nearest_ ## scale_func_name (pixman_implementation_t *imp,
OP, repeat_mode) \
FAST_NEAREST_MAINLOOP(scale_func_name##_##OP, \
scaled_nearest_scanline_ ## scale_func_name ## _ ## OP, \
- src_type_t, dst_type_t, repeat_mode) \
- \
- extern int no_such_variable
+ src_type_t, dst_type_t, repeat_mode)
#define SCALED_NEAREST_FLAGS \
More information about the xorg-commit
mailing list