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

Dieter Nützel Dieter at nuetzel-hh.de
Wed Mar 14 20:26:07 UTC 2018


For the series

Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>

on Polaris 20 (RX580) with several Wine-staging (Nine) apps, but I've to 
note, that I do NOT have Guild Wars 2 and Torchlight...

Dieter

Am 13.03.2018 23:09, schrieb Axel Davy:
> 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);


More information about the mesa-dev mailing list