st/mesa: do not clear NewDriverState for inactive states

Fixes: 085aa7f91e ("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 <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5660>
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2020-06-25 17:12:57 +02:00
parent 7940b47de6
commit 5f1a16d06d

View file

@ -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) {