st/mesa: don't update atomic, SSBO, UBO and TBO states that have no effect

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Marek Olšák 2016-08-02 18:38:45 +02:00
parent ac032d800e
commit 085aa7f91e

View file

@ -157,9 +157,12 @@ void st_validate_state( struct st_context *st, enum st_pipeline pipeline )
uint64_t dirty, pipeline_mask; uint64_t dirty, pipeline_mask;
uint32_t dirty_lo, dirty_hi; uint32_t dirty_lo, dirty_hi;
/* Get Mesa driver state. */ /* Get Mesa driver state.
st->dirty |= st->ctx->NewDriverState & ST_ALL_STATES_MASK; *
st->ctx->NewDriverState = 0; * 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;
/* Get pipeline state. */ /* Get pipeline state. */
switch (pipeline) { switch (pipeline) {