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