xf86-video-intel: Branch 'modesetting' - src/brw_structs.h src/common.h src/i810_driver.c src/i810_wmark.c src/i830_driver.c src/i830_edid_modes.c src/i830_exa.c src/i830_exa_render.c src/i830.h src/i830_xaa.c src/i915_exa_render.c src/i965_exa_render.c

Keith Packard keithp at kemper.freedesktop.org
Sun Jan 7 04:19:45 EET 2007


 src/brw_structs.h     |    2 
 src/common.h          |    1 
 src/i810_driver.c     |    2 
 src/i810_wmark.c      |    3 +
 src/i830.h            |   13 ++++
 src/i830_driver.c     |    3 -
 src/i830_edid_modes.c |    2 
 src/i830_exa.c        |   59 +++++++++----------
 src/i830_exa_render.c |   20 ++----
 src/i830_xaa.c        |    5 -
 src/i915_exa_render.c |   80 ++++++++++++--------------
 src/i965_exa_render.c |  150 ++++++++++++++++++++++++--------------------------
 12 files changed, 165 insertions(+), 175 deletions(-)

New commits:
diff-tree 40af0ee6ba4ab7596fbc7fcc3ad04d109746ca6f (from 736d82a6b43f174cb95b425faacd4b0b889916fa)
Author: Keith Packard <keithp at mandolin.keithp.com>
Date:   Sat Jan 6 18:19:34 2007 -0800

    Numerous symbol scope issues.
    
    I830EntityIndex is shared between 810 and newer driver.
    Move most EXA rendering state into I830 structure.
    Declare shared variables in shared header files rather than .c.

diff --git a/src/brw_structs.h b/src/brw_structs.h
index d2f9be0..28d8e12 100644
--- a/src/brw_structs.h
+++ b/src/brw_structs.h
@@ -34,7 +34,7 @@ struct header 
 {
    unsigned int length:16; 
    unsigned int opcode:16; 
-} bits;
+};
 
 
 union header_union
diff --git a/src/common.h b/src/common.h
index 540983b..2035862 100644
--- a/src/common.h
+++ b/src/common.h
@@ -77,6 +77,7 @@ extern const OptionInfoRec *I830Availabl
 extern void I830InitpScrn(ScrnInfoPtr pScrn);
 
 /* Symbol lists shared by the i810 and i830 parts. */
+extern int I830EntityIndex;
 extern const char *I810vgahwSymbols[];
 extern const char *I810ramdacSymbols[];
 extern const char *I810int10Symbols[];
diff --git a/src/i810_driver.c b/src/i810_driver.c
index 7574fb5..3d4c7d3 100644
--- a/src/i810_driver.c
+++ b/src/i810_driver.c
@@ -381,7 +381,7 @@ static int i810_pitches[] = {
 #endif
 #endif
 
-static int I830EntityIndex = -1;
+int I830EntityIndex = -1;
 
 #ifdef XFree86LOADER
 
diff --git a/src/i810_wmark.c b/src/i810_wmark.c
index 85d55ef..d21f6aa 100644
--- a/src/i810_wmark.c
+++ b/src/i810_wmark.c
@@ -149,11 +149,14 @@ static struct wm_info i810_wm_24_100[] =
    {202.5, 0x44419000}
 };
 
+#if 0
+/* not used */
 static struct wm_info i810_wm_32_100[] = {
    {0, 0x2210b000},
    {60, 0x22415000},			/* 0x314000 works too */
    {80, 0x22419000}			/* 0x518000 works too */
 };
