From: Brian Paul Date: Mon, 28 Aug 2017 20:17:26 +0000 (-0600) Subject: llvmpipe: initialize llvmpipe->dirty with LP_NEW_SCISSOR X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=88cdf16871a0f1cd8ec3844072051ee38e945600;p=mesa.git 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 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" --- 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: