Mesa (master): llvmpipe: initialize llvmpipe->dirty with LP_NEW_SCISSOR

Brian Paul brianp at kemper.freedesktop.org
Wed Aug 30 02:50:44 UTC 2017


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

Author: Brian Paul <brianp at vmware.com>
Date:   Mon Aug 28 14:17:26 2017 -0600

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 <sroland at vmware.com>
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" <mesa-stable at lists.freedesktop.org>

---

 src/gallium/drivers/llvmpipe/lp_context.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/drivers/llvmpipe/lp_context.c b/src/gallium/drivers/llvmpipe/lp_context.c
index 599a9f1573..613d60fd62 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:




More information about the mesa-commit mailing list