[RFC PATCH] XAA: Remove pluggable GC validation.

Jamey Sharp jamey at minilop.net
Tue Jul 6 09:56:51 PDT 2010


It's been almost entirely unused and interferes with streamlining ops
selection throughout the rest of the server.

Signed-off-by: Jamey Sharp <jamey at minilop.net>
---
Does any driver using XAA really need to hook ValidateGC in this manner?
I found three open-source drivers that I guess won't be able to
accelerate PolyPoint or PolyArc without custom validators (mga_storm,
newport, and riva_xaa) but surely people aren't using those drivers for
performance-critical point or arc rendering tasks...?

This patch is part of a long series-in-progress, available here:
	http://cgit.freedesktop.org/~jamey/xserver/log/?h=ops-rework
I'm trying to reduce GC structures to only protocol-visible data plus
privates, following a plan keithp suggested a few weeks ago. That plan
has basically three goals:
 - use callback chains where possible (e.g. resource destruction);
 - replace the remaining wrappers with explicit linked lists;
 - and move all GC-related function hooks from GC to ScreenRec.
That requires not using ValidateGC to select GC ops.

This is a bit of yak-shaving in service of eliminating the PanoramiXRes
structure and its MAXSCREENS-sized array, along with most of the code
currently required for Xinerama support.

There are 10 XAA patches in that branch, but this is the only one with
an ABI break that I think anybody could possibly care about. Testing
welcome at any time, but I have a fair bit of work left to do here.

This patch applies cleanly on current git master if you'd like to just
compile-test your drivers against it.

 hw/xfree86/xaa/xaa.h            |   49 --------
 hw/xfree86/xaa/xaaGC.c          |  189 +++++++++++++++++++++++--------
 hw/xfree86/xaa/xaaInitAccel.c   |  142 -----------------------
 hw/xfree86/xaa/xaaStateChange.c |  239 ---------------------------------------
 4 files changed, 140 insertions(+), 479 deletions(-)

diff --git a/hw/xfree86/xaa/xaa.h b/hw/xfree86/xaa/xaa.h
index 2af954f..9f512dc 100644
--- a/hw/xfree86/xaa/xaa.h
+++ b/hw/xfree86/xaa/xaa.h
@@ -205,12 +205,6 @@
 
 #define XAA_RENDER_REPEAT		0x00000001
 
