[Mesa-dev] [PATCH] RFC: gallium: increase PIPE_MAX_SHADER_SAMPLER_VIEWS to 128
Roland Scheidegger
sroland at vmware.com
Tue Feb 27 02:45:48 UTC 2018
Am 27.02.2018 um 03:38 schrieb sroland at vmware.com:
> From: Roland Scheidegger <sroland at vmware.com>
>
> Some state trackers require 128.
> (There are no plans to increase PIPE_MAX_SAMPLERS too, since with gl
> state tracker it's unlikely more than 32 will be needed, if you need
> more use bindless.)
> ---
> src/gallium/include/pipe/p_state.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h
> index 2b56d60..cddb3b4 100644
> --- a/src/gallium/include/pipe/p_state.h
> +++ b/src/gallium/include/pipe/p_state.h
> @@ -64,7 +64,7 @@ extern "C" {
> #define PIPE_MAX_SAMPLERS 32
> #define PIPE_MAX_SHADER_INPUTS 80 /* 32 GENERIC + 32 PATCH + 16 others */
> #define PIPE_MAX_SHADER_OUTPUTS 80 /* 32 GENERIC + 32 PATCH + 16 others */
> -#define PIPE_MAX_SHADER_SAMPLER_VIEWS 32
> +#define PIPE_MAX_SHADER_SAMPLER_VIEWS 128
> #define PIPE_MAX_SHADER_BUFFERS 32
> #define PIPE_MAX_SHADER_IMAGES 32
> #define PIPE_MAX_TEXTURE_LEVELS 16
>
FWIW if drivers are doing the right thing (so, don't blindly announce
support for PIPE_MAX_SHADER_SAMPLER_VIEWS assuming it's 32 if you can't
handle more etc.), this should just work. It will, however, make some
allocations bigger (cso context comes to mind, but there's probably
more), so I think it warrants some discussion. Apart from that I don't
think there should really be any performance degradation, since code
should not blindly iterate over max views typically (rather, only the
views up to the max number which has changed and so on).
If not everybody is happy with it, I suppose it could be made into a
define coming from the build system(s) - we'd rather avoid doing this in
just a private branch instead, to not getting it broken due to funny
ideas (e.g. 32 bit bitfields representing active units or similar
things) in shared code.
Opinions?
Roland
More information about the mesa-dev
mailing list