[Mesa-dev] [PATCH v3 (part2) 51/56] glapi: add ARB_shader_storage_block_buffer_object

Iago Toral Quiroga itoral at igalia.com
Tue Jul 14 00:46:53 PDT 2015


From: Samuel Iglesias Gonsalvez <siglesias at igalia.com>

v2:
- Add ShaderStorageBlockBinding to static_data.py

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
---
 .../glapi/gen/ARB_shader_storage_buffer_object.xml | 36 ++++++++++++++++++++++
 src/mapi/glapi/gen/GL4x.xml                        | 18 ++++++++++-
 src/mapi/glapi/gen/Makefile.am                     |  1 +
 src/mapi/glapi/gen/gl_API.xml                      |  6 +++-
 src/mapi/glapi/gen/static_data.py                  |  1 +
 5 files changed, 60 insertions(+), 2 deletions(-)
 create mode 100644 src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml

diff --git a/src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml b/src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml
new file mode 100644
index 0000000..6901bdf
--- /dev/null
+++ b/src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
+
+<OpenGLAPI>
+
+<category name="GL_ARB_shader_storage_buffer" number="137">
+
+<enum name="SHADER_STORAGE_BUFFER" value="0x90D2" />
+<enum name="SHADER_STORAGE_BUFFER_BINDING" value="0x90D3" />
+<enum name="SHADER_STORAGE_BUFFER_START" value="0x90D4" />
+<enum name="SHADER_STORAGE_BUFFER_SIZE" value="0x90D5" />
+<enum name="MAX_VERTEX_SHADER_STORAGE_BLOCKS" value="0x90D6" />
+<enum name="MAX_GEOMETRY_SHADER_STORAGE_BLOCKS" value="0x90D7" />
+<enum name="MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS" value="0x90D8" />
+<enum name="MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS" value="0x90D9" />
+<enum name="MAX_FRAGMENT_SHADER_STORAGE_BLOCKS" value="0x90DA" />
+<enum name="MAX_COMPUTE_SHADER_STORAGE_BLOCKS" value="0x90DB" />
+<enum name="MAX_COMBINED_SHADER_STORAGE_BLOCKS" value="0x90DC" />
+<enum name="MAX_SHADER_STORAGE_BUFFER_BINDINGS" value="0x90DD" />
+<enum name="MAX_SHADER_STORAGE_BLOCK_SIZE" value="0x90DE" />
+<enum name="SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT" value="0x90DF" />
+<enum name="SHADER_STORAGE_BARRIER_BIT" value="0x2000" />
+<enum name="MAX_COMBINED_SHADER_OUTPUT_RESOURCES" value="0x8F39" />
+
+<!-- Duplicated with GL3x.xml: BindBufferRange, BindBufferBase,
+     GetIntegeri_v -->
+
+<function name="ShaderStorageBlockBinding">
+    <param name="program" type="GLuint" />
+    <param name="shaderStorageBlockIndex" type="GLuint" />
+    <param name="shaderStorageBlockBinding" type="GLuint" />
+</function>
+
+</category>
+
+</OpenGLAPI>
diff --git a/src/mapi/glapi/gen/GL4x.xml b/src/mapi/glapi/gen/GL4x.xml
index 94ddfb7..c762439 100644
--- a/src/mapi/glapi/gen/GL4x.xml
+++ b/src/mapi/glapi/gen/GL4x.xml
@@ -41,7 +41,23 @@
 </category>
 
 <category name="4.3">
-  <enum name="DEPTH_STENCIL_TEXTURE_MODE"              value="0x90EA"/>
+  <enum name="SHADER_STORAGE_BARRIER_BIT"                value="0x2000" />
+  <enum name="MAX_COMBINED_SHADER_OUTPUT_RESOURCES"      value="0x8F39" />
+  <enum name="SHADER_STORAGE_BUFFER"                     value="0x90D2"/>
+  <enum name="SHADER_STORAGE_BUFFER_BINDING"             value="0x90D3"/>
+  <enum name="SHADER_STORAGE_BUFFER_START"               value="0x90D4"/>
+  <enum name="SHADER_STORAGE_BUFFER_SIZE"                value="0x90D5"/>
+  <enum name="MAX_VERTEX_SHADER_STORAGE_BLOCKS"          value="0x90D6" />
+  <enum name="MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"        value="0x90D7" />
+  <enum name="MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"    value="0x90D8" />
+  <enum name="MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS" value="0x90D9" />
+  <enum name="MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"        value="0x90DA" />
+  <enum name="MAX_COMPUTE_SHADER_STORAGE_BLOCKS"         value="0x90DB" />
+  <enum name="MAX_COMBINED_SHADER_STORAGE_BLOCKS"        value="0x90DC" />
+  <enum name="MAX_SHADER_STORAGE_BUFFER_BINDINGS"        value="0x90DD" />
+  <enum name="MAX_SHADER_STORAGE_BLOCK_SIZE"             value="0x90DE" />
+  <enum name="SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"    value="0x90DF" />
+  <enum name="DEPTH_STENCIL_TEXTURE_MODE"                value="0x90EA"/>
 </category>
 
 </OpenGLAPI>
diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am
index 5b163b0..420993d 100644
--- a/src/mapi/glapi/gen/Makefile.am
+++ b/src/mapi/glapi/gen/Makefile.am
@@ -151,6 +151,7 @@ API_XML = \
 	ARB_separate_shader_objects.xml \
 	ARB_shader_atomic_counters.xml \
 	ARB_shader_image_load_store.xml \
+	ARB_shader_storage_buffer_object.xml \
 	ARB_sync.xml \
 	ARB_texture_barrier.xml \
 	ARB_texture_buffer_object.xml \
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index 2f33075..ef91371 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -8205,7 +8205,11 @@
 
 <xi:include href="ARB_program_interface_query.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
-<!-- ARB extensions #135...#138 -->
+<!-- ARB extensions #135...#136 -->
+
+<xi:include href="ARB_shader_storage_buffer_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<!-- ARB extensions #138 -->
 
 <xi:include href="ARB_texture_buffer_range.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
diff --git a/src/mapi/glapi/gen/static_data.py b/src/mapi/glapi/gen/static_data.py
index 142c503..7dd7edc 100644
--- a/src/mapi/glapi/gen/static_data.py
+++ b/src/mapi/glapi/gen/static_data.py
@@ -1305,6 +1305,7 @@ functions = [
    "ShaderBinary",
    "ShaderSource",
    "ShaderSourceARB",
+   "ShaderStorageBlockBinding",
    "StencilFunc",
    "StencilFuncSeparate",
    "StencilMask",
-- 
1.9.1



More information about the mesa-dev mailing list