<extension name="GL_EXT_separate_shader_objects" supported="gl|glcore|gles2">
<require api="gl" comment="The OpenGL version of this extension is completely unrelated to the OpenGL ES version">
<enum name="GL_ACTIVE_PROGRAM_EXT"/>
<command name="glUseShaderProgramEXT"/>
<command name="glActiveProgramEXT"/>
<command name="glCreateShaderProgramEXT"/>
</require>
<require api="gles2" comment="The OpenGL ES version of this extension is completely unrelated to the OpenGL version">
<enum name="GL_VERTEX_SHADER_BIT_EXT"/>
<enum name="GL_FRAGMENT_SHADER_BIT_EXT"/>
<enum name="GL_ALL_SHADER_BITS_EXT"/>
<enum name="GL_PROGRAM_SEPARABLE_EXT"/>
<enum name="GL_ACTIVE_PROGRAM_EXT"/>
<enum name="GL_PROGRAM_PIPELINE_BINDING_EXT"/>
<command name="glActiveShaderProgramEXT"/>
<command name="glBindProgramPipelineEXT"/>
<command name="glCreateShaderProgramvEXT"/>
<command name="glDeleteProgramPipelinesEXT"/>
<command name="glGenProgramPipelinesEXT"/>
<command name="glGetProgramPipelineInfoLogEXT"/>
<command name="glGetProgramPipelineivEXT"/>
<command name="glIsProgramPipelineEXT"/>
<command name="glProgramParameteriEXT"/>
<command name="glProgramUniform1fEXT"/>
<command name="glProgramUniform1fvEXT"/>
<command name="glProgramUniform1iEXT"/>
<command name="glProgramUniform1ivEXT"/>
<command name="glProgramUniform2fEXT"/>
<command name="glProgramUniform2fvEXT"/>
<command name="glProgramUniform2iEXT"/>
<command name="glProgramUniform2ivEXT"/>
<command name="glProgramUniform3fEXT"/>
<command name="glProgramUniform3fvEXT"/>
<command name="glProgramUniform3iEXT"/>
<command name="glProgramUniform3ivEXT"/>
<command name="glProgramUniform4fEXT"/>
<command name="glProgramUniform4fvEXT"/>
<command name="glProgramUniform4iEXT"/>
<command name="glProgramUniform4ivEXT"/>
<command name="glProgramUniformMatrix2fvEXT"/>
<command name="glProgramUniformMatrix3fvEXT"/>
<command name="glProgramUniformMatrix4fvEXT"/>
<command name="glUseProgramStagesEXT"/>
<command name="glValidateProgramPipelineEXT"/>
</require>
<require api="gles2" comment="Depends on OpenGL ES 3.0 or GL_NV_non_square_matrices">
<command name="glProgramUniform1uiEXT"/>
<command name="glProgramUniform2uiEXT"/>
<command name="glProgramUniform3uiEXT"/>
<command name="glProgramUniform4uiEXT"/>
<command name="glProgramUniform1uivEXT"/>
<command name="glProgramUniform2uivEXT"/>
<command name="glProgramUniform3uivEXT"/>
<command name="glProgramUniform4uivEXT"/>
<command name="glProgramUniformMatrix4fvEXT"/>
<command name="glProgramUniformMatrix2x3fvEXT"/>
<command name="glProgramUniformMatrix3x2fvEXT"/>
<command name="glProgramUniformMatrix2x4fvEXT"/>
<command name="glProgramUniformMatrix4x2fvEXT"/>
<command name="glProgramUniformMatrix3x4fvEXT"/>
<command name="glProgramUniformMatrix4x3fvEXT"/>
</require>
</extension>
Here, glProgramUniformMatrix4fvEXT is listed twice. This EP does not depend on GLES 3.0 or the NV extension and should be removed from the second section.
Usually we're pretty fine with redefines if they serve some illustrative purpose, but I'd agree that this one should be rectified. Could just remove the second one?
See this code:
Here,
glProgramUniformMatrix4fvEXT
is listed twice. This EP does not depend on GLES 3.0 or the NV extension and should be removed from the second section.