nv50: make sure we don't re-emit outdated scissor state
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>
Fri, 14 Aug 2009 16:16:46 +0000 (18:16 +0200)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Fri, 14 Aug 2009 16:16:46 +0000 (18:16 +0200)
Since we don't turn off scissors, we need to update the
stateobj when the framebuffer size changes.

src/gallium/drivers/nv50/nv50_state_validate.c

index b872684040ae99e8cbb40498f4c8c10424a69883..42ecf05580e2c74e508f71d1829f0ef5706f99b3 100644 (file)
@@ -124,10 +124,6 @@ nv50_state_validate_fb(struct nv50_context *nv50)
        so_method(so, tesla, NV50TCL_VIEWPORT_HORIZ, 2);
        so_data  (so, w << 16);
        so_data  (so, h << 16);
-       /* set window scissor rectangle to window extents */
-       so_method(so, tesla, NV50TCL_SCISSOR_HORIZ, 2);
-       so_data  (so, w << 16);
-       so_data  (so, h << 16);
        /* set window lower left corner */
        so_method(so, tesla, NV50TCL_WINDOW_LEFT, 2);
        so_data  (so, 0);
@@ -137,6 +133,10 @@ nv50_state_validate_fb(struct nv50_context *nv50)
        so_data  (so, w << 16);
        so_data  (so, h << 16);
 
+       /* we set scissors to framebuffer size when they're 'turned off' */
+       nv50->dirty |= NV50_NEW_SCISSOR;
+       so_ref(NULL, &nv50->state.scissor);
+
        so_ref(so, &nv50->state.fb);
        so_ref(NULL, &so);
 }