On 12/11/2013 04:53 AM, Pi Tabred wrote:
On 10.12.2013 18:00, Marek Olšák wrote:
On Tue, Dec 10, 2013 at 2:13 PM, Pi Tabred <servuswiege...@yahoo.de> wrote:
- add xml file for extension
- add reference in gl_API.xml
- add pointer to device driver function table
- add new functions to list of available functions
---
src/mapi/glapi/gen/ARB_clear_buffer_object.xml | 50 ++++++++++++++++++++++++++
src/mapi/glapi/gen/gl_API.xml | 6 +++-
src/mesa/main/dd.h | 5 +++
src/mesa/main/tests/dispatch_sanity.cpp | 4 +--
4 files changed, 62 insertions(+), 3 deletions(-)
create mode 100644 src/mapi/glapi/gen/ARB_clear_buffer_object.xml
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..e7baf6f
--- /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" es2="3.0">
+ <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" es2="3.0">
+ <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 5c877aa..af8ab2e 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -8460,7 +8460,11 @@
</category>
-<!-- ARB extensions #120...#124 -->
+<!-- ARB extension #120 -->
+
+<xi:include href="ARB_clear_buffer_object.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<!-- ARB extensions #122...#124 -->
<xi:include href="ARB_vertex_attrib_binding.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index b5b874f..0e2bda0 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -569,6 +569,11 @@ struct dd_function_table {
GLintptrARB offset, GLsizeiptrARB size,
GLvoid *data, struct gl_buffer_object *obj );
+ void (*ClearBufferSubData)( struct gl_context *ctx, GLenum internalformat,
+ GLintptr offset, GLsizeiptr size,
+ GLenum format, GLenum type,
+ const GLvoid *data, struct gl_buffer_object
*obj );
This interface could be simpler. The unpacking from the data to the
internal format should take place in mesa/main, so that drivers only
have to implement something like this:
void (*ClearBufferSubData)(struct gl_context *ctx, struct
gl_buffer_object *obj, GLintptr offset, GLsizeiptr size, GLvoid
*element, int element_size);
"offset" and "size" should stay. "element" is the clear value that has
"element_size" bytes. "element_size" is the size of the internal
format in bytes.
Marek
That's something I considered, but I thought the drivers might have
their own way of converting the data to the internalformat.
If that's not the case, I'll change it.
I like Marek's idea too. Can you please try that?
-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev