[Mesa-dev] [PATCH 2/8] mapi: add GL_ARB_vertex_attrib_64bit support

Dave Airlie airlied at gmail.com
Wed Apr 29 18:13:57 PDT 2015


From: Dave Airlie <airlied at redhat.com>

This just adds the glapi bits.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml | 70 ++++++++++++++++++++++++++
 src/mapi/glapi/gen/Makefile.am                 |  1 +
 src/mapi/glapi/gen/gl_API.xml                  |  4 +-
 src/mesa/main/api_loopback.c                   | 37 ++++++++++++++
 src/mesa/main/api_loopback.h                   | 16 ++++++
 src/mesa/main/tests/dispatch_sanity.cpp        | 20 ++++----
 src/mesa/main/varray.c                         | 10 +++-
 src/mesa/main/varray.h                         |  6 ++-
 8 files changed, 151 insertions(+), 13 deletions(-)
 create mode 100644 src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml

diff --git a/src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml b/src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml
new file mode 100644
index 0000000..fc49f84
--- /dev/null
+++ b/src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
+
+<OpenGLAPI>
+
+<category name="GL_ARB_vertex_attrib_64bit" number="99">
+
+    <function name="VertexAttribL1d" offset="assign">
+        <param name="index" type="GLuint"/>
+        <param name="x" type="GLdouble"/>
+    </function>
+
+    <function name="VertexAttribL2d" offset="assign">
+        <param name="index" type="GLuint"/>
+        <param name="x" type="GLdouble"/>
+        <param name="y" type="GLdouble"/>
+    </function>
+
+    <function name="VertexAttribL3d" offset="assign">
+        <param name="index" type="GLuint"/>
+        <param name="x" type="GLdouble"/>
+        <param name="y" type="GLdouble"/>
+        <param name="z" type="GLdouble"/>
+    </function>
+
+    <function name="VertexAttribL4d" offset="assign">
+        <param name="index" type="GLuint"/>
+        <param name="x" type="GLdouble"/>
+        <param name="y" type="GLdouble"/>
+        <param name="z" type="GLdouble"/>
+        <param name="w" type="GLdouble"/>
+    </function>
+
+    <function name="VertexAttribL1dv" offset="assign">
+        <param name="index" type="GLuint"/>
+        <param name="v" type="const GLdouble *"/>
+    </function>
+
+    <function name="VertexAttribL2dv" offset="assign">
+        <param name="index" type="GLuint"/>
+        <param name="v" type="const GLdouble *"/>
+    </function>
+
+    <function name="VertexAttribL3dv" offset="assign">
+        <param name="index" type="GLuint"/>
+        <param name="v" type="const GLdouble *"/>
+    </function>
+
+    <function name="VertexAttribL4dv" offset="assign">
+        <param name="index" type="GLuint"/>
+        <param name="v" type="const GLdouble *"/>
+    </function>
+
+    <function name="VertexAttribLPointer" offset="assign">
+        <param name="index" type="GLuint"/>
+        <param name="size" type="GLint"/>
+        <param name="type" type="GLenum"/>
+        <param name="stride" type="GLsizei"/>
+        <param name="pointer" type="const GLvoid *"/>
+    </function>
+
+    <function name="GetVertexAttribLdv" offset="assign">
+        <param name="index" type="GLuint"/>
+        <param name="pname" type="GLenum"/>
+        <param name="params" type="GLdouble *"/>
+    </function>
+</category>
+
+</OpenGLAPI>
+
diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am
index 1c4b86a..c8d4174 100644
--- a/src/mapi/glapi/gen/Makefile.am
+++ b/src/mapi/glapi/gen/Makefile.am
@@ -163,6 +163,7 @@ API_XML = \
 	ARB_texture_view.xml \
 	ARB_uniform_buffer_object.xml \
 	ARB_vertex_array_object.xml \
+	ARB_vertex_attrib_64bit.xml \
 	ARB_vertex_attrib_binding.xml \
 	ARB_viewport_array.xml \
 	AMD_draw_buffers_blend.xml \
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index a8a6db6..d156598 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -8253,7 +8253,9 @@
       <!-- No new functions, types, enums. -->
 </category>
 
-<!-- ARB extensions #99...#108 -->
+<xi:include href="ARB_vertex_attrib_64bit.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<!-- ARB extensions #100...#108 -->
 
 <xi:include href="ARB_ES2_compatibility.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
diff --git a/src/mesa/main/api_loopback.c b/src/mesa/main/api_loopback.c
index d10ae15..9a59779 100644
--- a/src/mesa/main/api_loopback.c
+++ b/src/mesa/main/api_loopback.c
@@ -1490,8 +1490,45 @@ _mesa_VertexAttribI4usv(GLuint index, const GLushort *v)
    ATTRIBI_4UI(index, v[0], v[1], v[2], v[3]);
 }
 
+void GLAPIENTRY
+_mesa_VertexAttribL1d(GLuint index, GLdouble x)
+{
+}
 
+void GLAPIENTRY
+_mesa_VertexAttribL2d(GLuint index, GLdouble x, GLdouble y)
+{
+}
 
