From 88cdf16871a0f1cd8ec3844072051ee38e945600 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 28 Aug 2017 14:17:26 -0600 Subject: [PATCH] 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" --- 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 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: -- 2.30.2