r300-gallium: Move scissor state.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Thu, 5 Mar 2009 19:01:03 +0000 (11:01 -0800)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Thu, 5 Mar 2009 20:41:54 +0000 (12:41 -0800)
Keep it grouped with all the other parameterized state.

src/gallium/drivers/r300/r300_surface.c

index c2fd744e42608d9a7a3aed7633b0d4ea9becef32..1913ffce1ea09d079bb4c945087d78216134a36c 100644 (file)
@@ -185,11 +185,6 @@ static void r300_surface_fill(struct pipe_context* pipe,
     /* XXX */
     OUT_CS_REG(R300_SC_CLIP_RULE, 0xaaaa);
 
-    /* Pixel scissors */
-    OUT_CS_REG_SEQ(R300_SC_SCISSORS_TL, 2);
-    OUT_CS((x << R300_SCISSORS_X_SHIFT) | (y << R300_SCISSORS_Y_SHIFT));
-    OUT_CS((w << R300_SCISSORS_X_SHIFT) | (h << R300_SCISSORS_Y_SHIFT));
-
     /* RS block setup */
     if (caps->is_r500) {
         /* XXX We seem to be in disagreement about how many of these we have
@@ -264,6 +259,11 @@ static void r300_surface_fill(struct pipe_context* pipe,
     }
     END_CS;
 
+    /* Pixel scissors */
+    OUT_CS_REG_SEQ(R300_SC_SCISSORS_TL, 2);
+    OUT_CS((x << R300_SCISSORS_X_SHIFT) | (y << R300_SCISSORS_Y_SHIFT));
+    OUT_CS((w << R300_SCISSORS_X_SHIFT) | (h << R300_SCISSORS_Y_SHIFT));
+
     /* The size of the point we're about to draw, in sixths of pixels */
     OUT_CS_REG(R300_GA_POINT_SIZE,
         ((h * 6) & R300_POINTSIZE_Y_MASK) |