xserver: Branch 'master' - 4 commits
Eric Anholt
anholt at kemper.freedesktop.org
Tue Jun 20 01:17:44 EEST 2006
exa/exa_migration.c | 2 +
fb/fbcompose.c | 20 ++++++------
fb/fbpict.c | 50 ++++++++++++++++++++++++++++++
render/picture.h | 84 ++++++++++++++++++++++++++--------------------------
render/picturestr.h | 2 -
5 files changed, 106 insertions(+), 52 deletions(-)
New commits:
diff-tree 55426650417df4ec22ea0e2a67f6074f0ac1d54e (from 520c80f4b807ae6419e70fe2b524532465b509ac)
Author: Eric Anholt <anholt at FreeBSD.org>
Date: Mon Jun 19 15:04:46 2006 -0700
Clean up gcc warnings from picture format CARD32 -> enum change.
diff --git a/fb/fbpict.c b/fb/fbpict.c
index f248fdb..55fb0a7 100644
--- a/fb/fbpict.c
+++ b/fb/fbpict.c
@@ -925,6 +925,8 @@ fbComposite (CARD8 op,
#endif
func = fbCompositeSolidMask_nx8x8888;
break;
+ default:
+ break;
}
break;
case PICT_a8r8g8b8:
@@ -947,6 +949,8 @@ fbComposite (CARD8 op,
#endif
func = fbCompositeSolidMask_nx8888x0565C;
break;
+ default:
+ break;
}
}
break;
@@ -970,6 +974,8 @@ fbComposite (CARD8 op,
#endif
func = fbCompositeSolidMask_nx8888x0565C;
break;
+ default:
+ break;
}
}
break;
@@ -985,9 +991,15 @@ fbComposite (CARD8 op,
case PICT_x8b8g8r8:
func = fbCompositeSolidMask_nx1xn;
break;
+ default:
+ break;
}
break;
+ default:
+ break;
}
+ default:
+ break;
}
}
else if (! srcRepeat) /* has mask and non-repeating source */
@@ -1016,8 +1028,12 @@ fbComposite (CARD8 op,
func = fbCompositeSrc_8888RevNPx0565mmx;
#endif
break;
+ default:
+ break;
}
break;
+ default:
+ break;
}
break;
case PICT_x8r8g8b8:
@@ -1038,10 +1054,16 @@ fbComposite (CARD8 op,
func = fbCompositeSrc_8888RevNPx0565mmx;
#endif
break;
+ default:
+ break;
}
break;
+ default:
+ break;
}
break;
+ default:
+ break;
}
break;
}
@@ -1094,8 +1116,12 @@ fbComposite (CARD8 op,
}
#endif
break;
+ default:
+ break;
}
break;
+ default:
+ break;
}
}
else if (! srcRepeat)
@@ -1118,6 +1144,8 @@ fbComposite (CARD8 op,
case PICT_r5g6b5:
func = fbCompositeSrc_8888x0565;
break;
+ default:
+ break;
}
break;
case PICT_x8r8g8b8:
@@ -1129,6 +1157,8 @@ fbComposite (CARD8 op,
func = fbCompositeCopyAreammx;
#endif
break;
+ default:
+ break;
}
case PICT_x8b8g8r8:
switch (pDst->format) {
@@ -1139,6 +1169,8 @@ fbComposite (CARD8 op,
func = fbCompositeCopyAreammx;
#endif
break;
+ default:
+ break;
}
break;
case PICT_a8b8g8r8:
@@ -1158,6 +1190,8 @@ fbComposite (CARD8 op,
case PICT_b5g6r5:
func = fbCompositeSrc_8888x0565;
break;
+ default:
+ break;
}
break;
case PICT_r5g6b5:
@@ -1165,6 +1199,8 @@ fbComposite (CARD8 op,
case PICT_r5g6b5:
func = fbCompositeSrc_0565x0565;
break;
+ default:
+ break;
}
break;
case PICT_b5g6r5:
@@ -1172,8 +1208,12 @@ fbComposite (CARD8 op,
case PICT_b5g6r5:
func = fbCompositeSrc_0565x0565;
break;
+ default:
+ break;
}
break;
+ default:
+ break;
}
}
}
@@ -1192,6 +1232,8 @@ fbComposite (CARD8 op,
#endif
func = fbCompositeSrcAdd_8888x8888;
break;
+ default:
+ break;
}
break;
case PICT_a8b8g8r8:
@@ -1204,6 +1246,8 @@ fbComposite (CARD8 op,
#endif
func = fbCompositeSrcAdd_8888x8888;
break;
+ default:
+ break;
}
break;
case PICT_a8:
@@ -1216,6 +1260,8 @@ fbComposite (CARD8 op,
#endif
func = fbCompositeSrcAdd_8000x8000;
break;
+ default:
+ break;
}
break;
case PICT_a1:
@@ -1223,8 +1269,12 @@ fbComposite (CARD8 op,
case PICT_a1:
func = fbCompositeSrcAdd_1000x1000;
break;
+ default:
+ break;
}
break;
+ default:
+ break;
}
}
break;
diff-tree 520c80f4b807ae6419e70fe2b524532465b509ac (from e793f0eeee3e9c83b6a7b50d451fb6db12839087)
Author: Eric Anholt <anholt at FreeBSD.org>
Date: Mon Jun 19 14:40:27 2006 -0700
Don't forget to step the rows when verifying the equivalence of fb/sys areas.
This is only used by fakexa, but we would have missed some errors without this
fix.
diff --git a/exa/exa_migration.c b/exa/exa_migration.c
index 57d651f..06a4b93 100644
--- a/exa/exa_migration.c
+++ b/exa/exa_migration.c
@@ -435,6 +435,8 @@ exaAssertNotDirty (PixmapPtr pPixmap)
if (memcmp(dst, src, data_row_bytes) != 0) {
abort();
}
+ dst += dst_pitch;
+ src += src_pitch;
}
exaFinishAccess(&pPixmap->drawable, EXA_PREPARE_SRC);
}
diff-tree e793f0eeee3e9c83b6a7b50d451fb6db12839087 (from e1672a12eb70836a2ceec803d505294897ae8cd2)
Author: Eric Anholt <anholt at FreeBSD.org>
Date: Mon Jun 19 14:06:02 2006 -0700
Correct component ordering when fetching [ax]4b4g4r4 pixels.
Noticed by: rendercheck
diff --git a/fb/fbcompose.c b/fb/fbcompose.c
index c4f979d..771245e 100644
--- a/fb/fbcompose.c
+++ b/fb/fbcompose.c
@@ -267,11 +267,11 @@ fbFetch_a4b4g4r4 (const FbBits *bits, in
CARD32 r,g,b, a;
a = ((p & 0xf000) | ((p & 0xf000) >> 4)) << 16;
- b = ((p & 0x0f00) | ((p & 0x0f00) >> 4)) << 12;
+ b = ((p & 0x0f00) | ((p & 0x0f00) >> 4)) >> 4;
g = ((p & 0x00f0) | ((p & 0x00f0) >> 4)) << 8;
- r = ((p & 0x000f) | ((p & 0x000f) << 4));
+ r = ((p & 0x000f) | ((p & 0x000f) << 4)) << 16;
*buffer++ = (a | r | g | b);
- }
+ }
}
static FASTCALL void
@@ -283,11 +283,11 @@ fbFetch_x4b4g4r4 (const FbBits *bits, in
CARD32 p = *pixel++;
CARD32 r,g,b;
- b = ((p & 0x0f00) | ((p & 0x0f00) >> 4)) << 12;
+ b = ((p & 0x0f00) | ((p & 0x0f00) >> 4)) >> 4;
g = ((p & 0x00f0) | ((p & 0x00f0) >> 4)) << 8;
- r = ((p & 0x000f) | ((p & 0x000f) << 4));
+ r = ((p & 0x000f) | ((p & 0x000f) << 4)) << 16;
*buffer++ = (0xff000000 | r | g | b);
- }
+ }
}
static FASTCALL void
@@ -758,9 +758,9 @@ fbFetchPixel_a4b4g4r4 (const FbBits *bit
CARD32 a,r,g,b;
a = ((pixel & 0xf000) | ((pixel & 0xf000) >> 4)) << 16;
- b = ((pixel & 0x0f00) | ((pixel & 0x0f00) >> 4)) << 12;
+ b = ((pixel & 0x0f00) | ((pixel & 0x0f00) >> 4)) >> 4;
g = ((pixel & 0x00f0) | ((pixel & 0x00f0) >> 4)) << 8;
- r = ((pixel & 0x000f) | ((pixel & 0x000f) << 4));
+ r = ((pixel & 0x000f) | ((pixel & 0x000f) << 4)) << 16;
return (a | r | g | b);
}
@@ -770,9 +770,9 @@ fbFetchPixel_x4b4g4r4 (const FbBits *bit
CARD32 pixel = ((CARD16 *) bits)[offset];
CARD32 r,g,b;
- b = ((pixel & 0x0f00) | ((pixel & 0x0f00) >> 4)) << 12;
+ b = ((pixel & 0x0f00) | ((pixel & 0x0f00) >> 4)) >> 4;
g = ((pixel & 0x00f0) | ((pixel & 0x00f0) >> 4)) << 8;
- r = ((pixel & 0x000f) | ((pixel & 0x000f) << 4));
+ r = ((pixel & 0x000f) | ((pixel & 0x000f) << 4)) << 16;
return (0xff000000 | r | g | b);
}
diff-tree e1672a12eb70836a2ceec803d505294897ae8cd2 (from 9742d55c820a260a42a4537502295931d4529deb)
Author: Eric Anholt <anholt at FreeBSD.org>
Date: Mon Jun 19 13:20:56 2006 -0700
Convert PICT_* names from #defines to an enum to aid in debugging.
diff --git a/render/picture.h b/render/picture.h
index 778eb5c..e7d86ac 100644
--- a/render/picture.h
+++ b/render/picture.h
@@ -68,61 +68,63 @@ typedef struct _Picture *PicturePtr;
#define PICT_FORMAT_COLOR(f) (PICT_FORMAT_TYPE(f) & 2)
/* 32bpp formats */
-#define PICT_a8r8g8b8 PICT_FORMAT(32,PICT_TYPE_ARGB,8,8,8,8)
-#define PICT_x8r8g8b8 PICT_FORMAT(32,PICT_TYPE_ARGB,0,8,8,8)
-#define PICT_a8b8g8r8 PICT_FORMAT(32,PICT_TYPE_ABGR,8,8,8,8)
-#define PICT_x8b8g8r8 PICT_FORMAT(32,PICT_TYPE_ABGR,0,8,8,8)
+typedef enum _PictFormatShort {
+ PICT_a8r8g8b8 = PICT_FORMAT(32,PICT_TYPE_ARGB,8,8,8,8),
+ PICT_x8r8g8b8 = PICT_FORMAT(32,PICT_TYPE_ARGB,0,8,8,8),
+ PICT_a8b8g8r8 = PICT_FORMAT(32,PICT_TYPE_ABGR,8,8,8,8),
+ PICT_x8b8g8r8 = PICT_FORMAT(32,PICT_TYPE_ABGR,0,8,8,8),
/* 24bpp formats */
-#define PICT_r8g8b8 PICT_FORMAT(24,PICT_TYPE_ARGB,0,8,8,8)
-#define PICT_b8g8r8 PICT_FORMAT(24,PICT_TYPE_ABGR,0,8,8,8)
+ PICT_r8g8b8 = PICT_FORMAT(24,PICT_TYPE_ARGB,0,8,8,8),
+ PICT_b8g8r8 = PICT_FORMAT(24,PICT_TYPE_ABGR,0,8,8,8),
/* 16bpp formats */
-#define PICT_r5g6b5 PICT_FORMAT(16,PICT_TYPE_ARGB,0,5,6,5)
-#define PICT_b5g6r5 PICT_FORMAT(16,PICT_TYPE_ABGR,0,5,6,5)
+ PICT_r5g6b5 = PICT_FORMAT(16,PICT_TYPE_ARGB,0,5,6,5),
+ PICT_b5g6r5 = PICT_FORMAT(16,PICT_TYPE_ABGR,0,5,6,5),
-#define PICT_a1r5g5b5 PICT_FORMAT(16,PICT_TYPE_ARGB,1,5,5,5)
-#define PICT_x1r5g5b5 PICT_FORMAT(16,PICT_TYPE_ARGB,0,5,5,5)
-#define PICT_a1b5g5r5 PICT_FORMAT(16,PICT_TYPE_ABGR,1,5,5,5)
-#define PICT_x1b5g5r5 PICT_FORMAT(16,PICT_TYPE_ABGR,0,5,5,5)
-#define PICT_a4r4g4b4 PICT_FORMAT(16,PICT_TYPE_ARGB,4,4,4,4)
-#define PICT_x4r4g4b4 PICT_FORMAT(16,PICT_TYPE_ARGB,0,4,4,4)
-#define PICT_a4b4g4r4 PICT_FORMAT(16,PICT_TYPE_ABGR,4,4,4,4)
-#define PICT_x4b4g4r4 PICT_FORMAT(16,PICT_TYPE_ABGR,0,4,4,4)
+ PICT_a1r5g5b5 = PICT_FORMAT(16,PICT_TYPE_ARGB,1,5,5,5),
+ PICT_x1r5g5b5 = PICT_FORMAT(16,PICT_TYPE_ARGB,0,5,5,5),
+ PICT_a1b5g5r5 = PICT_FORMAT(16,PICT_TYPE_ABGR,1,5,5,5),
+ PICT_x1b5g5r5 = PICT_FORMAT(16,PICT_TYPE_ABGR,0,5,5,5),
+ PICT_a4r4g4b4 = PICT_FORMAT(16,PICT_TYPE_ARGB,4,4,4,4),
+ PICT_x4r4g4b4 = PICT_FORMAT(16,PICT_TYPE_ARGB,0,4,4,4),
+ PICT_a4b4g4r4 = PICT_FORMAT(16,PICT_TYPE_ABGR,4,4,4,4),
+ PICT_x4b4g4r4 = PICT_FORMAT(16,PICT_TYPE_ABGR,0,4,4,4),
/* 8bpp formats */
-#define PICT_a8 PICT_FORMAT(8,PICT_TYPE_A,8,0,0,0)
-#define PICT_r3g3b2 PICT_FORMAT(8,PICT_TYPE_ARGB,0,3,3,2)
-#define PICT_b2g3r3 PICT_FORMAT(8,PICT_TYPE_ABGR,0,3,3,2)
-#define PICT_a2r2g2b2 PICT_FORMAT(8,PICT_TYPE_ARGB,2,2,2,2)
-#define PICT_a2b2g2r2 PICT_FORMAT(8,PICT_TYPE_ABGR,2,2,2,2)
-
-#define PICT_c8 PICT_FORMAT(8,PICT_TYPE_COLOR,0,0,0,0)
-#define PICT_g8 PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0)
-
-#define PICT_x4a4 PICT_FORMAT(8,PICT_TYPE_A,4,0,0,0)
-#define PICT_x4r1g2b1 PICT_FORMAT(8,PICT_TYPE_ARGB,0,1,2,1)
-#define PICT_x4b1g2r1 PICT_FORMAT(8,PICT_TYPE_ABGR,0,1,2,1)
-#define PICT_x4a1r1g1b1 PICT_FORMAT(8,PICT_TYPE_ARGB,1,1,1,1)
-#define PICT_x4a1b1g1r1 PICT_FORMAT(8,PICT_TYPE_ABGR,1,1,1,1)
+ PICT_a8 = PICT_FORMAT(8,PICT_TYPE_A,8,0,0,0),
+ PICT_r3g3b2 = PICT_FORMAT(8,PICT_TYPE_ARGB,0,3,3,2),
+ PICT_b2g3r3 = PICT_FORMAT(8,PICT_TYPE_ABGR,0,3,3,2),
+ PICT_a2r2g2b2 = PICT_FORMAT(8,PICT_TYPE_ARGB,2,2,2,2),
+ PICT_a2b2g2r2 = PICT_FORMAT(8,PICT_TYPE_ABGR,2,2,2,2),
+
+ PICT_c8 = PICT_FORMAT(8,PICT_TYPE_COLOR,0,0,0,0),
+ PICT_g8 = PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0),
+
+ PICT_x4a4 = PICT_FORMAT(8,PICT_TYPE_A,4,0,0,0),
+ PICT_x4r1g2b1 = PICT_FORMAT(8,PICT_TYPE_ARGB,0,1,2,1),
+ PICT_x4b1g2r1 = PICT_FORMAT(8,PICT_TYPE_ABGR,0,1,2,1),
+ PICT_x4a1r1g1b1 = PICT_FORMAT(8,PICT_TYPE_ARGB,1,1,1,1),
+ PICT_x4a1b1g1r1 = PICT_FORMAT(8,PICT_TYPE_ABGR,1,1,1,1),
-#define PICT_x4c4 PICT_FORMAT(8,PICT_TYPE_COLOR,0,0,0,0)
-#define PICT_x4g4 PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0)
+ PICT_x4c4 = PICT_FORMAT(8,PICT_TYPE_COLOR,0,0,0,0),
+ PICT_x4g4 = PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0),
/* 4bpp formats */
-#define PICT_a4 PICT_FORMAT(4,PICT_TYPE_A,4,0,0,0)
-#define PICT_r1g2b1 PICT_FORMAT(4,PICT_TYPE_ARGB,0,1,2,1)
-#define PICT_b1g2r1 PICT_FORMAT(4,PICT_TYPE_ABGR,0,1,2,1)
-#define PICT_a1r1g1b1 PICT_FORMAT(4,PICT_TYPE_ARGB,1,1,1,1)
-#define PICT_a1b1g1r1 PICT_FORMAT(4,PICT_TYPE_ABGR,1,1,1,1)
+ PICT_a4 = PICT_FORMAT(4,PICT_TYPE_A,4,0,0,0),
+ PICT_r1g2b1 = PICT_FORMAT(4,PICT_TYPE_ARGB,0,1,2,1),
+ PICT_b1g2r1 = PICT_FORMAT(4,PICT_TYPE_ABGR,0,1,2,1),
+ PICT_a1r1g1b1 = PICT_FORMAT(4,PICT_TYPE_ARGB,1,1,1,1),
+ PICT_a1b1g1r1 = PICT_FORMAT(4,PICT_TYPE_ABGR,1,1,1,1),
-#define PICT_c4 PICT_FORMAT(4,PICT_TYPE_COLOR,0,0,0,0)
-#define PICT_g4 PICT_FORMAT(4,PICT_TYPE_GRAY,0,0,0,0)
+ PICT_c4 = PICT_FORMAT(4,PICT_TYPE_COLOR,0,0,0,0),
+ PICT_g4 = PICT_FORMAT(4,PICT_TYPE_GRAY,0,0,0,0),
/* 1bpp formats */
-#define PICT_a1 PICT_FORMAT(1,PICT_TYPE_A,1,0,0,0)
+ PICT_a1 = PICT_FORMAT(1,PICT_TYPE_A,1,0,0,0),
-#define PICT_g1 PICT_FORMAT(1,PICT_TYPE_GRAY,0,0,0,0)
+ PICT_g1 = PICT_FORMAT(1,PICT_TYPE_GRAY,0,0,0,0),
+} PictFormatShort;
/*
* For dynamic indexed visuals (GrayScale and PseudoColor), these control the
diff --git a/render/picturestr.h b/render/picturestr.h
index e81d769..1ea9120 100644
--- a/render/picturestr.h
+++ b/render/picturestr.h
@@ -129,7 +129,7 @@ typedef union _SourcePict {
typedef struct _Picture {
DrawablePtr pDrawable;
PictFormatPtr pFormat;
- CARD32 format; /* PICT_FORMAT */
+ PictFormatShort format; /* PICT_FORMAT */
int refcnt;
CARD32 id;
PicturePtr pNext; /* chain on same drawable */
More information about the xorg-commit
mailing list