[Mesa-dev] [PATCH 2/7] mesa/es3.1: enable GL_ARB_shader_image_load_store for gles3.1

Ian Romanick idr at freedesktop.org
Tue Jun 9 09:08:12 PDT 2015


On 06/09/2015 08:48 AM, Ian Romanick wrote:
> On 05/06/2015 01:53 AM, Marta Lofstedt wrote:
>> GL_ARB_shader_image_load store support is required for GLES 3.1
>> conformance.
>>
>> Signed-off-by: Marta Lofstedt <marta.lofstedt at intel.com>
>> ---
>>  src/mesa/main/get.c              | 6 ++++++
>>  src/mesa/main/get_hash_params.py | 8 ++++++++
>>  2 files changed, 14 insertions(+)
>>
>> diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
>> index 9898197..73739b6 100644
>> --- a/src/mesa/main/get.c
>> +++ b/src/mesa/main/get.c
>> @@ -355,6 +355,12 @@ static const int extra_ARB_draw_indirect_es31[] = {
>>     EXTRA_END
>>  };
>>  
>> +static const int extra_ARB_shader_image_load_store_es31[] = {
>> +   EXT(ARB_shader_image_load_store),
>> +   EXTRA_API_ES31,
>> +   EXTRA_END
>> +};
>> +
>>  EXTRA_EXT(ARB_texture_cube_map);
>>  EXTRA_EXT(EXT_texture_array);
>>  EXTRA_EXT(NV_fog_distance);
>> diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
>> index 998efe8..a45e87c 100644
>> --- a/src/mesa/main/get_hash_params.py
>> +++ b/src/mesa/main/get_hash_params.py
>> @@ -409,6 +409,14 @@ descriptor=[
>>    [ "SAMPLER_BINDING", "LOC_CUSTOM, TYPE_INT, GL_SAMPLER_BINDING, NO_EXTRA" ],
>>  # GL_ARB_draw_indirect / GLES 3.1
>>    [ "DRAW_INDIRECT_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_draw_indirect_es31" ],
>> +# GL_ARB_shader_image_load_store / GLES 3.1
>> +  [ "MAX_IMAGE_UNITS", "CONTEXT_INT(Const.MaxImageUnits), extra_ARB_shader_image_load_store_es31"],
>> +  [ "MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS", "CONTEXT_INT(Const.MaxCombinedImageUnitsAndFragmentOutputs), extra_ARB_shader_image_load_store_es31"],
>> +  [ "MAX_IMAGE_SAMPLES", "CONTEXT_INT(Const.MaxImageSamples), extra_ARB_shader_image_load_store_es31"],
>> +  [ "MAX_VERTEX_IMAGE_UNIFORMS", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxImageUniforms), extra_ARB_shader_image_load_store_es31"],
>> +  [ "MAX_GEOMETRY_IMAGE_UNIFORMS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxImageUniforms), extra_ARB_shader_image_load_store_es31"],
> 
> Does ES 3.1 add the geometry query?
> 
>> +  [ "MAX_FRAGMENT_IMAGE_UNIFORMS", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxImageUniforms), extra_ARB_shader_image_load_store_es31"],
>> +  [ "MAX_COMBINED_IMAGE_UNIFORMS", "CONTEXT_INT(Const.MaxCombinedImageUniforms), extra_ARB_shader_image_load_store_es31"],

Looking at this a little more, I think the existing block of these enums
should be removed (except MAX_GEOMETRY_IMAGE_UNIFORMS), and this block
should be added to the existing "["GL", "GL_CORE", "GLES3"]" block.

It looks like the rest of the patches in this series have a similar
issue.  Patch 3 also has the geometry shader issue.

>>  ]},
>>  
>>  # Remaining enums are only in OpenGL
>>
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev



More information about the mesa-dev mailing list