An incorrect formula was used to compute bound_samplers_mask_vs. Since s is above always 8 for vs and the variable is encoded on 8 bits, it was always 0. This resulted in commiting the samplers every call when there was at least one texture read in the vs shader.
Signed-off-by: Axel Davy <davyax...@gmail.com> --- src/gallium/state_trackers/nine/nine_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/state_trackers/nine/nine_state.c b/src/gallium/state_trackers/nine/nine_state.c index 26b2dea3bd..c81a05a952 100644 --- a/src/gallium/state_trackers/nine/nine_state.c +++ b/src/gallium/state_trackers/nine/nine_state.c @@ -980,7 +980,7 @@ update_textures_and_samplers(struct NineDevice9 *device) context->changed.sampler[s] = ~0; } - context->bound_samplers_mask_vs |= (1 << s); + context->bound_samplers_mask_vs |= (1 << i); } cso_set_sampler_views(context->cso, PIPE_SHADER_VERTEX, num_textures, view); -- 2.16.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev