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@gmail.com> Reviewed-by: Patrick Rudolph <siro@das-labor.org> Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user