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

marta.lofstedt at linux.intel.com marta.lofstedt at linux.intel.com
Fri May 8 00:16:11 PDT 2015


>
>
> On 05/08/2015 12:13 AM, Ian Romanick wrote:
>> On 05/07/2015 12:57 AM, Marta Lofstedt wrote:
>>> From: Marta Lofstedt <marta.lofstedt at intel.com>
>>>
>>> v2: only expose enums from GL_ARB_shader_image_load_store
>>> for gles 3.1 and GL core
>>>
>>> Signed-off-by: Marta Lofstedt <marta.lofstedt at intel.com>
>>> ---
>>>   src/mesa/main/get.c              |  6 ++++++
>>>   src/mesa/main/get_hash_params.py | 17 ++++++++---------
>>>   2 files changed, 14 insertions(+), 9 deletions(-)
>>>
>>> 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,
>>
>> I think you're missing the patch that adds EXTRA_API_ES31.  Did you
>> forget to send that one out?
>
> Marta's series builds on top of my patch here that adds EXTRA_API_ES31:
>
> http://lists.freedesktop.org/archives/mesa-dev/2015-May/083593.html
>
>> Also, on a few of these patches, I think the old, non-_es31 set of
>> requirements can be removed due to no longer being used.
>>

Ian, are you referring to the stuff that is left with the
extra_ARB_shader_atomic_counters_and_geometry_shader: do you want me to
remove those and it's companion struct in get.c?

>>> +   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 513d5d2..85c2494 100644
>>> --- a/src/mesa/main/get_hash_params.py
>>> +++ b/src/mesa/main/get_hash_params.py
>>> @@ -413,6 +413,14 @@ descriptor=[
>>>   { "apis": ["GL_CORE", "GLES3"], "params": [
>>>   # 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"],
>>> +  [ "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"],
>>>   ]},
>>>
>>>   # Remaining enums are only in OpenGL
>>> @@ -780,15 +788,6 @@ descriptor=[
>>>     [ "MAX_VERTEX_ATTRIB_RELATIVE_OFFSET",
>>> "CONTEXT_ENUM(Const.MaxVertexAttribRelativeOffset), NO_EXTRA" ],
>>>     [ "MAX_VERTEX_ATTRIB_BINDINGS",
>>> "CONTEXT_ENUM(Const.MaxVertexAttribBindings), NO_EXTRA" ],
>>>
>>> -# GL_ARB_shader_image_load_store
>>> -  [ "MAX_IMAGE_UNITS", "CONTEXT_INT(Const.MaxImageUnits),
>>> extra_ARB_shader_image_load_store"],
>>> -  [ "MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS",
>>> "CONTEXT_INT(Const.MaxCombinedImageUnitsAndFragmentOutputs),
>>> extra_ARB_shader_image_load_store"],
>>> -  [ "MAX_IMAGE_SAMPLES", "CONTEXT_INT(Const.MaxImageSamples),
>>> extra_ARB_shader_image_load_store"],
>>> -  [ "MAX_VERTEX_IMAGE_UNIFORMS",
>>> "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxImageUniforms),
>>> extra_ARB_shader_image_load_store"],
>>> -  [ "MAX_GEOMETRY_IMAGE_UNIFORMS",
>>> "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxImageUniforms),
>>> extra_ARB_shader_image_load_store_and_geometry_shader"],
>>> -  [ "MAX_FRAGMENT_IMAGE_UNIFORMS",
>>> "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxImageUniforms),
>>> extra_ARB_shader_image_load_store"],
>>> -  [ "MAX_COMBINED_IMAGE_UNIFORMS",
>>> "CONTEXT_INT(Const.MaxCombinedImageUniforms),
>>> extra_ARB_shader_image_load_store"],
>>> -
>>>   # GL_ARB_compute_shader
>>>     [ "MAX_COMPUTE_WORK_GROUP_INVOCATIONS",
>>> "CONTEXT_INT(Const.MaxComputeWorkGroupInvocations),
>>> extra_ARB_compute_shader" ],
>>>     [ "MAX_COMPUTE_UNIFORM_BLOCKS", "CONST(MAX_COMPUTE_UNIFORM_BLOCKS),
>>> extra_ARB_compute_shader" ],
>>>
>>
>> _______________________________________________
>> 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