diff --git a/src/mesa/state_tracker/st_atom_sampler.c b/src/mesa/state_tracker/st_atom_sampler.c index ad159c64dc1..8845fed512f 100644 --- a/src/mesa/state_tracker/st_atom_sampler.c +++ b/src/mesa/state_tracker/st_atom_sampler.c @@ -201,6 +201,8 @@ update_vertex_samplers(struct st_context *st) struct gl_vertex_program *vprog = ctx->VertexProgram._Current; GLuint su; + if (st->state.num_vertex_samplers == 0 && vprog->Base.SamplersUsed == 0) + return; st->state.num_vertex_samplers = 0; /* loop over sampler units (aka tex image units) */ diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c index 88e6128c8f7..d241527cc6a 100644 --- a/src/mesa/state_tracker/st_atom_texture.c +++ b/src/mesa/state_tracker/st_atom_texture.c @@ -260,6 +260,9 @@ update_vertex_textures(struct st_context *st) struct gl_vertex_program *vprog = ctx->VertexProgram._Current; GLuint su; + if (!vprog->Base.SamplersUsed && st->state.num_vertex_textures == 0) + return; + st->state.num_vertex_textures = 0; /* loop over sampler units (aka tex image units) */