-typedef void (* ValidateGCProcPtr)(
-   GCPtr         pGC,
-   unsigned long changes,
-   DrawablePtr   pDraw
-);
-
 typedef struct {
     unsigned char *bits;
     int width;
@@ -1087,49 +1081,6 @@ typedef struct _XAAInfoRec {
    );
    int PutImageFlags;
    
-   /* Validation masks */
-
-   unsigned long FillSpansMask;
-   ValidateGCProcPtr ValidateFillSpans;
-   unsigned long SetSpansMask;
-   ValidateGCProcPtr ValidateSetSpans;
-   unsigned long PutImageMask;
-   ValidateGCProcPtr ValidatePutImage;
-   unsigned long CopyAreaMask;
-   ValidateGCProcPtr ValidateCopyArea;
-   unsigned long CopyPlaneMask;
-   ValidateGCProcPtr ValidateCopyPlane;
-   unsigned long PolyPointMask;
-   ValidateGCProcPtr ValidatePolyPoint;
-   unsigned long PolylinesMask;
-   ValidateGCProcPtr ValidatePolylines;
-   unsigned long PolySegmentMask;
-   ValidateGCProcPtr ValidatePolySegment;
-   unsigned long PolyRectangleMask;
-   ValidateGCProcPtr ValidatePolyRectangle;
-   unsigned long PolyArcMask;
-   ValidateGCProcPtr ValidatePolyArc;
-   unsigned long FillPolygonMask;
-   ValidateGCProcPtr ValidateFillPolygon;
-   unsigned long PolyFillRectMask;
-   ValidateGCProcPtr ValidatePolyFillRect;
-   unsigned long PolyFillArcMask;
-   ValidateGCProcPtr ValidatePolyFillArc;
-   unsigned long PolyText8Mask;
-   ValidateGCProcPtr ValidatePolyText8;
-   unsigned long PolyText16Mask;
-   ValidateGCProcPtr ValidatePolyText16;
-   unsigned long ImageText8Mask;
-   ValidateGCProcPtr ValidateImageText8;
-   unsigned long ImageText16Mask;
-   ValidateGCProcPtr ValidateImageText16;
-   unsigned long PolyGlyphBltMask;
-   ValidateGCProcPtr ValidatePolyGlyphBlt;
-   unsigned long ImageGlyphBltMask;
-   ValidateGCProcPtr ValidateImageGlyphBlt;
-   unsigned long PushPixelsMask;
-   ValidateGCProcPtr ValidatePushPixels;
-
    void (*ComputeDash)(GCPtr pGC);
 
    /* Pixmap Cache */
diff --git a/hw/xfree86/xaa/xaaGC.c b/hw/xfree86/xaa/xaaGC.c
index 80ec335..563f0f9 100644
--- a/hw/xfree86/xaa/xaaGC.c
+++ b/hw/xfree86/xaa/xaaGC.c
@@ -171,65 +171,156 @@ XAAValidateGC(
     if((changes & GCDashList) && infoRec->ComputeDash)
 	infoRec->ComputeDash(pGC);
 
-    if(changes & infoRec->FillSpansMask)
-	(*infoRec->ValidateFillSpans)(pGC, changes, pDraw); 	
-
-    if(changes & infoRec->SetSpansMask)
-	(*infoRec->ValidateSetSpans)(pGC, changes, pDraw); 	
+    /* By default XAA assumes the FillSpans, PolyFillRects, FillPolygon
+	and PolyFillArcs have the same restrictions.  If you supply GC
+	level replacements for any of these and alter this relationship
+	you may need to supply replacement validation routines */
+
+    if(infoRec->FillSpansSolid || infoRec->FillSpansStippled ||
+	infoRec->FillSpansOpaqueStippled || infoRec->FillSpansTiled) {
+
+        int compositeFlags = 	infoRec->FillSpansSolidFlags |
+				infoRec->FillSpansStippledFlags |
+				infoRec->FillSpansOpaqueStippledFlags |
+				infoRec->FillSpansTiledFlags;
+
+	unsigned long FillSpansMask = GCFillStyle | GCTile | GCStipple;
+
+	if((compositeFlags & GXCOPY_ONLY) ||
+		(compositeFlags & ROP_NEEDS_SOURCE))
+	    FillSpansMask |= GCFunction;
+	if(compositeFlags & NO_PLANEMASK)
+	    FillSpansMask |= GCPlaneMask;
+	if(compositeFlags & RGB_EQUAL)
+	    FillSpansMask |= GCForeground;
+
+	if(changes & FillSpansMask)
+	    XAAValidateFillSpans(pGC, changes, pDraw);
+
+	/* By default XAA only provides a Validation function for the
+	    Polylines and does segments and polylines at the same time */
+
+	{
+	    int compositeFlags = 	infoRec->PolyRectangleThinSolidFlags |
+					infoRec->PolylinesWideSolidFlags |
+					infoRec->PolylinesThinSolidFlags |
+					infoRec->PolySegmentThinSolidFlags |
+					infoRec->PolySegmentThinDashedFlags |
+					infoRec->PolylinesThinDashedFlags;
+
+	    unsigned long PolylinesMask =
+		    FillSpansMask | GCLineStyle | GCLineWidth;
+
+	    if(infoRec->PolySegmentThinDashed || infoRec->PolylinesThinDashed)
+		PolylinesMask |= GCDashList;
+	    if(compositeFlags & NO_PLANEMASK)
+		PolylinesMask |= GCPlaneMask;
+	    if((compositeFlags & GXCOPY_ONLY) ||
+		    (compositeFlags & ROP_NEEDS_SOURCE))
+		PolylinesMask |= GCFunction;
+	    if(compositeFlags & RGB_EQUAL)
+		PolylinesMask |= GCForeground;
+
+	    if(changes & PolylinesMask)
+		XAAValidatePolylines(pGC, changes, pDraw);
+	}
+    }
 
-    if(changes & infoRec->PutImageMask)
-	(*infoRec->ValidatePutImage)(pGC, changes, pDraw); 	
+    if(infoRec->PutImage) {
+	unsigned long PutImageMask = GCWhenForced;
+	if((infoRec->PutImageFlags & GXCOPY_ONLY) ||
+		(infoRec->PutImageFlags & ROP_NEEDS_SOURCE))
+	    PutImageMask |= GCFunction;
+	if(infoRec->PutImageFlags & NO_PLANEMASK)
+	    PutImageMask |= GCPlaneMask;
+	if(infoRec->PutImageFlags & RGB_EQUAL)
+	    PutImageMask |= GCForeground | GCBackground;
+
+	if(changes & PutImageMask)
+	    XAAValidatePutImage(pGC, changes, pDraw);
+    }
 
-    if(changes & infoRec->CopyAreaMask)
-	(*infoRec->ValidateCopyArea)(pGC, changes, pDraw); 	
+    if(infoRec->CopyArea) {
+	unsigned long CopyAreaMask = GCWhenForced;
+	if((infoRec->CopyAreaFlags & GXCOPY_ONLY) ||
+		(infoRec->CopyAreaFlags & ROP_NEEDS_SOURCE))
+	    CopyAreaMask |= GCFunction;
+	if(infoRec->CopyAreaFlags & NO_PLANEMASK)
+	    CopyAreaMask |= GCPlaneMask;
 
-    if(changes & infoRec->CopyPlaneMask)
-	(*infoRec->ValidateCopyPlane)(pGC, changes, pDraw); 	
+	if(changes & CopyAreaMask)
+	    XAAValidateCopyArea(pGC, changes, pDraw);
+    }
 
-    if(changes & infoRec->PolyPointMask)
-	(*infoRec->ValidatePolyPoint)(pGC, changes, pDraw); 	
+    if(infoRec->CopyPlane) {
+	unsigned long CopyPlaneMask = GCWhenForced;
+	if((infoRec->CopyPlaneFlags & GXCOPY_ONLY) ||
+		(infoRec->CopyPlaneFlags & ROP_NEEDS_SOURCE))
+	    CopyPlaneMask |= GCFunction;
+	if(infoRec->CopyPlaneFlags & NO_PLANEMASK)
+	    CopyPlaneMask |= GCPlaneMask;
+	if(infoRec->CopyPlaneFlags & RGB_EQUAL)
+	    CopyPlaneMask |= GCForeground | GCBackground;
+
+	if(changes & CopyPlaneMask)
+	    XAAValidateCopyPlane(pGC, changes, pDraw);
+    }
 
-    if(changes & infoRec->PolylinesMask)
-	(*infoRec->ValidatePolylines)(pGC, changes, pDraw); 	
+    /* By default XAA only provides Validations for the GlyphBlt
+	functions and not the text higher up. This is because the
+	Text8/16 and GlyphBlt are linked.  If you break this linkage,
+	you may need to have the driver supply its own Validation
+	routines */
+
+    if(infoRec->PolyGlyphBltTE || infoRec->PolyGlyphBltNonTE) {
+        int compositeFlags = 	infoRec->PolyGlyphBltTEFlags |
+				infoRec->PolyGlyphBltNonTEFlags;
+
+	unsigned long PolyGlyphBltMask = GCFillStyle | GCFont;
+	if((compositeFlags & GXCOPY_ONLY) ||
+		(compositeFlags & ROP_NEEDS_SOURCE) ||
+		(infoRec->PolyGlyphBltNonTEFlags & TRANSPARENCY_GXCOPY_ONLY))
+	    PolyGlyphBltMask |= GCFunction;
+	if(compositeFlags & NO_PLANEMASK)
+	    PolyGlyphBltMask |= GCPlaneMask;
+	if(compositeFlags & RGB_EQUAL)
+	    PolyGlyphBltMask |= GCForeground;
+
+	if(changes & PolyGlyphBltMask)
+	    XAAValidatePolyGlyphBlt(pGC, changes, pDraw);
+    }
 
-    if(changes & infoRec->PolySegmentMask)
-	(*infoRec->ValidatePolySegment)(pGC, changes, pDraw); 	
+    if(infoRec->ImageGlyphBltTE || infoRec->ImageGlyphBltNonTE) {
+        int compositeFlags =	infoRec->ImageGlyphBltTEFlags |
+				infoRec->ImageGlyphBltNonTEFlags;
+	unsigned long ImageGlyphBltMask = GCFont;
 
-    if(changes & infoRec->PolyRectangleMask)
-	(*infoRec->ValidatePolyRectangle)(pGC, changes, pDraw); 	
+        if(infoRec->ImageGlyphBltNonTE)
+	    compositeFlags |= infoRec->SolidFillFlags;
 
-    if(changes & infoRec->PolyArcMask)
-	(*infoRec->ValidatePolyArc)(pGC, changes, pDraw); 	
+	if(compositeFlags & NO_PLANEMASK)
+	    ImageGlyphBltMask |= GCPlaneMask;
+	if(compositeFlags & RGB_EQUAL)
+	    ImageGlyphBltMask |= GCForeground | GCBackground;
 
-    if(changes & infoRec->FillPolygonMask)
-	(*infoRec->ValidateFillPolygon)(pGC, changes, pDraw); 	
+	if(changes & ImageGlyphBltMask)
+	    XAAValidateImageGlyphBlt(pGC, changes, pDraw);
+    }
 
-    if(changes & infoRec->PolyFillRectMask)
-	(*infoRec->ValidatePolyFillRect)(pGC, changes, pDraw); 	
- 
-    if(changes & infoRec->PolyFillArcMask)
-	(*infoRec->ValidatePolyFillArc)(pGC, changes, pDraw); 	
-
-    if(changes & infoRec->PolyGlyphBltMask)
-	(*infoRec->ValidatePolyGlyphBlt)(pGC, changes, pDraw);
-
-    if(changes & infoRec->ImageGlyphBltMask)
-	(*infoRec->ValidateImageGlyphBlt)(pGC, changes, pDraw);
-
-    if(changes & infoRec->PolyText8Mask)
-	(*infoRec->ValidatePolyText8)(pGC, changes, pDraw);
-    
-    if(changes & infoRec->PolyText16Mask)
-	(*infoRec->ValidatePolyText16)(pGC, changes, pDraw);
-
-    if(changes & infoRec->ImageText8Mask)
-	(*infoRec->ValidateImageText8)(pGC, changes, pDraw);
-    
-    if(changes & infoRec->ImageText16Mask)
-	(*infoRec->ValidateImageText16)(pGC, changes, pDraw);
- 
-    if(changes & infoRec->PushPixelsMask) 
-	(*infoRec->ValidatePushPixels)(pGC, changes, pDraw); 	
+    if(infoRec->PushPixelsSolid) {
+	unsigned long PushPixelsMask = GCFillStyle;
+	if((infoRec->PushPixelsFlags & GXCOPY_ONLY) ||
+		(infoRec->PushPixelsFlags & ROP_NEEDS_SOURCE) ||
+		(infoRec->PushPixelsFlags & TRANSPARENCY_GXCOPY_ONLY))
+	    PushPixelsMask |= GCFunction;
+	if(infoRec->PushPixelsFlags & NO_PLANEMASK)
+	    PushPixelsMask |= GCPlaneMask;
+	if(infoRec->PushPixelsFlags & RGB_EQUAL)
+	    PushPixelsMask |= GCForeground;
+
+	if(changes & PushPixelsMask)
+	    XAAValidatePushPixels(pGC, changes, pDraw);
+    }
 }
 
 
diff --git a/hw/xfree86/xaa/xaaInitAccel.c b/hw/xfree86/xaa/xaaInitAccel.c
index 2f40c81..7279f7f 100644
--- a/hw/xfree86/xaa/xaaInitAccel.c
+++ b/hw/xfree86/xaa/xaaInitAccel.c
@@ -1271,148 +1271,6 @@ XAAInitAccel(ScreenPtr pScreen, XAAInfoRecPtr infoRec)
         }	
     }
 
