summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2014-04-09 22:54:11 -0700
committerKenneth Graunke <[email protected]>2014-04-10 23:38:10 -0700
commit227049098b59bca88883a750602fdad41949c996 (patch)
tree439a4117942a884e3a1880f57548dfb850b46448
parent31640f4c389641d458da31db137280431400bdfc (diff)
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 <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Tested-by: James Ausmus <[email protected]> Tested-by: Timo Aaltonen <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/gen8_viewport_state.c4
1 files 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 344310e35c1..b366246fba3 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,
},