Mesa (master): i965: Fix missing _NEW_SCISSOR in Broadwell SF_CLIP_VIEWPORT state.

Kenneth Graunke kwg at kemper.freedesktop.org
Fri Apr 11 06:38:22 UTC 2014


Module: Mesa
Branch: master
Commit: 227049098b59bca88883a750602fdad41949c996
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=227049098b59bca88883a750602fdad41949c996

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Apr  9 22:54:11 2014 -0700

i965: Fix missing _NEW_SCISSOR in Broadwell SF_CLIP_VIEWPORT state.

The _Xmin/_Xmax/_Ymin/_Ymax values need to be guarded by _NEW_SCISSOR.

Fixes Piglit's scissor-many, and rendering in GNOME Shell.
Hopefully fixes similar issues with Unity and ChromeOS.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75879
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Tested-by: James Ausmus <james.ausmus at intel.com>
Tested-by: Timo Aaltonen <tjaalton at ubuntu.com>

---

 src/mesa/drivers/dri/i965/gen8_viewport_state.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/gen8_viewport_state.c b/src/mesa/drivers/dri/i965/gen8_viewport_state.c
index 344310e..b366246 100644
--- a/src/mesa/drivers/dri/i965/gen8_viewport_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_viewport_state.c
@@ -86,7 +86,7 @@ gen8_upload_sf_clip_viewport(struct brw_context *brw)
       vp[10] = -gby; /* y-min */
       vp[11] =  gby; /* y-max */
 
-      /* Screen Space Viewport */
+      /* _NEW_SCISSOR | _NEW_VIEWPORT | _NEW_BUFFERS: Screen Space Viewport */
       if (render_to_fbo) {
          vp[12] = ctx->DrawBuffer->_Xmin;
          vp[13] = ctx->DrawBuffer->_Xmax - 1;
@@ -110,7 +110,7 @@ gen8_upload_sf_clip_viewport(struct brw_context *brw)
 
 const struct brw_tracked_state gen8_sf_clip_viewport = {
    .dirty = {
-      .mesa = _NEW_VIEWPORT | _NEW_BUFFERS,
+      .mesa = _NEW_BUFFERS | _NEW_SCISSOR | _NEW_VIEWPORT,
       .brw = BRW_NEW_BATCH,
       .cache = 0,
    },




More information about the mesa-commit mailing list