-    /************  Validation Functions **************/
-
-    if(!infoRec->ValidateCopyArea && infoRec->CopyArea) {
-	infoRec->CopyAreaMask = GCWhenForced;
-	if((infoRec->CopyAreaFlags & GXCOPY_ONLY) ||
-		(infoRec->CopyAreaFlags & ROP_NEEDS_SOURCE))
-	    infoRec->CopyAreaMask |= GCFunction;
-	if(infoRec->CopyAreaFlags & NO_PLANEMASK)
-	    infoRec->CopyAreaMask |= GCPlaneMask;
-	infoRec->ValidateCopyArea = XAAValidateCopyArea;
-    }
-
-    if(!infoRec->ValidateCopyPlane && infoRec->CopyPlane) {
-	infoRec->CopyPlaneMask = GCWhenForced;
-	if((infoRec->CopyPlaneFlags & GXCOPY_ONLY) ||
-		(infoRec->CopyPlaneFlags & ROP_NEEDS_SOURCE))
-	    infoRec->CopyPlaneMask |= GCFunction;
-	if(infoRec->CopyPlaneFlags & NO_PLANEMASK)
-	    infoRec->CopyPlaneMask |= GCPlaneMask;
-	if(infoRec->CopyPlaneFlags & RGB_EQUAL)
-	    infoRec->CopyPlaneMask |= GCForeground | GCBackground;
-	infoRec->ValidateCopyPlane = XAAValidateCopyPlane;
-    }
-
-    if(!infoRec->ValidatePutImage && infoRec->PutImage) {
-	infoRec->PutImageMask = GCWhenForced;
-	if((infoRec->PutImageFlags & GXCOPY_ONLY) ||
-		(infoRec->PutImageFlags & ROP_NEEDS_SOURCE))
-	    infoRec->PutImageMask |= GCFunction;
-	if(infoRec->PutImageFlags & NO_PLANEMASK)
-	    infoRec->PutImageMask |= GCPlaneMask;
-	if(infoRec->PutImageFlags & RGB_EQUAL)
-	    infoRec->PutImageMask |= GCForeground | GCBackground;
-	infoRec->ValidatePutImage = XAAValidatePutImage;
-    }
-
-
-    if(!infoRec->ValidatePushPixels && infoRec->PushPixelsSolid) {
-	infoRec->PushPixelsMask = GCFillStyle;
-	if((infoRec->PushPixelsFlags & GXCOPY_ONLY) ||
-		(infoRec->PushPixelsFlags & ROP_NEEDS_SOURCE) ||
-		(infoRec->PushPixelsFlags & TRANSPARENCY_GXCOPY_ONLY))
-	    infoRec->PushPixelsMask |= GCFunction;
-	if(infoRec->PushPixelsFlags & NO_PLANEMASK)
-	    infoRec->PushPixelsMask |= GCPlaneMask;
-	if(infoRec->PushPixelsFlags & RGB_EQUAL)
-	    infoRec->PushPixelsMask |= GCForeground;
-	infoRec->ValidatePushPixels = XAAValidatePushPixels;
-    } 
-
-    /* By default XAA assumes the FillSpans, PolyFillRects, FillPolygon
-	and PolyFillArcs have the same restrictions.  If you supply GC 
-	level replacements for any of these and alter this relationship 
-	you may need to supply replacement validation routines */
-
-    if(!infoRec->ValidateFillSpans && 
-	(infoRec->FillSpansSolid || infoRec->FillSpansStippled ||
-	infoRec->FillSpansOpaqueStippled || infoRec->FillSpansTiled)) {
-
-        int compositeFlags = 	infoRec->FillSpansSolidFlags |
-				infoRec->FillSpansStippledFlags |
-				infoRec->FillSpansOpaqueStippledFlags |
-				infoRec->FillSpansTiledFlags;
-
-	infoRec->FillSpansMask = GCFillStyle | GCTile | GCStipple;
-
-	if((compositeFlags & GXCOPY_ONLY) ||
-		(compositeFlags & ROP_NEEDS_SOURCE))
-	    infoRec->FillSpansMask |= GCFunction;
-	if(compositeFlags & NO_PLANEMASK)
-	    infoRec->FillSpansMask |= GCPlaneMask;
-	if(compositeFlags & RGB_EQUAL)
-	    infoRec->FillSpansMask |= GCForeground;
-	infoRec->ValidateFillSpans = XAAValidateFillSpans;
-    }
-
-    /* By default XAA only provides Validations for the GlyphBlt
-	functions and not the text higher up. This is because the
-	Text8/16 and GlyphBlt are linked.  If you break this linkage,
-	you may need to have the driver supply its own Validation
-	routines */
- 
-    if(!infoRec->ValidatePolyGlyphBlt && 
-	(infoRec->PolyGlyphBltTE || infoRec->PolyGlyphBltNonTE)) {
-        int compositeFlags = 	infoRec->PolyGlyphBltTEFlags |
-				infoRec->PolyGlyphBltNonTEFlags;
- 
-	infoRec->PolyGlyphBltMask = GCFillStyle | GCFont;
-	if((compositeFlags & GXCOPY_ONLY) ||
-		(compositeFlags & ROP_NEEDS_SOURCE) ||
-		(infoRec->PolyGlyphBltNonTEFlags & TRANSPARENCY_GXCOPY_ONLY))
-	    infoRec->PolyGlyphBltMask |= GCFunction;
-	if(compositeFlags & NO_PLANEMASK)
-	    infoRec->PolyGlyphBltMask |= GCPlaneMask;
-	if(compositeFlags & RGB_EQUAL)
-	    infoRec->PolyGlyphBltMask |= GCForeground;
-	infoRec->ValidatePolyGlyphBlt = XAAValidatePolyGlyphBlt;
-    }
-
-    if(!infoRec->ValidateImageGlyphBlt && 
-	(infoRec->ImageGlyphBltTE || infoRec->ImageGlyphBltNonTE)) {
-        int compositeFlags = 	infoRec->ImageGlyphBltTEFlags |	
-				infoRec->ImageGlyphBltNonTEFlags;
-
-        if(infoRec->ImageGlyphBltNonTE)
-	    compositeFlags |= infoRec->SolidFillFlags;
-
-	infoRec->ImageGlyphBltMask = GCFont;
-	if(compositeFlags & NO_PLANEMASK)
-	    infoRec->ImageGlyphBltMask |= GCPlaneMask;
-	if(compositeFlags & RGB_EQUAL)
-	    infoRec->ImageGlyphBltMask |= GCForeground | GCBackground;
-	infoRec->ValidateImageGlyphBlt = XAAValidateImageGlyphBlt;
-    }
-
-    /* By default XAA only provides a Validation function for the 
-	Polylines and does segments and polylines at the same time */
-
-    if(!infoRec->ValidatePolylines && infoRec->ValidateFillSpans) {
-	int compositeFlags = 	infoRec->PolyRectangleThinSolidFlags |
-				infoRec->PolylinesWideSolidFlags |
-				infoRec->PolylinesThinSolidFlags |
-				infoRec->PolySegmentThinSolidFlags |
-				infoRec->PolySegmentThinDashedFlags |
-				infoRec->PolylinesThinDashedFlags;
-
-	infoRec->ValidatePolylines = XAAValidatePolylines;
-	infoRec->PolylinesMask = 
-		infoRec->FillSpansMask | GCLineStyle | GCLineWidth;
-
-	if(infoRec->PolySegmentThinDashed || infoRec->PolylinesThinDashed) 
-	    infoRec->PolylinesMask |= GCDashList;
-	if(compositeFlags & NO_PLANEMASK)
-	    infoRec->PolylinesMask |= GCPlaneMask;
-	if((compositeFlags & GXCOPY_ONLY) ||
-		(compositeFlags & ROP_NEEDS_SOURCE))
-	    infoRec->PolylinesMask |= GCFunction;
-	if(compositeFlags & RGB_EQUAL)
-	    infoRec->PolylinesMask |= GCForeground;
-    }
-
-
     /**** Fill choosers ****/
 
     if(!infoRec->StippledFillChooser)
