summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-02-20 11:26:33 +1000
committerDave Airlie <airlied@redhat.com>2015-05-08 10:21:01 +1000
commit5a7f04925f60a0222c66de8e3e4e788a0a550d5b (patch)
tree88f7a9c46c610541e6f0b1bf2960d4d66a77157b
parent731b7c49bb78d6d1be25f9010af0087146de0b48 (diff)
mapi: add GL_ARB_vertex_attrib_64bit support
This just adds the glapi bits. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml70
-rw-r--r--src/mapi/glapi/gen/Makefile.am1
-rw-r--r--src/mapi/glapi/gen/gl_API.xml4
-rw-r--r--src/mesa/main/api_loopback.c37
-rw-r--r--src/mesa/main/api_loopback.h16
-rw-r--r--src/mesa/main/tests/dispatch_sanity.cpp20
-rw-r--r--src/mesa/main/varray.c10
-rw-r--r--src/mesa/main/varray.h6
8 files changed, 151 insertions, 13 deletions
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 0000000000..fc49f84b5b
--- /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 1c4b86aab6..c8d4174688 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 a8a6db6836..d1565989c2 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 d10ae15ea2..9a597795c1 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 44514405b3..026bfd68e1 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 2a5afcd36a..2d38b186a7 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -780,16 +780,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 42e7f89b26..69c70a870f 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 4e4bd5f80a..dd06fbf209 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);