xf86-video-intel: Branch 'intel-batchbuffer' - 2 commits - src/i830_accel.c src/i830_xaa.c

Dave Airlie airlied at kemper.freedesktop.org
Sun Oct 21 15:35:18 PDT 2007


 src/i830_accel.c |    2 
 src/i830_xaa.c   |  116 +++++++++++++++++++++++++++----------------------------
 2 files changed, 59 insertions(+), 59 deletions(-)

New commits:
commit 8b79a6fc7ebc0d2b1e9497b2dcd45e3ae1ffda93
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Oct 22 09:13:44 2007 +1100

    xaa: use batchbuffer code paths

diff --git a/src/i830_xaa.c b/src/i830_xaa.c
index fabac20..4edea27 100644
--- a/src/i830_xaa.c
+++ b/src/i830_xaa.c
@@ -352,22 +352,22 @@ I830SubsequentSolidFillRect(ScrnInfoPtr pScrn, int x, int y, int w, int h)
 	ErrorF("I830SubsequentFillRectSolid %d,%d %dx%d\n", x, y, w, h);
 
     {
-	BEGIN_LP_RING(6);
+	BEGIN_BATCH(6);
 
 	if (pScrn->bitsPerPixel == 32) {
-	    OUT_RING(COLOR_BLT_CMD | COLOR_BLT_WRITE_ALPHA |
+	    OUT_BATCH(COLOR_BLT_CMD | COLOR_BLT_WRITE_ALPHA |
 		     COLOR_BLT_WRITE_RGB);
 	} else {
-	    OUT_RING(COLOR_BLT_CMD);
+	    OUT_BATCH(COLOR_BLT_CMD);
 	}
-	OUT_RING(pI830->BR[13]);
-	OUT_RING((h << 16) | (w * pI830->cpp));
-	OUT_RING(pI830->bufferOffset + (y * pScrn->displayWidth + x) *
+	OUT_BATCH(pI830->BR[13]);
+	OUT_BATCH((h << 16) | (w * pI830->cpp));
+	OUT_BATCH(pI830->bufferOffset + (y * pScrn->displayWidth + x) *
 		 pI830->cpp);
-	OUT_RING(pI830->BR[16]);
-	OUT_RING(0);
+	OUT_BATCH(pI830->BR[16]);
+	OUT_BATCH(0);
 
-	ADVANCE_LP_RING();
+	ADVANCE_BATCH();
     }
 
     if (IS_I965G(pI830))
@@ -429,23 +429,23 @@ I830SubsequentScreenToScreenCopy(ScrnInfoPtr pScrn, int src_x1, int src_y1,
     dst_y2 = dst_y1 + h;
 
     {
-	BEGIN_LP_RING(8);
+	BEGIN_BATCH(8);
 
 	if (pScrn->bitsPerPixel == 32) {
-	    OUT_RING(XY_SRC_COPY_BLT_CMD | XY_SRC_COPY_BLT_WRITE_ALPHA |
+	    OUT_BATCH(XY_SRC_COPY_BLT_CMD | XY_SRC_COPY_BLT_WRITE_ALPHA |
 		     XY_SRC_COPY_BLT_WRITE_RGB | tiled << 15 | tiled << 11);
 	} else {
-	    OUT_RING(XY_SRC_COPY_BLT_CMD | tiled << 15 | tiled << 11);
+	    OUT_BATCH(XY_SRC_COPY_BLT_CMD | tiled << 15 | tiled << 11);
 	}
-	OUT_RING(pI830->BR[13]);
-	OUT_RING((dst_y1 << 16) | (dst_x1 & 0xffff));
-	OUT_RING((dst_y2 << 16) | (dst_x2 & 0xffff));
-	OUT_RING(pI830->bufferOffset);
-	OUT_RING((src_y1 << 16) | (src_x1 & 0xffff));
-	OUT_RING(pI830->BR[13] & 0xFFFF);
-	OUT_RING(pI830->bufferOffset);
-
-	ADVANCE_LP_RING();
+	OUT_BATCH(pI830->BR[13]);
+	OUT_BATCH((dst_y1 << 16) | (dst_x1 & 0xffff));
+	OUT_BATCH((dst_y2 << 16) | (dst_x2 & 0xffff));
+	OUT_BATCH(pI830->bufferOffset);
+	OUT_BATCH((src_y1 << 16) | (src_x1 & 0xffff));
+	OUT_BATCH(pI830->BR[13] & 0xFFFF);
+	OUT_BATCH(pI830->bufferOffset);
+
+	ADVANCE_BATCH();
     }
 
     if (IS_I965G(pI830))
@@ -506,28 +506,28 @@ I830SubsequentMono8x8PatternFillRect(ScrnInfoPtr pScrn, int pattx, int patty,
 	ErrorF("I830SubsequentMono8x8PatternFillRect\n");
 
     {
-	BEGIN_LP_RING(10);
+	BEGIN_BATCH(10);
 
 	if (pScrn->bitsPerPixel == 32) {
-	    OUT_RING(XY_MONO_PAT_BLT_CMD | XY_MONO_PAT_BLT_WRITE_ALPHA |
+	    OUT_BATCH(XY_MONO_PAT_BLT_CMD | XY_MONO_PAT_BLT_WRITE_ALPHA |
 		     XY_MONO_PAT_BLT_WRITE_RGB | tiled << 11 |
 		     ((patty << 8) & XY_MONO_PAT_VERT_SEED) |
 		     ((pattx << 12) & XY_MONO_PAT_HORT_SEED));
 	} else {
-	    OUT_RING(XY_MONO_PAT_BLT_CMD | tiled << 11 |
+	    OUT_BATCH(XY_MONO_PAT_BLT_CMD | tiled << 11 |
 		     ((patty << 8) & XY_MONO_PAT_VERT_SEED) |
 		     ((pattx << 12) & XY_MONO_PAT_HORT_SEED));
 	}
-	OUT_RING(pI830->BR[13]);
-	OUT_RING((y1 << 16) | x1);
-	OUT_RING((y2 << 16) | x2);
-	OUT_RING(pI830->bufferOffset);
-	OUT_RING(pI830->BR[18]);		/* bg */
-	OUT_RING(pI830->BR[19]);		/* fg */
-	OUT_RING(pI830->BR[16]);		/* pattern data */
-	OUT_RING(pI830->BR[17]);
-	OUT_RING(0);
-	ADVANCE_LP_RING();
+	OUT_BATCH(pI830->BR[13]);
+	OUT_BATCH((y1 << 16) | x1);
+	OUT_BATCH((y2 << 16) | x2);
+	OUT_BATCH(pI830->bufferOffset);
+	OUT_BATCH(pI830->BR[18]);		/* bg */
+	OUT_BATCH(pI830->BR[19]);		/* fg */
+	OUT_BATCH(pI830->BR[16]);		/* pattern data */
+	OUT_BATCH(pI830->BR[17]);
+	OUT_BATCH(0);
+	ADVANCE_BATCH();
     }
 
     if (IS_I965G(pI830))
@@ -630,23 +630,23 @@ I830SubsequentColorExpandScanline(ScrnInfoPtr pScrn, int bufno)
 	       bufno, pI830->BR[12]);
 
     {
-	BEGIN_LP_RING(8);
+	BEGIN_BATCH(8);
 
 	if (pScrn->bitsPerPixel == 32) {
-	    OUT_RING(XY_MONO_SRC_BLT_CMD | XY_MONO_SRC_BLT_WRITE_ALPHA |
+	    OUT_BATCH(XY_MONO_SRC_BLT_CMD | XY_MONO_SRC_BLT_WRITE_ALPHA |
 		     tiled << 11 | XY_MONO_SRC_BLT_WRITE_RGB);
 	} else {
-	    OUT_RING(XY_MONO_SRC_BLT_CMD | tiled << 11);
+	    OUT_BATCH(XY_MONO_SRC_BLT_CMD | tiled << 11);
 	}
-	OUT_RING(pI830->BR[13]);
-	OUT_RING(0);			/* x1 = 0, y1 = 0 */
-	OUT_RING(pI830->BR[11]);		/* x2 = w, y2 = 1 */
-	OUT_RING(pI830->BR[9]);		/* dst addr */
-	OUT_RING(pI830->BR[12]);		/* src addr */
-	OUT_RING(pI830->BR[18]);		/* bg */
-	OUT_RING(pI830->BR[19]);		/* fg */
-
-	ADVANCE_LP_RING();
+	OUT_BATCH(pI830->BR[13]);
+	OUT_BATCH(0);			/* x1 = 0, y1 = 0 */
+	OUT_BATCH(pI830->BR[11]);		/* x2 = w, y2 = 1 */
+	OUT_BATCH(pI830->BR[9]);		/* dst addr */
+	OUT_BATCH(pI830->BR[12]);		/* src addr */
+	OUT_BATCH(pI830->BR[18]);		/* bg */
+	OUT_BATCH(pI830->BR[19]);		/* fg */
+
+	ADVANCE_BATCH();
     }
 
     /* Advance to next scanline.
@@ -730,23 +730,23 @@ I830SubsequentImageWriteScanline(ScrnInfoPtr pScrn, int bufno)
 	       bufno, pI830->BR[12]);
 
     {
-	BEGIN_LP_RING(8);
+	BEGIN_BATCH(8);
 
 	if (pScrn->bitsPerPixel == 32) {
-	    OUT_RING(XY_SRC_COPY_BLT_CMD | XY_SRC_COPY_BLT_WRITE_ALPHA |
+	    OUT_BATCH(XY_SRC_COPY_BLT_CMD | XY_SRC_COPY_BLT_WRITE_ALPHA |
 		     tiled << 11 | XY_SRC_COPY_BLT_WRITE_RGB);
 	} else {
-	    OUT_RING(XY_SRC_COPY_BLT_CMD | tiled << 11);
+	    OUT_BATCH(XY_SRC_COPY_BLT_CMD | tiled << 11);
 	}
-	OUT_RING(pI830->BR[13]);
-	OUT_RING(0);				/* x1 = 0, y1 = 0 */
-	OUT_RING(pI830->BR[11]);		/* x2 = w, y2 = 1 */
-	OUT_RING(pI830->BR[9]);			/* dst addr */
-	OUT_RING(0);				/* source origin (0,0) */
-	OUT_RING(pI830->BR[11] & 0xffff);	/* source pitch */
-	OUT_RING(pI830->BR[12]);		/* src addr */
-
-	ADVANCE_LP_RING();
+	OUT_BATCH(pI830->BR[13]);
+	OUT_BATCH(0);				/* x1 = 0, y1 = 0 */
+	OUT_BATCH(pI830->BR[11]);		/* x2 = w, y2 = 1 */
+	OUT_BATCH(pI830->BR[9]);			/* dst addr */
+	OUT_BATCH(0);				/* source origin (0,0) */
+	OUT_BATCH(pI830->BR[11] & 0xffff);	/* source pitch */
+	OUT_BATCH(pI830->BR[12]);		/* src addr */
+
+	ADVANCE_BATCH();
     }
 
     /* Advance to next scanline.
commit 773eb6a4f0a50f013f937aaf687fa739d7b380ab
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Oct 22 09:13:31 2007 +1100

    batchbuffer: don't do a ring flush here

diff --git a/src/i830_accel.c b/src/i830_accel.c
index 1997605..5cfd46e 100644
--- a/src/i830_accel.c
+++ b/src/i830_accel.c
@@ -186,7 +186,7 @@ I830Sync(ScrnInfoPtr pScrn)
    if (pI830->use_ttm_batch) {
      intel_batchbuffer_flush(pI830->batch);
    }
-
+   else
    {
      if (IS_I965G(pI830))
        flags = 0;


More information about the xorg-commit mailing list