Mesa (master): mesa: Add infrastructure for GL_ARB_clear_buffer_object

Brian Paul brianp at kemper.freedesktop.org
Wed Dec 18 16:17:39 UTC 2013


Module: Mesa
Branch: master
Commit: 1f7c3e541fa8c16435d78585e8c2ee449de5e61a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f7c3e541fa8c16435d78585e8c2ee449de5e61a

Author: Pi Tabred <servuswiegehtz at yahoo.de>
Date:   Sat Dec 14 10:32:00 2013 -0700

mesa: Add infrastructure for GL_ARB_clear_buffer_object

 - add xml file for extension
 - add reference in gl_API.xml
 - add pointer to device driver function table (dd.h)
 - update dispatch_sanity.cpp

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mapi/glapi/gen/ARB_clear_buffer_object.xml |   50 ++++++++++++++++++++++++
 src/mapi/glapi/gen/gl_API.xml                  |    6 ++-
 src/mesa/main/dd.h                             |    6 +++
 src/mesa/main/tests/dispatch_sanity.cpp        |    4 +-
 4 files changed, 63 insertions(+), 3 deletions(-)

diff --git a/src/mapi/glapi/gen/ARB_clear_buffer_object.xml b/src/mapi/glapi/gen/ARB_clear_buffer_object.xml
new file mode 100644
index 0000000..cb97a01
--- /dev/null
+++ b/src/mapi/glapi/gen/ARB_clear_buffer_object.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
+
+<!-- Note: no GLX protocol info yet. -->
+
+
+<OpenGLAPI>
+
+<category name="GL_ARB_clear_buffer_object" number="121">
+
+    <function name ="ClearBufferData" offset="assign">
+        <param name="target" type="GLenum"/>
+        <param name="internalformat" type="GLenum"/>
+        <param name="format" type="GLenum"/>
+        <param name="type" type="GLenum"/>
+        <param name="data" type="const GLvoid *"/>
+    </function>
+
+    <function name ="ClearBufferSubData" offset="assign">
+        <param name="target" type="GLenum"/>
+        <param name="internalformat" type="GLenum"/>
+        <param name="offset" type="GLintptr"/>
+        <param name="size" type="GLsizeiptr"/>
+        <param name="format" type="GLenum"/>
+        <param name="type" type="GLenum"/>
+        <param name="data" type="const GLvoid *"/>
+    </function>
+
+<!--    <function name="ClearNamedBufferDataEXT" offset="assign">
+        <param name="buffer" type="GLuint"/>
+        <param name="internalformat" type="GLenum"/>
+        <param name="format" type="GLenum"/>
+        <param name="type" type="GLenum"/>
+        <param name="data" type="const GLvoid *"/>
+    </function>
+
+
+    <function name="ClearNamedBufferSubDataEXT" offset="assign">
+        <param name="buffer" type="GLuint"/>
+        <param name="internalformat" type="GLenum"/>
+        <param name="offset" type="GLintptr"/>
+        <param name="size" type="GLsizeiptr"/>
+        <param name="format" type="GLenum"/>
+        <param name="type" type="GLenum"/>
+        <param name="data" type="const GLvoid *"/>
+    </function> -->
+
+</category>
+
+</OpenGLAPI>
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index 778f3aa..697b2ec 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -8460,10 +8460,14 @@
 
 </category>
 
+<!-- ARB extension #120 -->
 
-<!-- ARB extensions #120...#123 -->
+<xi:include href="ARB_clear_buffer_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<!-- ARB extensions #122...#123 -->
 
 <xi:include href="ARB_texture_view.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
 <xi:include href="ARB_vertex_attrib_binding.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
 <!-- ARB extension #126 -->
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index 3e263f4..6e73691 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -574,6 +574,12 @@ struct dd_function_table {
 			     GLintptrARB offset, GLsizeiptrARB size,
 			     GLvoid *data, struct gl_buffer_object *obj );
 
+   void (*ClearBufferSubData)( struct gl_context *ctx,
+                               GLintptr offset, GLsizeiptr size,
+                               const GLvoid *clearValue,
+                               GLsizeiptr clearValueSize,
+                               struct gl_buffer_object *obj );
+
    void (*CopyBufferSubData)( struct gl_context *ctx,
                               struct gl_buffer_object *src,
                               struct gl_buffer_object *dst,
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index 2f4539a..227a4fd 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -846,8 +846,8 @@ const struct function gl_core_functions_possible[] = {
 // { "glGetObjectLabel", 43, -1 },                      // XXX: Add to xml
 // { "glObjectPtrLabel", 43, -1 },                      // XXX: Add to xml
 // { "glGetObjectPtrLabel", 43, -1 },                   // XXX: Add to xml
-// { "glClearBufferData", 43, -1 },                     // XXX: Add to xml
-// { "glClearBufferSubData", 43, -1 },                  // XXX: Add to xml
+   { "glClearBufferData", 43, -1 },
+   { "glClearBufferSubData", 43, -1 },
 // { "glClearNamedBufferDataEXT", 43, -1 },             // XXX: Add to xml
 // { "glClearNamedBufferSubDataEXT", 43, -1 },          // XXX: Add to xml
 // { "glDispatchCompute", 43, -1 },                     // XXX: Add to xml




More information about the mesa-commit mailing list