+void GLAPIENTRY
+_mesa_VertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z)
+{
+}
+
+void GLAPIENTRY
+_mesa_VertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
+{
+}
+
+void GLAPIENTRY
+_mesa_VertexAttribL1dv(GLuint index, const GLdouble *v)
+{
+}
+
+void GLAPIENTRY
+_mesa_VertexAttribL2dv(GLuint index, const GLdouble *v)
+{
+}
+
+void GLAPIENTRY
+_mesa_VertexAttribL3dv(GLuint index, const GLdouble *v)
+{
+}
+
+void GLAPIENTRY
+_mesa_VertexAttribL4dv(GLuint index, const GLdouble *v)
+{
+}
 
 /*
  * This code never registers handlers for any of the entry points
diff --git a/src/mesa/main/api_loopback.h b/src/mesa/main/api_loopback.h
index 4451440..026bfd6 100644
--- a/src/mesa/main/api_loopback.h
+++ b/src/mesa/main/api_loopback.h
@@ -464,5 +464,21 @@ _mesa_VertexAttribI4ubv(GLuint index, const GLubyte *v);
 void GLAPIENTRY
 _mesa_VertexAttribI4usv(GLuint index, const GLushort *v);
 
+void GLAPIENTRY
+_mesa_VertexAttribL1d(GLuint index, GLdouble x);
+void GLAPIENTRY
+_mesa_VertexAttribL2d(GLuint index, GLdouble x, GLdouble y);
+void GLAPIENTRY
+_mesa_VertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
+void GLAPIENTRY
+_mesa_VertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
+void GLAPIENTRY
+_mesa_VertexAttribL1dv(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+_mesa_VertexAttribL2dv(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+_mesa_VertexAttribL3dv(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+_mesa_VertexAttribL4dv(GLuint index, const GLdouble *v);
 #endif /* API_LOOPBACK_H */
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index 946eabb..4db6e4f 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -743,16 +743,16 @@ const struct function gl_core_functions_possible[] = {
    { "glProgramUniformMatrix4x3dv", 40, -1 },
    { "glValidateProgramPipeline", 43, -1 },
    { "glGetProgramPipelineInfoLog", 43, -1 },
-// { "glVertexAttribL1d", 43, -1 },                     // XXX: Add to xml
-// { "glVertexAttribL2d", 43, -1 },                     // XXX: Add to xml
-// { "glVertexAttribL3d", 43, -1 },                     // XXX: Add to xml
-// { "glVertexAttribL4d", 43, -1 },                     // XXX: Add to xml
-// { "glVertexAttribL1dv", 43, -1 },                    // XXX: Add to xml
-// { "glVertexAttribL2dv", 43, -1 },                    // XXX: Add to xml
-// { "glVertexAttribL3dv", 43, -1 },                    // XXX: Add to xml
-// { "glVertexAttribL4dv", 43, -1 },                    // XXX: Add to xml
-// { "glVertexAttribLPointer", 43, -1 },                // XXX: Add to xml
-// { "glGetVertexAttribLdv", 43, -1 },                  // XXX: Add to xml
+   { "glVertexAttribL1d", 41, -1 },
+   { "glVertexAttribL2d", 41, -1 },
+   { "glVertexAttribL3d", 41, -1 },
+   { "glVertexAttribL4d", 41, -1 },
+   { "glVertexAttribL1dv", 41, -1 },
+   { "glVertexAttribL2dv", 41, -1 },
+   { "glVertexAttribL3dv", 41, -1 },
+   { "glVertexAttribL4dv", 41, -1 },
+   { "glVertexAttribLPointer", 41, -1 },
+   { "glGetVertexAttribLdv", 41, -1 },
    { "glViewportArrayv", 43, -1 },
    { "glViewportIndexedf", 43, -1 },
    { "glViewportIndexedfv", 43, -1 },
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index 42e7f89..69c70a8 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -699,7 +699,11 @@ _mesa_VertexAttribIPointer(GLuint index, GLint size, GLenum type,
                 size, type, stride, normalized, integer, ptr);
 }
 
-
+void GLAPIENTRY
+_mesa_VertexAttribLPointer(GLuint index, GLint size, GLenum type,
+                           GLsizei stride, const GLvoid *ptr)
+{
+}
 
 void GLAPIENTRY
 _mesa_EnableVertexAttribArray(GLuint index)
@@ -879,6 +883,10 @@ _mesa_GetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
    }
 }
 
+void GLAPIENTRY
+_mesa_GetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params)
+{
+}
 
 void GLAPIENTRY
 _mesa_GetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h
index 4e4bd5f..dd06fbf 100644
--- a/src/mesa/main/varray.h
+++ b/src/mesa/main/varray.h
@@ -166,6 +166,9 @@ void GLAPIENTRY
 _mesa_VertexAttribIPointer(GLuint index, GLint size, GLenum type,
                            GLsizei stride, const GLvoid *ptr);
 
+extern void GLAPIENTRY
+_mesa_VertexAttribLPointer(GLuint index, GLint size, GLenum type,
+                           GLsizei stride, const GLvoid *pointer);
 
 extern void GLAPIENTRY
 _mesa_EnableVertexAttribArray(GLuint index);
@@ -178,10 +181,11 @@ _mesa_DisableVertexAttribArray(GLuint index);
 extern void GLAPIENTRY
 _mesa_GetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
 
-
 extern void GLAPIENTRY
 _mesa_GetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
 
+extern void GLAPIENTRY
+_mesa_GetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);
 
 extern void GLAPIENTRY
 _mesa_GetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
-- 
2.1.0



More information about the mesa-dev mailing list