i965/clip: Removing scissor atom
authorBen Widawsky <benjamin.widawsky@intel.com>
Wed, 30 Jul 2014 18:39:06 +0000 (11:39 -0700)
committerBen Widawsky <benjamin.widawsky@intel.com>
Mon, 11 Aug 2014 00:13:36 +0000 (17:13 -0700)
Now that we no longer use ctx->DrawBuffer->_Xmin and related fields to
program the screen-space viewport extents, we don't depend on any
scissoring state.  So we can drop the +_NEW_SCISSOR dependency.

On GEN8, a change in scissor state does not effect anything for the
clipper/sf hardware state. The hardware will always do the right thing
once the viewport extents are programmed. We can therefore remove the
unecessary state emission.

Ken originally spotted this.

v2: Reword the commit message. Remove spurious hunk.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/gen8_viewport_state.c

index 04a45300b4bce5b07bbde35514185345c7d30236..9c89532580c5c584db9cb5e9893d9412514f65a2 100644 (file)
@@ -100,7 +100,7 @@ gen8_upload_sf_clip_viewport(struct brw_context *brw)
       vp[10] = -gby; /* y-min */
       vp[11] =  gby; /* y-max */
 
-      /* _NEW_SCISSOR | _NEW_VIEWPORT | _NEW_BUFFERS: Screen Space Viewport
+      /* _NEW_VIEWPORT | _NEW_BUFFERS: Screen Space Viewport
        * The hardware will take the intersection of the drawing rectangle,
        * scissor rectangle, and the viewport extents. We don't need to be
        * smart, and can therefore just program the viewport extents.
@@ -130,7 +130,7 @@ gen8_upload_sf_clip_viewport(struct brw_context *brw)
 
 const struct brw_tracked_state gen8_sf_clip_viewport = {
    .dirty = {
-      .mesa = _NEW_BUFFERS | _NEW_SCISSOR | _NEW_VIEWPORT,
+      .mesa = _NEW_BUFFERS | _NEW_VIEWPORT,
       .brw = BRW_NEW_BATCH,
       .cache = 0,
    },