[ES] Implemented bindings for ES 3.1 (1/2)

Implemented core functionality:
- KHR_compute_shader
- KHR_draw_indirect
- KHR_explicit_uniform_location
- KHR_framebuffer_no_attachments
- KHR_program_interface_queries
- KHR_separate_shader_objects
This commit is contained in:
thefiddler 2014-08-13 15:01:51 +02:00
parent d570eb2032
commit dcca1d77ac
7 changed files with 177 additions and 0 deletions

View file

@ -243,6 +243,12 @@
<Compile Include="Structures\Documentation.cs" />
<None Include="Specifications\GL2\overrides.xml" />
<None Include="Specifications\GL2\GL\4.5\ARB_direct_state_access.xml" />
<None Include="Specifications\GL2\ES\3.1\KHR_compute_shader.xml" />
<None Include="Specifications\GL2\ES\3.1\KHR_separate_shader_objects.xml" />
<None Include="Specifications\GL2\ES\3.1\KHR_draw_indirect.xml" />
<None Include="Specifications\GL2\ES\3.1\KHR_explicit_uniform_location.xml" />
<None Include="Specifications\GL2\ES\3.1\KHR_framebuffer_no_attachments.xml" />
<None Include="Specifications\GL2\ES\3.1\KHR_program_interface_queries.xml" />
</ItemGroup>
<ItemGroup>
<None Include="Specifications\GL2\signatures.xml">
@ -272,5 +278,7 @@
</ProjectExtensions>
<ItemGroup>
<Folder Include="Specifications\Docs\" />
<Folder Include="Specifications\GL2\ES\" />
<Folder Include="Specifications\GL2\ES\3.1\" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" ?>
<signatures version="2">
<add name="gles2" version="3.1">
<enum name="BufferTarget">
<use token="GL_DISPATCH_INDIRECT_BUFFER"/>
</enum>
<enum name="GetPName">
<use token="GL_COMPUTE_WORK_GROUP_SIZE" />
<uso token="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
<use token="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
<use token="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
<use token="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
<use token="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
<use token="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
<use token="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
<use token="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
<use token="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
<use token="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
<use token="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
<use token="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
</enum>
<enum name="ProgramStageMask">
<use token="GL_COMPUTE_SHADER_BIT" />
</enum>
<enum name="ShaderType">
<use token="GL_COMPUTE_SHADER" />
</enum>
</add>
</signatures>

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<signatures version="2">
<replace name="gles2" version="3.1">
<function name="glDrawArraysIndirect">
<param name="mode"><type>PrimitiveType</type></param>
</function>
<function name="glDrawElementsIndirect">
<param name="mode"><type>PrimitiveType</type></param>
</function>
</replace>
<add name="gles2" version="3.1">
<enum name="BufferTarget">
<use token="GL_DRAW_INDIRECT_BUFFER" />
</enum>
<enum name="GetPName">
<use token="GL_DRAW_INDIRECT_BUFFER_BINDING" />
</enum>
</add>
</signatures>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<signatures version="2">
<add name="gles2" version="3.1">
<enum name="GetPName">
<use token="GL_MAX_UNIFORM_LOCATIONS"/>
</enum>
</add>
</signatures>

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<signatures version="2">
<replace name="gles2" version="3.1">
<function name="FramebufferParameter">
<param name="target"><type>FramebufferTarget</type></param>
<param name="pname"><type>FramebufferDefaultParameter</type></param>
</function>
<function name="glGetFramebufferParameteriv">
<param name="target"><type>FramebufferTarget</type></param>
<param name="pname"><type>FramebufferDefaultParameter</type></param>
</function>
</replace>
<add name="gles2" version="3.1">
<enum name="FramebufferDefaultParameter">
<use token="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
<use token="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
<use token="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
<use token="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
</enum>
<enum name="GetPName">
<use token="GL_MAX_FRAMEBUFFER_WIDTH"/>
<use token="GL_MAX_FRAMEBUFFER_HEIGHT"/>
<use token="GL_MAX_FRAMEBUFFER_SAMPLES"/>
</enum>
</add>
</signatures>

View file

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" ?>
<signatures version="2">
<replace name="gles2" version="3.1">
<function name="GetProgramInterfaceiv">
<param name="programInterface"><type>ProgramInterface</type></param>
<param name="pname"><type>ProgramInterfaceParameter</type></param>
</function>
<function name="GetProgramResourceIndex">
<param name="programInterface"><type>ProgramInterface</type></param>
</function>
<function name="GetProgramResourceName">
<param name="programInterface"><type>ProgramInterface</type></param>
</function>
<function name="GetProgramResourceiv">
<param name="programInterface"><type>ProgramInterface</type></param>
<param name="props"><type>ProgramProperty</type></param>
</function>
<function name="GetProgramResourceLocation">
<param name="programInterface"><type>ProgramInterface</type></param>
</function>
</replace>
<add name="gles2" version="3.1">
<enum name="ProgramInterface">
<use token="UNIFORM" />
<use token="UNIFORM_BLOCK" />
<use token="ATOMIC_COUNTER_BUFFER" />
<use token="PROGRAM_INPUT" />
<use token="PROGRAM_OUTPUT" />
<use token="TRANSFORM_FEEDBACK_VARYING" />
<use token="BUFFER_VARIABLE" />
<use token="SHADER_STORAGE_BLOCK" />
</enum>
<enum name="ProgramInterfaceParameter">
<use token="ACTIVE_RESOURCES" />
<use token="MAX_NAME_LENGTH" />
<use token="MAX_NUM_ACTIVE_VARIABLES" />
</enum>
<enum name="ProgramProperty">
<use token="ACTIVE_VARIABLES" />
<use token="BUFFER_BINDING" />
<use token="NUM_ACTIVE_VARIABLES" />
<use token="ARRAY_SIZE" />
<use token="ARRAY_STRIDE" />
<use token="BLOCK_INDEX" />
<use token="IS_ROW_MAJOR" />
<use token="MATRIX_STRIDE" />
<use token="ATOMIC_COUNTER_BUFFER_INDEX" />
<use token="BUFFER_DATA_SIZE" />
<use token="LOCATION" />
<use token="NAME_LENGTH" />
<use token="OFFSET" />
<use token="REFERENCED_BY_VERTEX_SHADER" />
<use token="REFERENCED_BY_FRAGMENT_SHADER" />
<use token="REFERENCED_BY_COMPUTE_SHADER" />
<use token="TOP_LEVEL_ARRAY_SIZE" />
<use token="TOP_LEVEL_ARRAY_STRIDE" />
<use token="TYPE" />
</enum>
</add>
</signatures>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<signatures version="2">
<replace name="gles2" version="3.1">
<function name="UseProgramStages" extension="Core">
<param name="stages"><type>ProgramStageMask</type></param>
</function>
</replace>
</signatures>