[Mesa-dev] [PATCH] glsl: enable textureSize and texelFetch on GLSL ES 3.10 with MS samplers
Tapani Pälli
tapani.palli at intel.com
Mon Aug 17 04:23:17 PDT 2015
On 08/17/2015 01:58 PM, Timothy Arceri wrote:
> 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.
I can add this version check when enabling
GL_OES_texture_storage_multisample_2d_array later.
>
>> 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