diff --git a/hw/xfree86/xaa/xaaStateChange.c b/hw/xfree86/xaa/xaaStateChange.c
index 189441d..3090458 100644
--- a/hw/xfree86/xaa/xaaStateChange.c
+++ b/hw/xfree86/xaa/xaaStateChange.c
@@ -213,26 +213,6 @@ typedef struct _XAAStateWrapRec {
 			    xArc *parcs);
    void (*PutImage)(DrawablePtr pDraw, GCPtr pGC, int depth, int x, int y, 
 		    int w, int h, int leftPad, int format, char *pImage);
-   ValidateGCProcPtr ValidateFillSpans;
-   ValidateGCProcPtr ValidateSetSpans;
-   ValidateGCProcPtr ValidatePutImage;
-   ValidateGCProcPtr ValidateCopyArea;
-   ValidateGCProcPtr ValidateCopyPlane;
-   ValidateGCProcPtr ValidatePolyPoint;
-   ValidateGCProcPtr ValidatePolylines;
-   ValidateGCProcPtr ValidatePolySegment;
-   ValidateGCProcPtr ValidatePolyRectangle;
-   ValidateGCProcPtr ValidatePolyArc;
-   ValidateGCProcPtr ValidateFillPolygon;
-   ValidateGCProcPtr ValidatePolyFillRect;
-   ValidateGCProcPtr ValidatePolyFillArc;
-   ValidateGCProcPtr ValidatePolyText8;
-   ValidateGCProcPtr ValidatePolyText16;
-   ValidateGCProcPtr ValidateImageText8;
-   ValidateGCProcPtr ValidateImageText16;
-   ValidateGCProcPtr ValidatePolyGlyphBlt;
-   ValidateGCProcPtr ValidateImageGlyphBlt;
-   ValidateGCProcPtr ValidatePushPixels;
    void (*ComputeDash)(GCPtr pGC);
    void (*InitPixmapCache)(ScreenPtr pScreen, RegionPtr areas, pointer data);
    void (*ClosePixmapCache)(ScreenPtr pScreen);