+#endif
 
 static struct wm_info i810_wm_8_133[] = {
    {0, 0x22003000},
diff --git a/src/i830.h b/src/i830.h
index f89d022..dc0d768 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -379,6 +379,14 @@ typedef struct _I830Rec {
    Bool *overlayOn;
 #endif
 
+   /* EXA render state */
+   float scale_units[2][2];
+   Bool is_transform[2];
+   PictTransform *transform[2];
+   /* i915 EXA render state */
+   CARD32 mapstate[6];
+   CARD32 samplerstate[6];
+
    Bool directRenderingDisabled;	/* DRI disabled in PreInit. */
    Bool directRenderingEnabled;		/* DRI enabled this generation. */
 
@@ -495,6 +503,11 @@ typedef struct _I830Rec {
 #define I830_SELECT_BACK	1
 #define I830_SELECT_DEPTH	2
 
+#ifdef I830_USE_EXA
+extern const int I830PatternROP[16];
+extern const int I830CopyROP[16];
+#endif
+
 /* I830 specific functions */
 extern int I830WaitLpRing(ScrnInfoPtr pScrn, int n, int timeout_millis);
 extern void I830SetPIOAccess(I830Ptr pI830);
diff --git a/src/i830_driver.c b/src/i830_driver.c
index ffa391f..2992798 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -322,9 +322,6 @@ static CARD32 I830CheckDevicesTimer(OsTi
 static Bool SaveHWState(ScrnInfoPtr pScrn);
 static Bool RestoreHWState(ScrnInfoPtr pScrn);
 
-
-extern int I830EntityIndex;
-
 /* temporary */
 extern void xf86SetCursor(ScreenPtr pScreen, CursorPtr pCurs, int x, int y);
 
diff --git a/src/i830_edid_modes.c b/src/i830_edid_modes.c
index 31ce100..249f87a 100644
--- a/src/i830_edid_modes.c
+++ b/src/i830_edid_modes.c
@@ -106,7 +106,7 @@ static const ddc_quirk_map_t ddc_quirks[
 #define MODEPREFIX(name) NULL, NULL, name, 0,M_T_DRIVER
 #define MODESUFFIX   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FALSE,FALSE,0,NULL,0,0.0,0.0
 
-DisplayModeRec DDCEstablishedModes[17] = {
+static DisplayModeRec DDCEstablishedModes[17] = {
     { MODEPREFIX("800x600"),    40000,  800,  840,  968, 1056, 0,  600,  601,  605,  628, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600 at 60Hz */
     { MODEPREFIX("800x600"),    36000,  800,  824,  896, 1024, 0,  600,  601,  603,  625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600 at 56Hz */
     { MODEPREFIX("640x480"),    31500,  640,  656,  720,  840, 0,  480,  481,  484,  500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480 at 75Hz */
diff --git a/src/i830_exa.c b/src/i830_exa.c
index f23816f..02ac903 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -57,9 +57,7 @@ do { 							\
 } while(0) 
 #endif
 
-static float scale_units[2][2];
-
-const static int I830CopyROP[16] =
+const int I830CopyROP[16] =
 {
    ROP_0,               /* GXclear */
    ROP_DSa,             /* GXand */
@@ -79,7 +77,7 @@ const static int I830CopyROP[16] =
    ROP_1                /* GXset */
 };
 
-const static int I830PatternROP[16] =
+const int I830PatternROP[16] =
 {
     ROP_0,
     ROP_DPa,
@@ -111,9 +109,6 @@ union intfloat {
 	OUT_RING(tmp.ui);			\
 } while(0)				
 
-static Bool is_transform[2];
-static PictTransform *transform[2];
-
 extern Bool I830EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
 extern Bool I830EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr, 
 				PixmapPtr, PixmapPtr, PixmapPtr);
@@ -314,10 +309,10 @@ IntelEXAComposite(PixmapPtr pDst, int sr
 	    "src_scale_x %f, src_scale_y %f, "
 	    "mask_scale_x %f, mask_scale_y %f\n",
 	    srcX, srcY, maskX, maskY, dstX, dstY, w, h,
-	    scale_units[0][0], scale_units[0][1],
-	    scale_units[1][0], scale_units[1][1]);
+	    pI830->scale_units[0][0], pI830->scale_units[0][1],
+	    pI830->scale_units[1][0], pI830->scale_units[1][1]);
 
-    if (scale_units[1][0] == -1 || scale_units[1][1] == -1) {
+    if (pI830->scale_units[1][0] == -1 || pI830->scale_units[1][1] == -1) {
 	pMask = 0;
     }
 
@@ -325,31 +320,31 @@ IntelEXAComposite(PixmapPtr pDst, int sr
     srcYend = srcY + h;
     maskXend = maskX + w;
     maskYend = maskY + h;
-    if (is_transform[0]) {
+    if (pI830->is_transform[0]) {
         v.vector[0] = IntToxFixed(srcX);
         v.vector[1] = IntToxFixed(srcY);
         v.vector[2] = xFixed1;
-        PictureTransformPoint(transform[0], &v);
+        PictureTransformPoint(pI830->transform[0], &v);
         srcX = xFixedToInt(v.vector[0]);
         srcY = xFixedToInt(v.vector[1]);
         v.vector[0] = IntToxFixed(srcXend);
         v.vector[1] = IntToxFixed(srcYend);
         v.vector[2] = xFixed1;
-        PictureTransformPoint(transform[0], &v);
+        PictureTransformPoint(pI830->transform[0], &v);
         srcXend = xFixedToInt(v.vector[0]);
         srcYend = xFixedToInt(v.vector[1]);
     }
-    if (is_transform[1]) {
+    if (pI830->is_transform[1]) {
         v.vector[0] = IntToxFixed(maskX);
         v.vector[1] = IntToxFixed(maskY);
         v.vector[2] = xFixed1;
-        PictureTransformPoint(transform[1], &v);
+        PictureTransformPoint(pI830->transform[1], &v);
         maskX = xFixedToInt(v.vector[0]);
         maskY = xFixedToInt(v.vector[1]);
         v.vector[0] = IntToxFixed(maskXend);
         v.vector[1] = IntToxFixed(maskYend);
         v.vector[2] = xFixed1;
-        PictureTransformPoint(transform[1], &v);
+        PictureTransformPoint(pI830->transform[1], &v);
         maskXend = xFixedToInt(v.vector[0]);
         maskYend = xFixedToInt(v.vector[1]);
     }
@@ -378,38 +373,38 @@ IntelEXAComposite(PixmapPtr pDst, int sr
 
 	OUT_RING_F(dstX);
 	OUT_RING_F(dstY);
-	OUT_RING_F(srcX / scale_units[0][0]);
-	OUT_RING_F(srcY / scale_units[0][1]);
+	OUT_RING_F(srcX / pI830->scale_units[0][0]);
+	OUT_RING_F(srcY / pI830->scale_units[0][1]);
 	if (pMask) {
-		OUT_RING_F(maskX / scale_units[1][0]);
-		OUT_RING_F(maskY / scale_units[1][1]);
+		OUT_RING_F(maskX / pI830->scale_units[1][0]);
+		OUT_RING_F(maskY / pI830->scale_units[1][1]);
 	}
 
 	OUT_RING_F(dstX);
 	OUT_RING_F(dstY + h);
-	OUT_RING_F(srcX / scale_units[0][0]);
-	OUT_RING_F(srcYend / scale_units[0][1]);
+	OUT_RING_F(srcX / pI830->scale_units[0][0]);
+	OUT_RING_F(srcYend / pI830->scale_units[0][1]);
 	if (pMask) {
-		OUT_RING_F(maskX / scale_units[1][0]);
-		OUT_RING_F(maskYend / scale_units[1][1]);
+		OUT_RING_F(maskX / pI830->scale_units[1][0]);
+		OUT_RING_F(maskYend / pI830->scale_units[1][1]);
 	}
 
 	OUT_RING_F(dstX + w);
 	OUT_RING_F(dstY + h);
-	OUT_RING_F(srcXend / scale_units[0][0]);
-	OUT_RING_F(srcYend / scale_units[0][1]);
+	OUT_RING_F(srcXend / pI830->scale_units[0][0]);
+	OUT_RING_F(srcYend / pI830->scale_units[0][1]);
 	if (pMask) {
-		OUT_RING_F(maskXend / scale_units[1][0]);
-		OUT_RING_F(maskYend / scale_units[1][1]);
+		OUT_RING_F(maskXend / pI830->scale_units[1][0]);
+		OUT_RING_F(maskYend / pI830->scale_units[1][1]);
 	}
 
 	OUT_RING_F(dstX + w);
 	OUT_RING_F(dstY);
-	OUT_RING_F(srcXend / scale_units[0][0]);
-	OUT_RING_F(srcY / scale_units[0][1]);
+	OUT_RING_F(srcXend / pI830->scale_units[0][0]);
+	OUT_RING_F(srcY / pI830->scale_units[0][1]);
 	if (pMask) {
-		OUT_RING_F(maskXend / scale_units[1][0]);
-		OUT_RING_F(maskY / scale_units[1][1]);
+		OUT_RING_F(maskXend / pI830->scale_units[1][0]);
+		OUT_RING_F(maskY / pI830->scale_units[1][1]);
 	}
 	ADVANCE_LP_RING();
     }
diff --git a/src/i830_exa_render.c b/src/i830_exa_render.c
index f63313f..5e202c8 100644
--- a/src/i830_exa_render.c
+++ b/src/i830_exa_render.c
@@ -51,10 +51,6 @@ do { 							\
 } while(0) 
 #endif
 
-extern float scale_units[2][2];
-extern Bool is_transform[2];
-extern PictTransform *transform[2];
-
 struct blendinfo {
     Bool dst_alpha;
     Bool src_alpha;
@@ -274,8 +270,8 @@ I830TextureSetup(PicturePtr pPict, Pixma
     pitch = exaGetPixmapPitch(pPix);
     w = pPict->pDrawable->width;
     h = pPict->pDrawable->height;
-    scale_units[unit][0] = pPix->drawable.width;
-    scale_units[unit][1] = pPix->drawable.height;
+    pI830->scale_units[unit][0] = pPix->drawable.width;
+    pI830->scale_units[unit][1] = pPix->drawable.height;
 
     for (i = 0; i < sizeof(I830TexFormats) / sizeof(I830TexFormats[0]); i++) {
         if (I830TexFormats[i].fmt == pPict->format)
@@ -344,10 +340,10 @@ I830TextureSetup(PicturePtr pPict, Pixma
 
 	/* XXX */
     if (pPict->transform != 0) {
-        is_transform[unit] = TRUE;
-        transform[unit] = pPict->transform;
+        pI830->is_transform[unit] = TRUE;
+        pI830->transform[unit] = pPict->transform;
     } else {
-        is_transform[unit] = FALSE;
+        pI830->is_transform[unit] = FALSE;
     }
 
 #ifdef I830DEBUG
@@ -412,9 +408,9 @@ I830EXAPrepareComposite(int op, PictureP
 	if (!I830TextureSetup(pMaskPicture, pMask, 1))
 		I830FALLBACK("fail to setup mask texture\n");
     } else {
-	is_transform[1] = FALSE;
-	scale_units[1][0] = -1;
-	scale_units[1][1] = -1;
+	pI830->is_transform[1] = FALSE;
+	pI830->scale_units[1][0] = -1;
+	pI830->scale_units[1][1] = -1;
     }
 
     {
diff --git a/src/i830_xaa.c b/src/i830_xaa.c
index cad9c71..13ba743 100644
--- a/src/i830_xaa.c
+++ b/src/i830_xaa.c
@@ -91,11 +91,6 @@ static void I830SubsequentImageWriteScan
 #endif
 static void I830RestoreAccelState(ScrnInfoPtr pScrn);
 
-#ifdef I830_USE_EXA
-extern const int I830PatternROP[16];
-extern const int I830CopyROP[16];
-#endif
-
 Bool
 I830XAAInit(ScreenPtr pScreen)
 {
diff --git a/src/i915_exa_render.c b/src/i915_exa_render.c
index cefa15c..640ebd9 100644
--- a/src/i915_exa_render.c
+++ b/src/i915_exa_render.c
@@ -52,12 +52,6 @@ do { 							\
 } while(0)
 #endif
 
-extern float scale_units[2][2];
-extern Bool is_transform[2];
-extern PictTransform *transform[2];
-static CARD32 mapstate[6];
-static CARD32 samplerstate[6];
-
 struct formatinfo {
     int fmt;
     CARD32 card_fmt;
@@ -267,8 +261,8 @@ I915TextureSetup(PicturePtr pPict, Pixma
     pitch = exaGetPixmapPitch(pPix);
     w = pPict->pDrawable->width;
     h = pPict->pDrawable->height;
-    scale_units[unit][0] = pPix->drawable.width;
-    scale_units[unit][1] = pPix->drawable.height;
+    pI830->scale_units[unit][0] = pPix->drawable.width;
+    pI830->scale_units[unit][1] = pPix->drawable.height;
 
     for (i = 0; i < sizeof(I915TexFormats) / sizeof(I915TexFormats[0]); i++) {
         if (I915TexFormats[i].fmt == pPict->format)
@@ -295,27 +289,27 @@ I915TextureSetup(PicturePtr pPict, Pixma
         I830FALLBACK("Bad filter 0x%x\n", pPict->filter);
     }
 
-    mapstate[unit * 3 + 0] = offset;
-    mapstate[unit * 3 + 1] = format |
+    pI830->mapstate[unit * 3 + 0] = offset;
+    pI830->mapstate[unit * 3 + 1] = format |
 	((pPix->drawable.height - 1) << MS3_HEIGHT_SHIFT) |
 	((pPix->drawable.width - 1) << MS3_WIDTH_SHIFT);
     if (!pI830->disableTiling)
-	samplerstate[unit * 3 + 1] |= MS3_USE_FENCE_REGS;
-    mapstate[unit * 3 + 2] = ((pitch / 4) - 1) << MS4_PITCH_SHIFT;
+	pI830->samplerstate[unit * 3 + 1] |= MS3_USE_FENCE_REGS;
+    pI830->mapstate[unit * 3 + 2] = ((pitch / 4) - 1) << MS4_PITCH_SHIFT;
 
-    samplerstate[unit * 3 + 0] = (MIPFILTER_NONE << SS2_MIP_FILTER_SHIFT);
-    samplerstate[unit * 3 + 0] |= filter;
-    samplerstate[unit * 3 + 1] = SS3_NORMALIZED_COORDS;
-    samplerstate[unit * 3 + 1] |= wrap_mode << SS3_TCX_ADDR_MODE_SHIFT;
-    samplerstate[unit * 3 + 1] |= wrap_mode << SS3_TCY_ADDR_MODE_SHIFT;
-    samplerstate[unit * 3 + 1] |= unit << SS3_TEXTUREMAP_INDEX_SHIFT;
-    samplerstate[unit * 3 + 2] = 0x00000000; /* border color */
+    pI830->samplerstate[unit * 3 + 0] = (MIPFILTER_NONE << SS2_MIP_FILTER_SHIFT);
+    pI830->samplerstate[unit * 3 + 0] |= filter;
+    pI830->samplerstate[unit * 3 + 1] = SS3_NORMALIZED_COORDS;
+    pI830->samplerstate[unit * 3 + 1] |= wrap_mode << SS3_TCX_ADDR_MODE_SHIFT;
+    pI830->samplerstate[unit * 3 + 1] |= wrap_mode << SS3_TCY_ADDR_MODE_SHIFT;
+    pI830->samplerstate[unit * 3 + 1] |= unit << SS3_TEXTUREMAP_INDEX_SHIFT;
+    pI830->samplerstate[unit * 3 + 2] = 0x00000000; /* border color */
 
     if (pPict->transform != 0) {
-        is_transform[unit] = TRUE;
-        transform[unit] = pPict->transform;
+        pI830->is_transform[unit] = TRUE;
+        pI830->transform[unit] = pPict->transform;
     } else {
-        is_transform[unit] = FALSE;
+        pI830->is_transform[unit] = FALSE;
     }
 
     return TRUE;
@@ -348,44 +342,44 @@ I915EXAPrepareComposite(int op, PictureP
 	if (!I915TextureSetup(pMaskPicture, pMask, 1))
 		I830FALLBACK("fail to setup mask texture\n");
     } else {
-	is_transform[1] = FALSE;
-	scale_units[1][0] = -1;
-	scale_units[1][1] = -1;
+	pI830->is_transform[1] = FALSE;
+	pI830->scale_units[1][0] = -1;
+	pI830->scale_units[1][1] = -1;
     }
 
     if (pMask == NULL) {
 	BEGIN_LP_RING(10);
 	OUT_RING(_3DSTATE_MAP_STATE | 3);
 	OUT_RING(0x00000001); /* map 0 */
-	OUT_RING(mapstate[0]);
-	OUT_RING(mapstate[1]);
-	OUT_RING(mapstate[2]);
+	OUT_RING(pI830->mapstate[0]);
+	OUT_RING(pI830->mapstate[1]);
+	OUT_RING(pI830->mapstate[2]);
 
 	OUT_RING(_3DSTATE_SAMPLER_STATE | 3);
 	OUT_RING(0x00000001); /* sampler 0 */
-	OUT_RING(samplerstate[0]);
-	OUT_RING(samplerstate[1]);
-	OUT_RING(samplerstate[2]);
+	OUT_RING(pI830->samplerstate[0]);
+	OUT_RING(pI830->samplerstate[1]);
+	OUT_RING(pI830->samplerstate[2]);
 	ADVANCE_LP_RING();
     } else {
 	BEGIN_LP_RING(16);
 	OUT_RING(_3DSTATE_MAP_STATE | 6);
 	OUT_RING(0x00000003); /* map 0,1 */
-	OUT_RING(mapstate[0]);
-	OUT_RING(mapstate[1]);
-	OUT_RING(mapstate[2]);
-	OUT_RING(mapstate[3]);
-	OUT_RING(mapstate[4]);
-	OUT_RING(mapstate[5]);
+	OUT_RING(pI830->mapstate[0]);
+	OUT_RING(pI830->mapstate[1]);
+	OUT_RING(pI830->mapstate[2]);
+	OUT_RING(pI830->mapstate[3]);
+	OUT_RING(pI830->mapstate[4]);
+	OUT_RING(pI830->mapstate[5]);
 
 	OUT_RING(_3DSTATE_SAMPLER_STATE | 6);
 	OUT_RING(0x00000003); /* sampler 0,1 */
-	OUT_RING(samplerstate[0]);
-	OUT_RING(samplerstate[1]);
-	OUT_RING(samplerstate[2]);
-	OUT_RING(samplerstate[3]);
-	OUT_RING(samplerstate[4]);
-	OUT_RING(samplerstate[5]);
+	OUT_RING(pI830->samplerstate[0]);
+	OUT_RING(pI830->samplerstate[1]);
+	OUT_RING(pI830->samplerstate[2]);
+	OUT_RING(pI830->samplerstate[3]);
+	OUT_RING(pI830->samplerstate[4]);
+	OUT_RING(pI830->samplerstate[5]);
 	ADVANCE_LP_RING();
     }
     {
diff --git a/src/i965_exa_render.c b/src/i965_exa_render.c
index 583bc26..89581e9 100644
--- a/src/i965_exa_render.c
+++ b/src/i965_exa_render.c
@@ -71,10 +71,6 @@ I965EXAComposite(PixmapPtr pDst, int src
 static void I965GetBlendCntl(int op, PicturePtr pMask, CARD32 dst_format, 
 			     CARD32 *sblend, CARD32 *dblend);
 
-extern float scale_units[2][2];
-extern Bool is_transform[2];
-extern PictTransform *transform[2];
-
 struct blendinfo {
     Bool dst_alpha;
     Bool src_alpha;
@@ -267,46 +263,46 @@ I965EXACheckComposite(int op, PicturePtr
 #define MIN(a,b) ((a) < (b) ? (a) : (b))
 #define BRW_GRF_BLOCKS(nreg)    ((nreg + 15) / 16 - 1)
 
-int urb_vs_start, urb_vs_size;
-int urb_gs_start, urb_gs_size;
-int urb_clip_start, urb_clip_size;
-int urb_sf_start, urb_sf_size;
-int urb_cs_start, urb_cs_size;
-
-struct brw_surface_state *dest_surf_state;
-struct brw_surface_state *src_surf_state;
-struct brw_surface_state *mask_surf_state;
-struct brw_sampler_state *src_sampler_state;
-struct brw_sampler_state *mask_sampler_state;  
-struct brw_sampler_default_color *default_color_state;
-
-struct brw_vs_unit_state *vs_state;
-struct brw_sf_unit_state *sf_state;
-struct brw_wm_unit_state *wm_state;
-struct brw_cc_unit_state *cc_state;
-struct brw_cc_viewport *cc_viewport;
-
-struct brw_instruction *sf_kernel;
-struct brw_instruction *ps_kernel;
-struct brw_instruction *sip_kernel;
-
-CARD32 *binding_table;
-int binding_table_entries; 
-
-int dest_surf_offset, src_surf_offset, mask_surf_offset;
-int src_sampler_offset, mask_sampler_offset,vs_offset;
-int sf_offset, wm_offset, cc_offset, vb_offset, cc_viewport_offset;
-int sf_kernel_offset, ps_kernel_offset, sip_kernel_offset;
-int wm_scratch_offset;
-int binding_table_offset;
-int default_color_offset; 
-int next_offset, total_state_size;
-char *state_base;
-int state_base_offset;
-float *vb;
-int vb_size = (4 * 4) * 4 ; /* 4 DWORDS per vertex*/ 
+static int urb_vs_start, urb_vs_size;
+static int urb_gs_start, urb_gs_size;
+static int urb_clip_start, urb_clip_size;
+static int urb_sf_start, urb_sf_size;
+static int urb_cs_start, urb_cs_size;
+
+static struct brw_surface_state *dest_surf_state;
+static struct brw_surface_state *src_surf_state;
+static struct brw_surface_state *mask_surf_state;
+static struct brw_sampler_state *src_sampler_state;
+static struct brw_sampler_state *mask_sampler_state;  
+static struct brw_sampler_default_color *default_color_state;
+
+static struct brw_vs_unit_state *vs_state;
+static struct brw_sf_unit_state *sf_state;
+static struct brw_wm_unit_state *wm_state;
+static struct brw_cc_unit_state *cc_state;
+static struct brw_cc_viewport *cc_viewport;
+
+static struct brw_instruction *sf_kernel;
+static struct brw_instruction *ps_kernel;
+static struct brw_instruction *sip_kernel;
+
+static CARD32 *binding_table;
+static int binding_table_entries; 
+
+static int dest_surf_offset, src_surf_offset, mask_surf_offset;
+static int src_sampler_offset, mask_sampler_offset,vs_offset;
+static int sf_offset, wm_offset, cc_offset, vb_offset, cc_viewport_offset;
+static int sf_kernel_offset, ps_kernel_offset, sip_kernel_offset;
+static int wm_scratch_offset;
+static int binding_table_offset;
+static int default_color_offset; 
+static int next_offset, total_state_size;
+static char *state_base;
+static int state_base_offset;
+static float *vb;
+static int vb_size = (4 * 4) * 4 ; /* 4 DWORDS per vertex*/ 
 
-CARD32 src_blend, dst_blend;
+static CARD32 src_blend, dst_blend;
 
 static const CARD32 sip_kernel_static[][4] = {
 /*    wait (1) a0<1>UW a145<0,1,0>UW { align1 +  } */
@@ -394,27 +390,27 @@ I965EXAPrepareComposite(int op, PictureP
 	mask_offset = exaGetPixmapOffset(pMask);
 	mask_pitch = exaGetPixmapPitch(pMask);
     }
-    scale_units[0][0] = pSrc->drawable.width;
-    scale_units[0][1] = pSrc->drawable.height;
+    pI830->scale_units[0][0] = pSrc->drawable.width;
+    pI830->scale_units[0][1] = pSrc->drawable.height;
 
     if (pSrcPicture->transform) {
-	is_transform[0] = TRUE;
-	transform[0] = pSrcPicture->transform;
+	pI830->is_transform[0] = TRUE;
+	pI830->transform[0] = pSrcPicture->transform;
     } else 
-	is_transform[0] = FALSE;
+	pI830->is_transform[0] = FALSE;
 
     if (!pMask) {
-	is_transform[1] = FALSE;
-	scale_units[1][0] = -1;
-	scale_units[1][1] = -1;
+	pI830->is_transform[1] = FALSE;
+	pI830->scale_units[1][0] = -1;
+	pI830->scale_units[1][1] = -1;
     } else {
 	if (pMaskPicture->transform) {
-	    is_transform[1] = TRUE;
-	    transform[1] = pMaskPicture->transform;
+	    pI830->is_transform[1] = TRUE;
+	    pI830->transform[1] = pMaskPicture->transform;
 	} else
-	    is_transform[1] = FALSE;
-	scale_units[1][0] = pMask->drawable.width;
-	scale_units[1][1] = pMask->drawable.height;
+	    pI830->is_transform[1] = FALSE;
+	pI830->scale_units[1][0] = pMask->drawable.width;
+	pI830->scale_units[1][1] = pMask->drawable.height;
     }
 
 	/* setup 3d pipeline state */
@@ -996,10 +992,10 @@ I965EXAComposite(PixmapPtr pDst, int src
 	    "src_scale_x %f, src_scale_y %f, "
 	    "mask_scale_x %f, mask_scale_y %f\n",
 	    srcX, srcY, maskX, maskY, dstX, dstY, w, h,
-	    scale_units[0][0], scale_units[0][1],
-	    scale_units[1][0], scale_units[1][1]);
+	    pI830->scale_units[0][0], pI830->scale_units[0][1],
+	    pI830->scale_units[1][0], pI830->scale_units[1][1]);
 
-    if (scale_units[1][0] == -1 || scale_units[1][1] == -1) {
+    if (pI830->scale_units[1][0] == -1 || pI830->scale_units[1][1] == -1) {
 	pMask = 0;
     }
 
@@ -1007,31 +1003,31 @@ I965EXAComposite(PixmapPtr pDst, int src
     srcYend = srcY + h;
     maskXend = maskX + w;
     maskYend = maskY + h;
-    if (is_transform[0]) {
+    if (pI830->is_transform[0]) {
         v.vector[0] = IntToxFixed(srcX);
         v.vector[1] = IntToxFixed(srcY);
         v.vector[2] = xFixed1;
-        PictureTransformPoint(transform[0], &v);
+        PictureTransformPoint(pI830->transform[0], &v);
         srcX = xFixedToInt(v.vector[0]);
         srcY = xFixedToInt(v.vector[1]);
         v.vector[0] = IntToxFixed(srcXend);
         v.vector[1] = IntToxFixed(srcYend);
         v.vector[2] = xFixed1;
-        PictureTransformPoint(transform[0], &v);
+        PictureTransformPoint(pI830->transform[0], &v);
         srcXend = xFixedToInt(v.vector[0]);
         srcYend = xFixedToInt(v.vector[1]);
     }
-    if (is_transform[1]) {
+    if (pI830->is_transform[1]) {
         v.vector[0] = IntToxFixed(maskX);
         v.vector[1] = IntToxFixed(maskY);
         v.vector[2] = xFixed1;
-        PictureTransformPoint(transform[1], &v);
+        PictureTransformPoint(pI830->transform[1], &v);
         maskX = xFixedToInt(v.vector[0]);
         maskY = xFixedToInt(v.vector[1]);
         v.vector[0] = IntToxFixed(maskXend);
         v.vector[1] = IntToxFixed(maskYend);
         v.vector[2] = xFixed1;
-        PictureTransformPoint(transform[1], &v);
+        PictureTransformPoint(pI830->transform[1], &v);
         maskXend = xFixedToInt(v.vector[0]);
         maskYend = xFixedToInt(v.vector[1]);
     }
@@ -1043,31 +1039,31 @@ I965EXAComposite(PixmapPtr pDst, int src
 
     i = 0;
     /* rect (x2,y2) */
-    vb[i++] = (float)(srcXend) / scale_units[0][0];
-    vb[i++] = (float)(srcYend) / scale_units[0][1];
+    vb[i++] = (float)(srcXend) / pI830->scale_units[0][0];
+    vb[i++] = (float)(srcYend) / pI830->scale_units[0][1];
     if (pMask) {
-        vb[i++] = (float)maskXend / scale_units[1][0];
-        vb[i++] = (float)maskYend / scale_units[1][1];
+        vb[i++] = (float)maskXend / pI830->scale_units[1][0];
+        vb[i++] = (float)maskYend / pI830->scale_units[1][1];
     }
     vb[i++] = (float)(dstX + w);
     vb[i++] = (float)(dstY + h);
 
     /* rect (x1,y2) */
-    vb[i++] = (float)(srcX)/ scale_units[0][0];
-    vb[i++] = (float)(srcYend)/ scale_units[0][1];
+    vb[i++] = (float)(srcX)/ pI830->scale_units[0][0];
+    vb[i++] = (float)(srcYend)/ pI830->scale_units[0][1];
     if (pMask) {
-        vb[i++] = (float)maskX / scale_units[1][0];
-        vb[i++] = (float)maskYend / scale_units[1][1];
+        vb[i++] = (float)maskX / pI830->scale_units[1][0];
+        vb[i++] = (float)maskYend / pI830->scale_units[1][1];
     }
     vb[i++] = (float)dstX;
     vb[i++] = (float)(dstY + h);
 
     /* rect (x1,y1) */
-    vb[i++] = (float)(srcX) / scale_units[0][0];
-    vb[i++] = (float)(srcY) / scale_units[0][1];
+    vb[i++] = (float)(srcX) / pI830->scale_units[0][0];
+    vb[i++] = (float)(srcY) / pI830->scale_units[0][1];
     if (pMask) {
-        vb[i++] = (float)maskX / scale_units[1][0];
-        vb[i++] = (float)maskY / scale_units[1][1];
+        vb[i++] = (float)maskX / pI830->scale_units[1][0];
+        vb[i++] = (float)maskY / pI830->scale_units[1][1];
     }
     vb[i++] = (float)dstX;
     vb[i++] = (float)dstY;



More information about the xorg-commit mailing list