[Mesa-dev] [PATCH 1/4] st/nine: Fix bad tracking of bound vs textures

Axel Davy davyaxel0 at gmail.com
Tue Mar 13 22:09:39 UTC 2018


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 <davyaxel0 at 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



More information about the mesa-dev mailing list