mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-23 15:55:31 +00:00
[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:
parent
d570eb2032
commit
dcca1d77ac
|
@ -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>
|
31
Source/Bind/Specifications/GL2/ES/3.1/KHR_compute_shader.xml
Normal file
31
Source/Bind/Specifications/GL2/ES/3.1/KHR_compute_shader.xml
Normal 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>
|
22
Source/Bind/Specifications/GL2/ES/3.1/KHR_draw_indirect.xml
Normal file
22
Source/Bind/Specifications/GL2/ES/3.1/KHR_draw_indirect.xml
Normal 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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
Loading…
Reference in a new issue