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

Lofstedt, Marta marta.lofstedt at intel.com
Mon Jul 27 03:55:32 PDT 2015



> -----Original Message-----
> From: mesa-dev [mailto:mesa-dev-bounces at lists.freedesktop.org] On
> Behalf Of Samuel Iglesias Gonsálvez
> Sent: Monday, July 27, 2015 8:41 AM
> To: Marta Lofstedt; mesa-dev at lists.freedesktop.org
> Subject: Re: [Mesa-dev] [PATCH V5 2/7] mesa/es3.1: enable
> GL_ARB_shader_image_load_store for GLES 3.1
> 
> 
> 
> On 23/07/15 16:38, Marta Lofstedt wrote:
> > From: Marta Lofstedt <marta.lofstedt at intel.com>
> >
> > 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, 17 insertions(+), 6 deletions(-)
> >
> > diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index
> > ec7eb71..dc04930 100644
> > --- a/src/mesa/main/get.c
> > +++ b/src/mesa/main/get.c
> > @@ -367,6 +367,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 4137e7f..85df077 100644
> > --- a/src/mesa/main/get_hash_params.py
> > +++ b/src/mesa/main/get_hash_params.py
> > @@ -407,6 +407,17 @@ descriptor=[
> >    [ "TEXTURE_EXTERNAL_OES", "LOC_CUSTOM, TYPE_BOOLEAN, 0,
> > extra_OES_EGL_image_external" ],  ]},
> >
> > +# Enums in OpenGL and ES 3.1
> > +{ "apis": ["GL", "GL_CORE", "GLES31"], "params": [ #
> > +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" ],
> 
> I have not found
> MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS in GLES
> 3.1 spec. Only MAX_COMBINED_TEXTURE_IMAGE_UNITS which is missing in
> this patch.
> 
> Can you verify it?

MAX_COMBINED_TEXTURE_IMAGE_UNITS is defined in src/mesa/main/config.h 
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS is available already in gles3, so I assume that it already works.

I will however remove the MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS from GLES31
And put it back to the GL section where it came from.

>  
> > +  [ "MAX_IMAGE_SAMPLES", "CONTEXT_INT(Const.MaxImageSamples),
> > + extra_ARB_shader_image_load_store_es31" ],
> 
> I have not found MAX_IMAGE_SAMPLES in GLES 3.1. Please check it.
> 
> Sam
> 
> > +  [ "MAX_VERTEX_IMAGE_UNIFORMS",
> >
> +"CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxImageUnifor
> ms),
> > +extra_ARB_shader_image_load_store_es31" ],
> > +  [ "MAX_FRAGMENT_IMAGE_UNIFORMS",
> >
> +"CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxImageUni
> forms),
> > +extra_ARB_shader_image_load_store_es31" ],
> > +  [ "MAX_COMBINED_IMAGE_UNIFORMS",
> > +"CONTEXT_INT(Const.MaxCombinedImageUniforms),
> > +extra_ARB_shader_image_load_store_es31" ], ]},
> > +
> >  # Enums in OpenGL Core profile and ES 3.1  { "apis": ["GL_CORE",
> > "GLES3"], "params": [  # GL_ARB_draw_indirect / GLES 3.1 @@ -779,13
> > +790,7 @@ descriptor=[
> >    [ "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].MaxImageUniform
> s), extra_ARB_shader_image_load_store"],
> >    [ "MAX_GEOMETRY_IMAGE_UNIFORMS",
> >
> "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxImageUnif
> orms),
> > extra_ARB_shader_image_load_store_and_geometry_shader"],
> > -  [ "MAX_FRAGMENT_IMAGE_UNIFORMS",
> >
> "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxImageUnif
> orms),
> > 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" ],
> >
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
----------------------------------------------------------------------
Intel Sweden AB
Registered Office: Knarrarnasgatan 15, 164 40 Kista, Stockholm, Sweden
Registration Number: 556189-6027

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


More information about the mesa-dev mailing list