[ES] Implemented bindings for ES 3.1 (1/2)
authorthefiddler <stapostol@gmail.com>
Wed, 13 Aug 2014 13:01:51 +0000 (15:01 +0200)
committerthefiddler <stapostol@gmail.com>
Tue, 2 Sep 2014 11:04:13 +0000 (13:04 +0200)
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

Source/Bind/Generator.Bind.csproj
Source/Bind/Specifications/GL2/ES/3.1/KHR_compute_shader.xml [new file with mode: 0644]
Source/Bind/Specifications/GL2/ES/3.1/KHR_draw_indirect.xml [new file with mode: 0644]
Source/Bind/Specifications/GL2/ES/3.1/KHR_explicit_uniform_location.xml [new file with mode: 0644]
Source/Bind/Specifications/GL2/ES/3.1/KHR_framebuffer_no_attachments.xml [new file with mode: 0644]
Source/Bind/Specifications/GL2/ES/3.1/KHR_program_interface_queries.xml [new file with mode: 0644]
Source/Bind/Specifications/GL2/ES/3.1/KHR_separate_shader_objects.xml [new file with mode: 0644]

index ee3e279..be2ca59 100644 (file)
     <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">
   </ProjectExtensions>
   <ItemGroup>
     <Folder Include="Specifications\Docs\" />
+    <Folder Include="Specifications\GL2\ES\" />
+    <Folder Include="Specifications\GL2\ES\3.1\" />
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_compute_shader.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_compute_shader.xml
new file mode 100644 (file)
index 0000000..09dfac4
--- /dev/null
@@ -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>
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_draw_indirect.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_draw_indirect.xml
new file mode 100644 (file)
index 0000000..3ecb29d
--- /dev/null
@@ -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>
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_explicit_uniform_location.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_explicit_uniform_location.xml
new file mode 100644 (file)
index 0000000..6934880
--- /dev/null
@@ -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>
\ No newline at end of file
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_framebuffer_no_attachments.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_framebuffer_no_attachments.xml
new file mode 100644 (file)
index 0000000..7418ea2
--- /dev/null
@@ -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>
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_program_interface_queries.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_program_interface_queries.xml
new file mode 100644 (file)
index 0000000..8cb7b7f
--- /dev/null
@@ -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>
\ No newline at end of file
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_separate_shader_objects.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_separate_shader_objects.xml
new file mode 100644 (file)
index 0000000..8be35a5
--- /dev/null
@@ -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>
\ No newline at end of file