[Mesa-dev] [PATCH V3] glapi: add GL_OES_geometry_shader extension

Lofstedt, Marta marta.lofstedt at intel.com
Wed Jan 13 00:29:26 PST 2016



> -----Original Message-----
> From: ibmirkin at gmail.com [mailto:ibmirkin at gmail.com] On Behalf Of Ilia
> Mirkin
> Sent: Tuesday, January 12, 2016 7:09 PM
> To: Marta Lofstedt
> Cc: mesa-dev at lists.freedesktop.org; Romanick, Ian D; Lofstedt, Marta
> Subject: Re: [PATCH V3] glapi: add GL_OES_geometry_shader extension
> 
> On Tue, Jan 12, 2016 at 9:13 AM, Marta Lofstedt
> <marta.lofstedt at linux.intel.com> wrote:
> > From: Marta Lofstedt <marta.lofstedt at intel.com>
> >
> > Add xml definitions for the GL_OES_geometry_shader extension and
> > expose the extension for OpenGL ES 3.1.
> >
> > V3: Added dependency to OES_shader_io_blocks and updated to correct
> > Khronos extension number.
> 
> May I ask why you did this? OES_shader_io_blocks is a purely shader
> compiler/linker feature, I expect it will be enabled whenever GLES 3.1 is
> enabled, no? Why would it be tied to geometry shaders? Sure, geometry
> shaders require it to work, but just because you have OES_shader_io_blocks
> doesn't necessarily mean you also have geometry shaders...
> 

My intension was to address the co-dependency between oes_geometry_shader and oes_shader_io_block. 
But as always, you are right Ilia. The dependency issue need to be fixed in the driver.

So, please disregard this V3, I will push the V2 with the changes suggested by Ilia in the comments.

FYI here are quotes from the oes_geometry_shader specification:
" OES_shader_io_blocks or EXT_shader_io_blocks is required."

" This extension relies on the OES_shader_io_blocks extension to provide
    the required functionality for declaring input and output blocks and
    interfacing between shaders."

" If the OES_geometry_shader extension is enabled, the
    OES_shader_io_blocks extension is also implicitly enabled.


> In practical terms, there's a non-trivial chance that A4xx will get tessellation
> before geometry shaders, which would also require OES_shader_io_blocks
> to be exposed.
Yes, but for desktop we already have the "shader_io_block" functionality.
So, the dependency is a GLES issue, and tessellation is not yet exposed under GLES.

> 
>   -ilia


More information about the mesa-dev mailing list