From 5f1a16d06d8b2cf6942b1e4b250842ec0be2c8a4 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Thu, 25 Jun 2020 17:12:57 +0200 Subject: [PATCH] st/mesa: do not clear NewDriverState for inactive states MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes: 085aa7f91e8 ("st/mesa: don't update atomic, SSBO, UBO and TBO states that have no effect") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2951 Reviewed-by: Marek Olšák Part-of: --- src/mesa/state_tracker/st_atom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/state_tracker/st_atom.c b/src/mesa/state_tracker/st_atom.c index 11b0ce6ec55..181134a2207 100644 --- a/src/mesa/state_tracker/st_atom.c +++ b/src/mesa/state_tracker/st_atom.c @@ -181,7 +181,7 @@ void st_validate_state( struct st_context *st, enum st_pipeline pipeline ) * Inactive states are shader states not used by shaders at the moment. */ st->dirty |= ctx->NewDriverState & st->active_states & ST_ALL_STATES_MASK; - ctx->NewDriverState = 0; + ctx->NewDriverState &= ~st->dirty; /* Get pipeline state. */ switch (pipeline) { -- 2.30.2