@@ -1084,205 +1064,6 @@ static void XAAStateWrapPutImage(DrawablePtr pDraw, GCPtr pGC, int depth, int x,
 			   w, h, leftPad, format, pImage);
 }
 
-static void XAAStateWrapValidateFillSpans(GCPtr pGC, unsigned long changes, 
-					  DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidateFillSpans)(pGC, changes,
-				    pDraw);
-}
-
-static void XAAStateWrapValidateSetSpans(GCPtr pGC, unsigned long changes, 
-					 DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidateSetSpans)(pGC, changes,
-				   pDraw);
-}
-
-static void XAAStateWrapValidatePutImage(GCPtr pGC, unsigned long changes,
-					 DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePutImage)(pGC, changes,
-				   pDraw);
-}
-
-static void XAAStateWrapValidateCopyArea(GCPtr pGC, unsigned long changes,
-					 DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidateCopyArea)(pGC, changes,
-				   pDraw);
-}
-
-static void XAAStateWrapValidateCopyPlane(GCPtr pGC, unsigned long changes,
-					  DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidateCopyPlane)(pGC, changes,
-				    pDraw);
-}
-
-static void XAAStateWrapValidatePolyPoint(GCPtr pGC, unsigned long changes, 
-					  DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePolyPoint)(pGC, changes,
-				    pDraw);
-}
-
-static void XAAStateWrapValidatePolylines(GCPtr pGC, unsigned long changes,
-					  DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePolylines)(pGC, changes,
-				    pDraw);
-}
-
-static void XAAStateWrapValidatePolySegment(GCPtr pGC, unsigned long changes, 
-					    DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePolySegment)(pGC, changes,
-				      pDraw);
-}
-
-static void XAAStateWrapValidatePolyRectangle(GCPtr pGC, unsigned long changes, 
-					      DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePolyRectangle)(pGC, changes,
-					pDraw);
-}
-
-static void XAAStateWrapValidatePolyArc(GCPtr pGC, unsigned long changes,
-					DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePolyArc)(pGC, changes,
-				  pDraw);
-}
-
-static void XAAStateWrapValidateFillPolygon(GCPtr pGC, unsigned long changes,
-					    DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidateFillPolygon)(pGC, changes,
-				      pDraw);
-}
-
-static void XAAStateWrapValidatePolyFillRect(GCPtr pGC, unsigned long changes,
-					     DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePolyFillRect)(pGC, changes,
-				       pDraw);
-}
-
-static void XAAStateWrapValidatePolyFillArc(GCPtr pGC, unsigned long changes,
-					    DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePolyFillArc)(pGC, changes,
-				      pDraw);
-}
-
-static void XAAStateWrapValidatePolyText8(GCPtr pGC, unsigned long changes,
-					  DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePolyText8)(pGC, changes,
-				    pDraw);
-}
-
-static void XAAStateWrapValidatePolyText16(GCPtr pGC, unsigned long changes, 
-					   DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePolyText16)(pGC, changes, 
-				     pDraw);
-}
-
-static void XAAStateWrapValidateImageText8(GCPtr pGC, unsigned long changes, 
-					   DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidateImageText8)(pGC, changes, 
-				     pDraw);
-}
-
-static void XAAStateWrapValidateImageText16(GCPtr pGC, unsigned long changes, 
-					    DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidateImageText16)(pGC, changes, 
-				      pDraw);
-}
-
-static void XAAStateWrapValidatePolyGlyphBlt(GCPtr pGC, unsigned long changes, 
-					     DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePolyGlyphBlt)(pGC, changes, 
-				       pDraw);
-}
-
-static void XAAStateWrapValidateImageGlyphBlt(GCPtr pGC, unsigned long changes, 
-					      DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-   (*pStatePriv->ValidateImageGlyphBlt)(pGC, changes, 
-					pDraw);
-}
-
-static void XAAStateWrapValidatePushPixels(GCPtr pGC, unsigned long changes,
-					   DrawablePtr pDraw)
-{
-   GET_STATEPRIV_GC(pGC);
-   STATE_CHECK_SP(pStatePriv);
-
-   (*pStatePriv->ValidatePushPixels)(pGC, changes,
-				     pDraw);
-}
-
 static void XAAStateWrapComputeDash(GCPtr pGC)
 {
    GET_STATEPRIV_GC(pGC);
@@ -1583,26 +1364,6 @@ XAAInitStateWrap(ScreenPtr pScreen, XAAInfoRecPtr infoRec)
    XAA_STATE_WRAP(FillPolygonTiled);
    XAA_STATE_WRAP(PolyFillArcSolid);
    XAA_STATE_WRAP(PutImage);
-   XAA_STATE_WRAP(ValidateFillSpans);
-   XAA_STATE_WRAP(ValidateSetSpans);
-   XAA_STATE_WRAP(ValidatePutImage);
-   XAA_STATE_WRAP(ValidateCopyArea);
-   XAA_STATE_WRAP(ValidateCopyPlane);
-   XAA_STATE_WRAP(ValidatePolyPoint);
-   XAA_STATE_WRAP(ValidatePolylines);
-   XAA_STATE_WRAP(ValidatePolySegment);
-   XAA_STATE_WRAP(ValidatePolyRectangle);
-   XAA_STATE_WRAP(ValidatePolyArc);
-   XAA_STATE_WRAP(ValidateFillPolygon);
-   XAA_STATE_WRAP(ValidatePolyFillRect);
-   XAA_STATE_WRAP(ValidatePolyFillArc);
-   XAA_STATE_WRAP(ValidatePolyText8);
-   XAA_STATE_WRAP(ValidatePolyText16);
-   XAA_STATE_WRAP(ValidateImageText8);
-   XAA_STATE_WRAP(ValidateImageText16);
-   XAA_STATE_WRAP(ValidatePolyGlyphBlt);
-   XAA_STATE_WRAP(ValidateImageGlyphBlt);
-   XAA_STATE_WRAP(ValidatePushPixels);
    XAA_STATE_WRAP(ComputeDash);
    XAA_STATE_WRAP(InitPixmapCache);
    XAA_STATE_WRAP(ClosePixmapCache);
-- 
1.7.0



More information about the xorg-devel mailing list