From: Zachary Michaels Date: Thu, 19 Jan 2017 09:50:16 +0000 (+0100) Subject: radeonsi: Always leave poly_offset in a valid state X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d7d32b3bfe86bd89d94d59393907bce1cb9dab7c;p=mesa.git radeonsi: Always leave poly_offset in a valid state This commit makes si_update_poly_offset set poly_offset to NULL if uses_poly_offset is false. This way poly_offset either points into the currently queued rasterizer, or it is NULL. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99451 Cc: "13.0 17.0" Reviewed-by: Nicolai Hähnle --- diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index f60a4992bc3..0ec34f961ac 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -717,8 +717,10 @@ static void si_update_poly_offset_state(struct si_context *sctx) { struct si_state_rasterizer *rs = sctx->queued.named.rasterizer; - if (!rs || !rs->uses_poly_offset || !sctx->framebuffer.state.zsbuf) + if (!rs || !rs->uses_poly_offset || !sctx->framebuffer.state.zsbuf) { + si_pm4_bind_state(sctx, poly_offset, NULL); return; + } /* Use the user format, not db_render_format, so that the polygon * offset behaves as expected by applications.