xf86-video-ati: Branch 'master' - 2 commits

Alex Deucher agd5f at kemper.freedesktop.org
Fri Dec 5 14:54:27 PST 2008


 man/radeon.man                   |    3 +
 src/radeon_textured_videofuncs.c |   64 +++++++++++++++++++--------------------
 2 files changed, 34 insertions(+), 33 deletions(-)

New commits:
commit 979ad04d901676cb41aea5cf47a8a2e9c19064dd
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Fri Dec 5 17:53:57 2008 -0500

    Add missing .TP in man page

diff --git a/man/radeon.man b/man/radeon.man
index b347001..57a7af5 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -515,7 +515,8 @@ The default is
 This option allows you to disable int10 initialization.  Set this to 
 False if you are experiencing a hang when initializing a secondary card.
 The default is
-.B on. 
+.B on.
+.TP 
 .BI "Option \*qEXAVSync\*q \*q" boolean \*q
 This option attempts to avoid tearing by stalling the engine until the display
 controller has passed the destination region.  It reduces tearing at the cost
commit b89d434011787fb71593395f462d142375783e35
Author: Pierre Ossman <pierre at ossman.eu>
Date:   Fri Dec 5 17:52:02 2008 -0500

    Fix scissor setup for Xv
    
    We need to adjust the scissoring for each clip box, so move the setup
    to inside the while loop.

diff --git a/src/radeon_textured_videofuncs.c b/src/radeon_textured_videofuncs.c
index e324fd9..908f4b6 100644
--- a/src/radeon_textured_videofuncs.c
+++ b/src/radeon_textured_videofuncs.c
@@ -1475,6 +1475,17 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
 	}
     }
 
+    FUNC_NAME(RADEONWaitForVLine)(pScrn, pPixmap,
+				  radeon_covering_crtc_num(pScrn,
+							   pPriv->drw_x,
+							   pPriv->drw_x + pPriv->dst_w,
+							   pPriv->drw_y,
+							   pPriv->drw_y + pPriv->dst_h,
+							   pPriv->desired_crtc),
+				  pPriv->drw_y,
+				  pPriv->drw_y + pPriv->dst_h,
+				  pPriv->vsync);
+
     /*
      * Rendering of the actual polygon is done in two different
      * ways depending on chip generation:
@@ -1492,38 +1503,6 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
      *     functionality to restrict it to the desired rectangle.
      */
 
-    if (IS_R300_3D || IS_R500_3D) {
-	/*
-	 * Set up the scissor area to that of the output size.
-	 */
-
-	BEGIN_ACCEL(2);
-	if (IS_R300_3D) {
-	    /* R300 has an offset */
-	    OUT_ACCEL_REG(R300_SC_SCISSOR0, (((pPriv->drw_x + 1088) << R300_SCISSOR_X_SHIFT) |
-					     ((pPriv->drw_y + 1088) << R300_SCISSOR_Y_SHIFT)));
-	    OUT_ACCEL_REG(R300_SC_SCISSOR1, (((pPriv->drw_x + pPriv->dst_w + 1088 - 1) << R300_SCISSOR_X_SHIFT) |
-					     ((pPriv->drw_y + pPriv->dst_h + 1088 - 1) << R300_SCISSOR_Y_SHIFT)));
-	} else {
-	    OUT_ACCEL_REG(R300_SC_SCISSOR0, (((pPriv->drw_x) << R300_SCISSOR_X_SHIFT) |
-					     ((pPriv->drw_y) << R300_SCISSOR_Y_SHIFT)));
-	    OUT_ACCEL_REG(R300_SC_SCISSOR1, (((pPriv->drw_x + pPriv->dst_w - 1) << R300_SCISSOR_X_SHIFT) |
-					     ((pPriv->drw_y + pPriv->dst_h - 1) << R300_SCISSOR_Y_SHIFT)));
-	}
-	FINISH_ACCEL();
-    }
-
-    FUNC_NAME(RADEONWaitForVLine)(pScrn, pPixmap,
-				  radeon_covering_crtc_num(pScrn,
-							   pPriv->drw_x,
-							   pPriv->drw_x + pPriv->dst_w,
-							   pPriv->drw_y,
-							   pPriv->drw_y + pPriv->dst_h,
-							   pPriv->desired_crtc),
-				  pPriv->drw_y,
-				  pPriv->drw_y + pPriv->dst_h,
-				  pPriv->vsync);
-
     while (nBox--) {
 	int srcX, srcY, srcw, srch;
 	int dstX, dstY, dstw, dsth;
@@ -1545,6 +1524,27 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
 	ErrorF("src: %d, %d, %d, %d\n", srcX, srcY, srcw, srch);
 #endif
 
+	if (IS_R300_3D || IS_R500_3D) {
+	    /*
+	     * Set up the scissor area to that of the output size.
+	     */
+
+	    BEGIN_ACCEL(2);
+	    if (IS_R300_3D) {
+		/* R300 has an offset */
+		OUT_ACCEL_REG(R300_SC_SCISSOR0, (((dstX + 1088) << R300_SCISSOR_X_SHIFT) |
+						 ((dstY + 1088) << R300_SCISSOR_Y_SHIFT)));
+		OUT_ACCEL_REG(R300_SC_SCISSOR1, (((dstX + dstw + 1088 - 1) << R300_SCISSOR_X_SHIFT) |
+						 ((dstY + dsth + 1088 - 1) << R300_SCISSOR_Y_SHIFT)));
+	    } else {
+		OUT_ACCEL_REG(R300_SC_SCISSOR0, (((dstX) << R300_SCISSOR_X_SHIFT) |
+						 ((dstY) << R300_SCISSOR_Y_SHIFT)));
+		OUT_ACCEL_REG(R300_SC_SCISSOR1, (((dstX + dstw - 1) << R300_SCISSOR_X_SHIFT) |
+						 ((dstY + dsth - 1) << R300_SCISSOR_Y_SHIFT)));
+	    }
+	    FINISH_ACCEL();
+	}
+
 #ifdef ACCEL_CP
 	if (info->ChipFamily < CHIP_FAMILY_R200) {
 	    BEGIN_RING(3 * vtx_count + 3);


More information about the xorg-commit mailing list