mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-23 19:45:29 +00:00
[ES] Implemented bindings for ES 3.1 (2/2)
Implemented core functionality: - KHR_shader_atomic_counters - KHR_shader_image_load_store - KHR_shader_storage_buffer_object - KHR_stencil_texturing - KHR_texture_gather - KHR_texture_storage_multisample - KHR_vertex_attrib_binding
This commit is contained in:
parent
dcca1d77ac
commit
a706a78cf5
|
@ -249,6 +249,13 @@
|
|||
<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" />
|
||||
<None Include="Specifications\GL2\ES\3.1\KHR_shader_atomic_counters.xml" />
|
||||
<None Include="Specifications\GL2\ES\3.1\KHR_shader_image_load_store.xml" />
|
||||
<None Include="Specifications\GL2\ES\3.1\KHR_shader_storage_buffer_object.xml" />
|
||||
<None Include="Specifications\GL2\ES\3.1\KHR_stencil_texturing.xml" />
|
||||
<None Include="Specifications\GL2\ES\3.1\KHR_texture_gather.xml" />
|
||||
<None Include="Specifications\GL2\ES\3.1\KHR_texture_storage_multisample.xml" />
|
||||
<None Include="Specifications\GL2\ES\3.1\KHR_vertex_attrib_binding.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Specifications\GL2\signatures.xml">
|
||||
|
|
|
@ -5,8 +5,10 @@
|
|||
<enum name="BufferTarget">
|
||||
<use token="GL_DISPATCH_INDIRECT_BUFFER"/>
|
||||
</enum>
|
||||
<enum name="GetPName">
|
||||
<enum name="GetProgramParameterName">
|
||||
<use token="GL_COMPUTE_WORK_GROUP_SIZE" />
|
||||
</enum>
|
||||
<enum name="GetPName">
|
||||
<uso token="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
|
||||
<use token="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
|
||||
<use token="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
|
||||
|
|
|
@ -2,9 +2,41 @@
|
|||
<signatures version="2">
|
||||
|
||||
<replace name="gles2" version="3.1">
|
||||
<function name="UseProgramStages" extension="Core">
|
||||
<function name="CreateShaderProgramv">
|
||||
<param name="type"><type>ShaderType</type></param>
|
||||
</function>
|
||||
<function name="GetProgramPipelineiv">
|
||||
<param name="pname"><type>ProgramPipelineParameter</type></param>
|
||||
</function>
|
||||
<function name="UseProgramStages">
|
||||
<param name="stages"><type>ProgramStageMask</type></param>
|
||||
</function>
|
||||
</replace>
|
||||
|
||||
<add name="gles2" version="3.1">
|
||||
<enum name="GetPName">
|
||||
<use token="PROGRAM_PIPELINE_BINDING" />
|
||||
</enum>
|
||||
<enum name="GetProgramParameterName">
|
||||
<use token="PROGRAM_SEPARABLE" />
|
||||
</enum>
|
||||
<enum name="ProgramParameterName">
|
||||
<use token="PROGRAM_SEPARABLE" />
|
||||
</enum>
|
||||
<enum name="ProgramPipelineParameter">
|
||||
<use token="ACTIVE_PROGRAM" />
|
||||
<use token="VERTEX_SHADER" />
|
||||
<use token="FRAGMENT_SHADER" />
|
||||
<use token="COMPUTE_SHADER" />
|
||||
<use token="VALIDATE_STATUS" />
|
||||
<use token="INFO_LOG_LENGTH" />
|
||||
</enum>
|
||||
<enum name="ProgramStageMask">
|
||||
<use token="VERTEX_SHADER_BIT" />
|
||||
<use token="FRAGMENT_SHADER_BIT" />
|
||||
<use token="COMPUTE_SHADER_BIT" />
|
||||
<use token="ALL_SHADER_BITS" />
|
||||
</enum>
|
||||
</add>
|
||||
|
||||
</signatures>
|
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<signatures version="2">
|
||||
|
||||
<add name="gles2" version="3.1">
|
||||
<enum name="ActiveUniformType">
|
||||
<use token="UNSIGNED_INT_ATOMIC_COUNTER" />
|
||||
</enum>
|
||||
<enum name="BufferTarget">
|
||||
<use token="GL_ATOMIC_COUNTER_BUFFER"/>
|
||||
</enum>
|
||||
<enum name="GetIndexedPName">
|
||||
<use token="GL_ATOMIC_COUNTER_BUFFER_START"/>
|
||||
<use token="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
|
||||
</enum>
|
||||
<enum name="GetPName">
|
||||
<use token="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
|
||||
<use token="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
|
||||
<use token="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
|
||||
<use token="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
|
||||
<use token="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
|
||||
<use token="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
|
||||
<use token="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
|
||||
<use token="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
|
||||
<use token="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
|
||||
<use token="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
|
||||
<use token="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
|
||||
</enum>
|
||||
<enum name="GetProgramParameterName">
|
||||
<use token="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
|
||||
</enum>
|
||||
<enum name="ActiveVariableType">
|
||||
<use token="UNSIGNED_INT_ATOMIC_COUNTER" />
|
||||
</enum>
|
||||
</add>
|
||||
|
||||
</signatures>
|
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<signatures version="2">
|
||||
|
||||
<replace name="gles2" version="3.1">
|
||||
<function name="BindImageTexture">
|
||||
<param name="access"><type>TextureAccess</type></param>
|
||||
<param name="format"><type>SizedInternalFormat</type></param>
|
||||
</function>
|
||||
<function name="GetBooleani_v">
|
||||
<param name="target"><type>GetIndexedPName</type></param>
|
||||
</function>
|
||||
<function name="MemoryBarrier">
|
||||
<param name="barriers"><type>MemoryBarrierMask</type></param>
|
||||
</function>
|
||||
<function name="MemoryBarrierByRegion">
|
||||
<param name="barriers"><type>MemoryBarrierRegionMask</type></param>
|
||||
</function>
|
||||
</replace>
|
||||
|
||||
<add name="gles2" version="3.1">
|
||||
<enum name="ActiveUniformType">
|
||||
<use token="GL_IMAGE_2D"/>
|
||||
<use token="GL_IMAGE_3D"/>
|
||||
<use token="GL_IMAGE_CUBE"/>
|
||||
<use token="GL_IMAGE_2D_ARRAY"/>
|
||||
<use token="GL_INT_IMAGE_2D"/>
|
||||
<use token="GL_INT_IMAGE_3D"/>
|
||||
<use token="GL_INT_IMAGE_CUBE"/>
|
||||
<use token="GL_INT_IMAGE_2D_ARRAY"/>
|
||||
<use token="GL_UNSIGNED_INT_IMAGE_2D"/>
|
||||
<use token="GL_UNSIGNED_INT_IMAGE_3D"/>
|
||||
<use token="GL_UNSIGNED_INT_IMAGE_CUBE"/>
|
||||
<use token="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
|
||||
</enum>
|
||||
<enum name="GetPName">
|
||||
<use token="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
|
||||
<use token="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
|
||||
<use token="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
|
||||
<use token="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
|
||||
<use token="GL_IMAGE_BINDING_NAME"/>
|
||||
<use token="GL_IMAGE_BINDING_LEVEL"/>
|
||||
<use token="GL_IMAGE_BINDING_LAYERED"/>
|
||||
<use token="GL_IMAGE_BINDING_LAYER"/>
|
||||
<use token="GL_IMAGE_BINDING_ACCESS"/>
|
||||
<use token="GL_IMAGE_BINDING_FORMAT"/>
|
||||
</enum>
|
||||
<enum name="GetTextureParameterName">
|
||||
<use token="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
|
||||
</enum>
|
||||
<enum name="MemoryBarrierMask">
|
||||
<use token="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
|
||||
<use token="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
|
||||
<use token="GL_UNIFORM_BARRIER_BIT"/>
|
||||
<use token="GL_TEXTURE_FETCH_BARRIER_BIT"/>
|
||||
<use token="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
|
||||
<use token="GL_COMMAND_BARRIER_BIT"/>
|
||||
<use token="GL_PIXEL_BUFFER_BARRIER_BIT"/>
|
||||
<use token="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
|
||||
<use token="GL_BUFFER_UPDATE_BARRIER_BIT"/>
|
||||
<use token="GL_FRAMEBUFFER_BARRIER_BIT"/>
|
||||
<use token="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
|
||||
<use token="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
|
||||
<use token="GL_ALL_BARRIER_BITS"/>
|
||||
</enum>
|
||||
<enum name="MemoryBarrierRegionMask">
|
||||
<use token="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
|
||||
<use token="GL_FRAMEBUFFER_BARRIER_BIT"/>
|
||||
<use token="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
|
||||
<use token="GL_TEXTURE_FETCH_BARRIER_BIT"/>
|
||||
<use token="GL_UNIFORM_BARRIER_BIT"/>
|
||||
<use token="GL_ALL_BARRIER_BITS"/>
|
||||
</enum>
|
||||
<enum name="TextureAccess">
|
||||
<use token="READ_ONLY" />
|
||||
<use token="WRITE_ONLY" />
|
||||
<use token="READ_WRITE" />
|
||||
</enum>
|
||||
</add>
|
||||
|
||||
</signatures>
|
|
@ -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="SHADER_STORAGE_BUFFER" />
|
||||
</enum>
|
||||
<enum name="GetPName">
|
||||
<use token="SHADER_STORAGE_BUFFER_BINDING" />
|
||||
<use token="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
|
||||
<use token="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
|
||||
<use token="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
|
||||
<use token="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
|
||||
<use token="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
|
||||
<use token="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
|
||||
<use token="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
|
||||
<use token="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"/>
|
||||
</enum>
|
||||
<enum name="GetIndexedPName">
|
||||
<use token="SHADER_STORAGE_BUFFER_START" />
|
||||
<use token="SHADER_STORAGE_BUFFER_SIZE" />
|
||||
</enum>
|
||||
<enum name="MemoryBarrierMask">
|
||||
<use token="SHADER_STORAGE_BARRIER_BIT" />
|
||||
</enum>
|
||||
<enum name="MemoryBarrierRegionMask">
|
||||
<use token="SHADER_STORAGE_BARRIER_BIT" />
|
||||
</enum>
|
||||
</add>
|
||||
|
||||
</signatures>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<signatures version="2">
|
||||
|
||||
<add name="gles2" version="3.1">
|
||||
<enum name="PixelFormat">
|
||||
<use token="STENCIL_INDEX" />
|
||||
</enum>
|
||||
<enum name="TextureParameterName">
|
||||
<use token="DEPTH_STENCIL_TEXTURE_MODE" />
|
||||
</enum>
|
||||
</add>
|
||||
|
||||
</signatures>
|
11
Source/Bind/Specifications/GL2/ES/3.1/KHR_texture_gather.xml
Normal file
11
Source/Bind/Specifications/GL2/ES/3.1/KHR_texture_gather.xml
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<signatures version="2">
|
||||
|
||||
<add name="gles2" version="3.1">
|
||||
<enum name="GetPName">
|
||||
<use token="MAX_PROGRAM_TEXTURE_GATHER_OFFSET" />
|
||||
<use token="MIN_PROGRAM_TEXTURE_GATHER_OFFSET" />
|
||||
</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="TexStorage2DMultisample">
|
||||
<param name="target"><type>TextureTargetMultisample2d</type></param>
|
||||
<param name="internalformat"><type>SizedInternalFormat</type></param>
|
||||
</function>
|
||||
<function name="GetMultisample">
|
||||
<param name="pname"><type>GetMultisamplePName</type></param>
|
||||
</function>
|
||||
<function name="GetTexLevelParameter">
|
||||
<param name="target"><type>TextureTarget</type></param>
|
||||
<param name="pname"><type>GetTextureParameterName</type></param>
|
||||
</function>
|
||||
</replace>
|
||||
|
||||
<add name="gles2" version="3.1">
|
||||
<enum name="ActiveUniformType">
|
||||
<use token="GL_SAMPLER_2D_MULTISAMPLE"/>
|
||||
<use token="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
|
||||
<use token="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
|
||||
</enum>
|
||||
<enum name="EnableCap">
|
||||
<use token="GL_SAMPLE_MASK" />
|
||||
</enum>
|
||||
<enum name="GetIndexedPName">
|
||||
<use token="GL_SAMPLE_MASK_VALUE" />
|
||||
</enum>
|
||||
<enum name="GetPName">
|
||||
<use token="GL_MAX_SAMPLE_MASK_WORDS"/>
|
||||
<use token="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
|
||||
<use token="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
|
||||
<use token="GL_MAX_INTEGER_SAMPLES"/>
|
||||
<use token="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
|
||||
</enum>
|
||||
<enum name="GetMultisamplePName">
|
||||
<use token="GL_SAMPLE_POSITION" />
|
||||
</enum>
|
||||
<enum name="GetTextureParameterName">
|
||||
<use token="GL_TEXTURE_SAMPLES" />
|
||||
<use token="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
|
||||
<use token="GL_TEXTURE_WIDTH"/>
|
||||
<use token="GL_TEXTURE_HEIGHT"/>
|
||||
<use token="GL_TEXTURE_DEPTH"/>
|
||||
<use token="GL_TEXTURE_INTERNAL_FORMAT"/>
|
||||
<use token="GL_TEXTURE_RED_SIZE"/>
|
||||
<use token="GL_TEXTURE_GREEN_SIZE"/>
|
||||
<use token="GL_TEXTURE_BLUE_SIZE"/>
|
||||
<use token="GL_TEXTURE_ALPHA_SIZE"/>
|
||||
<use token="GL_TEXTURE_DEPTH_SIZE"/>
|
||||
<use token="GL_TEXTURE_STENCIL_SIZE"/>
|
||||
<use token="GL_TEXTURE_SHARED_SIZE"/>
|
||||
<use token="GL_TEXTURE_RED_TYPE"/>
|
||||
<use token="GL_TEXTURE_GREEN_TYPE"/>
|
||||
<use token="GL_TEXTURE_BLUE_TYPE"/>
|
||||
<use token="GL_TEXTURE_ALPHA_TYPE"/>
|
||||
<use token="GL_TEXTURE_DEPTH_TYPE"/>
|
||||
<use token="GL_TEXTURE_COMPRESSED"/>
|
||||
</enum>
|
||||
<enum name="TextureTargetMultisample2d">
|
||||
<use token="GL_TEXTURE_2D_MULTISAMPLE" />
|
||||
</enum>
|
||||
</add>
|
||||
|
||||
|
||||
</signatures>
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<signatures version="2">
|
||||
|
||||
<replace name="gles2" version="3.1">
|
||||
<function name="VertexAttribFormat" extension="Core">
|
||||
<param name="type"><type>VertexAttribType</type></param>
|
||||
</function>
|
||||
<function name="VertexAttribIFormat" extension="Core">
|
||||
<param name="type"><type>VertexAttribIntegerType</type></param>
|
||||
</function>
|
||||
</replace>
|
||||
|
||||
<add name="gles2" version="3.1">
|
||||
<enum name="VertexAttribType">
|
||||
<use token="BYTE" />
|
||||
<use token="UNSIGNED_BYTE" />
|
||||
<use token="SHORT" />
|
||||
<use token="UNSIGNED_SHORT" />
|
||||
<use token="INT" />
|
||||
<use token="UNSIGNED_INT" />
|
||||
<use token="FIXED" />
|
||||
<use token="FLOAT" />
|
||||
<use token="HALF_FLOAT" />
|
||||
<use token="UNSIGNED_INT_2_10_10_10_REV" />
|
||||
<use token="INT_2_10_10_10_REV" />
|
||||
</enum>
|
||||
<enum name="VertexAttribIntegerType">
|
||||
<use token="BYTE" />
|
||||
<use token="UNSIGNED_BYTE" />
|
||||
<use token="SHORT" />
|
||||
<use token="UNSIGNED_SHORT" />
|
||||
<use token="INT" />
|
||||
<use token="UNSIGNED_INT" />
|
||||
</enum>
|
||||
</add>
|
||||
|
||||
</signatures>
|
Loading…
Reference in a new issue