Don't treat PIXMAN_TYPE_YUY2 and PIXMAN_TYPE_YV12 as PIXMAN_FORMAT_COLOR.
authorAaron Plattner <aplattner@nvidia.com>
Wed, 17 Dec 2008 18:35:03 +0000 (10:35 -0800)
committerAaron Plattner <aplattner@nvidia.com>
Wed, 17 Dec 2008 18:38:12 +0000 (10:38 -0800)
Various pieces of code expect PIXMAN_FORMAT_COLOR (and its less cool older
brother, PICT_FORMAT_COLOR) formats to have ARGB bits, and the YUV formats do
not.

pixman/pixman.h

index 6c523f2..49c39d5 100644 (file)
@@ -648,7 +648,9 @@ struct pixman_indexed
 #define PIXMAN_TYPE_YUY2       6
 #define PIXMAN_TYPE_YV12       7
 
-#define PIXMAN_FORMAT_COLOR(f) (PIXMAN_FORMAT_TYPE(f) & 2)
+#define PIXMAN_FORMAT_COLOR(f)                         \
+       (PIXMAN_FORMAT_TYPE(f) == PIXMAN_TYPE_ARGB ||   \
+        PIXMAN_FORMAT_TYPE(f) == PIXMAN_TYPE_ABGR)
 
 /* 32bpp formats */
 typedef enum {