diff options
Diffstat (limited to 'src/mesa/state_tracker/st_draw.c')
-rw-r--r-- | src/mesa/state_tracker/st_draw.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index 92eb4a39e9b..b248dafc9a2 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -173,7 +173,8 @@ st_draw_vbo(struct gl_context *ctx, st_invalidate_readpix_cache(st); /* Validate state. */ - if ((st->dirty | ctx->NewDriverState) & ST_PIPELINE_RENDER_STATE_MASK) { + if ((st->dirty | ctx->NewDriverState) & ST_PIPELINE_RENDER_STATE_MASK || + st->gfx_shaders_may_be_dirty) { st_validate_state(st, ST_PIPELINE_RENDER); } @@ -278,7 +279,8 @@ st_indirect_draw_vbo(struct gl_context *ctx, assert(stride); /* Validate state. */ - if ((st->dirty | ctx->NewDriverState) & ST_PIPELINE_RENDER_STATE_MASK) { + if ((st->dirty | ctx->NewDriverState) & ST_PIPELINE_RENDER_STATE_MASK || + st->gfx_shaders_may_be_dirty) { st_validate_state(st, ST_PIPELINE_RENDER); } |