summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2017-08-28 14:17:26 -0600
committerBrian Paul <[email protected]>2017-08-29 20:49:36 -0600
commit88cdf16871a0f1cd8ec3844072051ee38e945600 (patch)
treed3c11d1f413749f9909cd0909fd0c0b0afbdf0ef
parentdf85a0f54e0ae3925271da5b1fb63adfdbb3fdbd (diff)
llvmpipe: initialize llvmpipe->dirty with LP_NEW_SCISSOR
If llvmpipe_set_scissor_states() is never called, we still need to be sure that derived scissor/clip state is updated. As of commit 743ad599a97d09b1 that function might not be called. Fixes regressed Piglit gl-1.0-scissor-offscreen -fbo -auto test. Reviewed-by: Roland Scheidegger <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101709 Fixes: 743ad599a97 ("st/mesa: don't set 16 scissors and 16 viewports if they're unused") Cc: "17.2" <[email protected]>
-rw-r--r--src/gallium/drivers/llvmpipe/lp_context.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_context.c b/src/gallium/drivers/llvmpipe/lp_context.c
index 599a9f1573a..613d60fd623 100644
--- a/src/gallium/drivers/llvmpipe/lp_context.c
+++ b/src/gallium/drivers/llvmpipe/lp_context.c
@@ -227,6 +227,12 @@ llvmpipe_create_context(struct pipe_screen *screen, void *priv,
lp_reset_counters();
+ /* If llvmpipe_set_scissor_states() is never called, we still need to
+ * make sure that derived scissor state is computed.
+ * See https://bugs.freedesktop.org/show_bug.cgi?id=101709
+ */
+ llvmpipe->dirty |= LP_NEW_SCISSOR;
+
return &llvmpipe->pipe;
fail: