diff --git a/src/mesa/state_tracker/st_atom_sampler.c b/src/mesa/state_tracker/st_atom_sampler.c index 50fd4ecafa2..3ea5a25464e 100644 --- a/src/mesa/state_tracker/st_atom_sampler.c +++ b/src/mesa/state_tracker/st_atom_sampler.c @@ -239,7 +239,6 @@ st_convert_sampler_from_unit(const struct st_context *st, texobj = ctx->Texture.Unit[texUnit]._Current; assert(texobj); - assert(texobj->Target != GL_TEXTURE_BUFFER); msamp = _mesa_get_samplerobj(ctx, texUnit); @@ -289,7 +288,8 @@ update_shader_samplers(struct st_context *st, * states that are NULL. */ if (samplers_used & 1 && - ctx->Texture.Unit[tex_unit]._Current->Target != GL_TEXTURE_BUFFER) { + (ctx->Texture.Unit[tex_unit]._Current->Target != GL_TEXTURE_BUFFER || + st->texture_buffer_sampler)) { st_convert_sampler_from_unit(st, sampler, tex_unit); states[unit] = sampler; } else {