Mesa (master): st/nine: Fix bad tracking of bound vs textures

Axel Davy axeldavy at kemper.freedesktop.org
Sun Mar 18 21:54:53 UTC 2018


Module: Mesa
Branch: master
Commit: 76fa1f730b7ee232021bb20bae0ead6779941cf1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=76fa1f730b7ee232021bb20bae0ead6779941cf1

Author: Axel Davy <davyaxel0 at gmail.com>
Date:   Sat Mar 10 14:21:52 2018 +0100

st/nine: Fix bad tracking of bound vs textures

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>
Reviewed-by: Patrick Rudolph <siro at das-labor.org>
Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>

---

 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);




More information about the mesa-commit mailing list