[Mesa-dev] [PATCH] glsl: enable textureSize and texelFetch on GLSL ES 3.10 with MS samplers
Timothy Arceri
t_arceri at yahoo.com.au
Mon Aug 17 03:58:16 PDT 2015
On Mon, 2015-08-17 at 12:25 +0300, Tapani Pälli wrote:
> Patch separates array samplers from the texture_multisample check so that we
> can enable only [iu]sampler2DMS, [iu]sampler2DMSArray are not supported.
>
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
> src/glsl/builtin_functions.cpp | 19 +++++++++++++------
> 1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp
> index 2175c66..04ad617 100644
> --- a/src/glsl/builtin_functions.cpp
> +++ b/src/glsl/builtin_functions.cpp
> @@ -270,6 +270,13 @@ texture_array(const _mesa_glsl_parse_state *state)
> static bool
> texture_multisample(const _mesa_glsl_parse_state *state)
> {
> + return state->is_version(150, 310) ||
> + state->ARB_texture_multisample_enable;
> +}
> +
> +static bool
> +texture_multisample_array(const _mesa_glsl_parse_state *state)
> +{
> return state->is_version(150, 0) ||
It seems these are enabled for ES 3.2 you could probably set this to 320 while
your at it.
> state->ARB_texture_multisample_enable;
> }
> @@ -1367,9 +1374,9 @@ builtin_builder::create_builtins()
> _textureSize(texture_multisample, glsl_type::ivec2_type,
> glsl_type::isampler2DMS_type),
> _textureSize(texture_multisample, glsl_type::ivec2_type,
> glsl_type::usampler2DMS_type),
>
> - _textureSize(texture_multisample, glsl_type::ivec3_type,
> glsl_type::sampler2DMSArray_type),
> - _textureSize(texture_multisample, glsl_type::ivec3_type,
> glsl_type::isampler2DMSArray_type),
> - _textureSize(texture_multisample, glsl_type::ivec3_type,
> glsl_type::usampler2DMSArray_type),
> + _textureSize(texture_multisample_array,
> glsl_type::ivec3_type, glsl_type::sampler2DMSArray_type),
> + _textureSize(texture_multisample_array,
> glsl_type::ivec3_type, glsl_type::isampler2DMSArray_type),
> + _textureSize(texture_multisample_array,
> glsl_type::ivec3_type, glsl_type::usampler2DMSArray_type),
> NULL);
>
> add_function("texture",
> @@ -1632,9 +1639,9 @@ builtin_builder::create_builtins()
> _texelFetch(texture_multisample, glsl_type::ivec4_type,
> glsl_type::isampler2DMS_type, glsl_type::ivec2_type),
> _texelFetch(texture_multisample, glsl_type::uvec4_type,
> glsl_type::usampler2DMS_type, glsl_type::ivec2_type),
>
> - _texelFetch(texture_multisample, glsl_type::vec4_type,
> glsl_type::sampler2DMSArray_type, glsl_type::ivec3_type),
> - _texelFetch(texture_multisample, glsl_type::ivec4_type,
> glsl_type::isampler2DMSArray_type, glsl_type::ivec3_type),
> - _texelFetch(texture_multisample, glsl_type::uvec4_type,
> glsl_type::usampler2DMSArray_type, glsl_type::ivec3_type),
> + _texelFetch(texture_multisample_array,
> glsl_type::vec4_type, glsl_type::sampler2DMSArray_type,
> glsl_type::ivec3_type),
> + _texelFetch(texture_multisample_array,
> glsl_type::ivec4_type, glsl_type::isampler2DMSArray_type,
> glsl_type::ivec3_type),
> + _texelFetch(texture_multisample_array,
> glsl_type::uvec4_type, glsl_type::usampler2DMSArray_type,
> glsl_type::ivec3_type),
> NULL);
>
> add_function("texelFetchOffset",
More information about the mesa-dev
mailing list