[Mesa-dev] [PATCH 01/17] glapi: Add Uniform Buffer Object API

Vincent Lejeune vljn at ovi.com
Sun Dec 25 10:17:01 PST 2011


   v2: Fix a typo spotted by Eric Anholt.
---
 src/mapi/glapi/gen/ARB_uniform_buffer_object.xml |  116 ++++++++++++++++++++++
 src/mapi/glapi/gen/Makefile                      |    1 +
 src/mapi/glapi/gen/gl_API.xml                    |    2 +
 3 files changed, 119 insertions(+), 0 deletions(-)
 create mode 100644 src/mapi/glapi/gen/ARB_uniform_buffer_object.xml

diff --git a/src/mapi/glapi/gen/ARB_uniform_buffer_object.xml b/src/mapi/glapi/gen/ARB_uniform_buffer_object.xml
new file mode 100644
index 0000000..d328652
--- /dev/null
+++ b/src/mapi/glapi/gen/ARB_uniform_buffer_object.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
+
+<OpenGLAPI>
+
+<category name="GL_ARB_Uniform_Buffer_Object" number="57">
+
+<enum name="UNIFORM_BUFFER" value="0x8A11" />
+<enum name="UNIFORM_BUFFER_BINDING" value="0x8A28" />
+<enum name="UNIFORM_BUFFER_START" value="0x8A29" />
+<enum name="UNIFORM_BUFFER_SIZE" value="0x8A2A" />
+<enum name="MAX_VERTEX_UNIFORM_BLOCKS" value="0x8A2B" />
+<enum name="MAX_GEOMETRY_UNIFORM_BLOCKS" value="0x8A2C" />
+<enum name="MAX_FRAGMENT_UNIFORM_BLOCKS" value="0x8A2D" />
+<enum name="MAX_COMBINED_UNIFORM_BLOCKS" value="0x8A2E" />
+<enum name="MAX_UNIFORM_BUFFER_BINDINGS" value="0x8A2F" />
+<enum name="MAX_UNIFORM_BLOCK_SIZE" value="0x8A30" />
+<enum name="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS" value="0x8A31" />
+<enum name="MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS" value="0x8A32" />
+<enum name="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS" value="0x8A33" />
+<enum name="UNIFORM_BUFFER_OFFSET_ALIGNMENT" value="0x8A34" />
+<enum name="ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH" value="0x8A35" />
+<enum name="ACTIVE_UNIFORM_BLOCKS" value="0x8A36" />
+<enum name="UNIFORM_TYPE" value="0x8A37" />
+<enum name="UNIFORM_SIZE" value="0x8A38" />
+<enum name="UNIFORM_NAME_LENGTH" value="0x8A39" />
+<enum name="UNIFORM_BLOCK_INDEX" value="0x8A3A" />
+<enum name="UNIFORM_OFFSET" value="0x8A3B" />
+<enum name="UNIFORM_ARRAY_STRIDE" value="0x8A3C" />
+<enum name="UNIFORM_MATRIX_STRIDE" value="0x8A3D" />
+<enum name="UNIFORM_IS_ROW_MAJOR" value="0x8A3E" />
+<enum name="UNIFORM_BLOCK_BINDING" value="0x8A3F" />
+<enum name="UNIFORM_BLOCK_DATA_SIZE" value="0x8A40" />
+<enum name="UNFIROM_BLOCK_NAME_LENGTH" value="0x8A41" />
+<enum name="UNIFORM_BLOCK_ACTIVE_UNIFORMS" value="0x8A42" />
+<enum name="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES" value="0x8A43" />
+<enum name="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER" value="0x8A44" />
+<enum name="UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER" value="0x8A45" />
+<enum name="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER" value="0x8A46" />
+<enum name="INVALID_INDEX" value="0xFFFFFFFF" />
+
+<function name="GetUniformIndices" offset="assign">
+    <param name="program" type="GLuint" />
+    <param name="uniformCount" type="GLsizei" />
+    <param name="uniformNames" type="const char**" />
+    <param name="uniformIndices" type="GLuint*" />
+</function>
+
+<function name="GetActiveUniformsiv" offset="assign">
+    <param name="program" type="GLuint" />
+    <param name="uniformCount" type="GLsizei" />
+    <param name="uniformIndices" type="const GLuint*" />
+    <param name="pname" type="GLenum" />
+    <param name="params" type="GLint*" />
+</function>
+
+<function name="GetActiveUniformName" offset="assign">
+    <param name="program" type="GLuint" />
+    <param name="uniformIndex" type="GLuint" />
+    <param name="bufSize" type="GLsizei" />
+    <param name="length" type="GLsizei*" />
+    <param name="uniformName" type="char*" />
+</function>
+
+<function name="GetUniformBlockIndex" offset="assign">
+    <return type="GLuint"/>
+    <param name="program" type="GLuint" />
+    <param name="uniformBlockName" type="const char*" />
+</function>
+
+<function name="GetActiveUniformBlockiv" offset="assign">
+    <param name="program" type="GLuint" />
+    <param name="uniformBlockIndex" type="GLuint" />
+    <param name="pname" type="GLenum" />
+    <param name="params" type="int*" />
+</function>
+
+<function name="GetActiveUniformBlockName" offset="assign">
+    <param name="program" type="GLuint" />
+    <param name="uniformBlockIndex" type="GLuint" />
+    <param name="bufSize" type="GLsizei" />
+    <param name="length" type="GLsizei*" />
+    <param name="uniformBlockName" type="char*" />
+</function>
+
+<!-- Duplicated -->
+
+<!--<function name="BindBufferRange" offset="assign" >
+    <param name="target" type="GLenum" />
+    <param name="index" type="GLuint" />
+    <param name="buffer" type="GLuint" />
+    <param name="offset" type="GLintptr" />
+    <param name="size" type="GLsizeiptr" />
+</function>-->
+
+<!--<function name="BindBufferBase" offset="assign" >
+    <param name="target" type="GLenum" />
+    <param name="index" type="GLuint" />
+    <param name="buffer" type="GLuint" />
+</function>-->
+
+<!--<function name="GetIntegeri_v" offset="assign" >
+    <param name="target" type="GLenum" />
+    <param name="index" type="GLuint" />
+    <param name="data" type="GLint*" />
+</function>-->
+
+<function name="UniformBlockBinding" offset="assign" >
+    <param name="program" type="GLuint" />
+    <param name="uniformBlockIndex" type="GLuint" />
+    <param name="uniformBlockBinding" type="GLuint" />
+</function>
+
+</category>
+
+</OpenGLAPI>
diff --git a/src/mapi/glapi/gen/Makefile b/src/mapi/glapi/gen/Makefile
index 4110cda..502a962 100644
--- a/src/mapi/glapi/gen/Makefile
+++ b/src/mapi/glapi/gen/Makefile
@@ -93,6 +93,7 @@ API_XML = \
 	ARB_vertex_type_2_10_10_10_rev.xml \
 	APPLE_object_purgeable.xml \
 	APPLE_vertex_array_object.xml \
+	ARB_uniform_buffer_object.xml \
 	EXT_draw_buffers2.xml \
 	EXT_framebuffer_object.xml \
 	EXT_gpu_shader4.xml \
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index 3fd7738..bb24fea 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -12441,4 +12441,6 @@
 
 <xi:include href="ARB_texture_rgb10_a2ui.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
+<xi:include href="ARB_uniform_buffer_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
 </OpenGLAPI>
-- 
1.7.7



More information about the mesa-dev mailing list