Mesa (master): mesa: add APPLE_vertex_array_object stubs

Timothy Arceri tarceri at kemper.freedesktop.org
Mon May 22 05:12:34 UTC 2017


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

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Fri May 19 12:31:47 2017 +1000

mesa: add APPLE_vertex_array_object stubs

APPLE_vertex_array_object support was removed in 7927d0378fc7.
However it turns out we can't remove the functions because this
can cause issues when libglapi is used together with DRI
drivers built prior to said commit

Fixes: 7927d0378fc ("mesa: drop APPLE_vertex_array_object support")

Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

---

 src/mapi/glapi/gen/APPLE_vertex_array_object.xml | 27 ++++++++++++++++++++++++
 src/mapi/glapi/gen/Makefile.am                   |  1 +
 src/mapi/glapi/gen/gl_API.xml                    |  2 +-
 src/mapi/glapi/tests/check_table.cpp             |  2 ++
 src/mesa/main/arrayobj.c                         | 16 ++++++++++++++
 src/mesa/main/arrayobj.h                         |  4 ++++
 src/mesa/main/tests/dispatch_sanity.cpp          |  2 ++
 7 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/src/mapi/glapi/gen/APPLE_vertex_array_object.xml b/src/mapi/glapi/gen/APPLE_vertex_array_object.xml
new file mode 100644
index 0000000000..7312f9b35f
--- /dev/null
+++ b/src/mapi/glapi/gen/APPLE_vertex_array_object.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
+
+<OpenGLAPI>
+<category name="GL_APPLE_vertex_array_object" number="273">
+    <enum name="VERTEX_ARRAY_BINDING_APPLE"               value="0x85B5"/>
+
+    <function name="BindVertexArrayAPPLE" deprecated="3.1">
+        <param name="array" type="GLuint"/>
+    </function>
+
+    <function name="DeleteVertexArraysAPPLE" alias="DeleteVertexArrays">
+        <param name="n" type="GLsizei"/>
+	<param name="arrays" type="const GLuint *"/>
+    </function>
+
+    <function name="GenVertexArraysAPPLE" deprecated="3.1">
+        <param name="n" type="GLsizei"/>
+	<param name="arrays" type="GLuint *" count="n" output="true"/>
+    </function>
+
+    <function name="IsVertexArrayAPPLE" alias="IsVertexArray">
+        <param name="array" type="GLuint"/>
+	<return type="GLboolean"/>
+    </function>
+</category>
+</OpenGLAPI>
diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am
index ecd1c71175..33139bdf08 100644
--- a/src/mapi/glapi/gen/Makefile.am
+++ b/src/mapi/glapi/gen/Makefile.am
@@ -189,6 +189,7 @@ API_XML = \
 	AMD_performance_monitor.xml \
 	ARB_vertex_type_2_10_10_10_rev.xml \
 	APPLE_object_purgeable.xml \
+	APPLE_vertex_array_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 762fb5a676..630d6b8a5b 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -12531,7 +12531,7 @@
 </category>
 
 <xi:include href="APPLE_object_purgeable.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-<!-- Extension number 273 obsolete APPLE_vertex_array_object. -->
+<xi:include href="APPLE_vertex_array_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
 <category name="GL_APPLE_ycbcr_422" number="275">
     <enum name="YCBCR_422_APPLE"                          value="0x85B9"/>
diff --git a/src/mapi/glapi/tests/check_table.cpp b/src/mapi/glapi/tests/check_table.cpp
index a1041bcea2..09bf4f3585 100644
--- a/src/mapi/glapi/tests/check_table.cpp
+++ b/src/mapi/glapi/tests/check_table.cpp
@@ -1404,7 +1404,9 @@ const struct name_offset known_dispatch[] = {
    { "glPointParameteri", _O(PointParameteri) },
    { "glPointParameteriv", _O(PointParameteriv) },
    { "glActiveStencilFaceEXT", _O(ActiveStencilFaceEXT) },
+   { "glBindVertexArrayAPPLE", _O(BindVertexArrayAPPLE) },
    { "glDeleteVertexArrays", _O(DeleteVertexArrays) },
+   { "glGenVertexArraysAPPLE", _O(GenVertexArraysAPPLE) },
    { "glIsVertexArray", _O(IsVertexArray) },
    { "glGetProgramNamedParameterdvNV", _O(GetProgramNamedParameterdvNV) },
    { "glGetProgramNamedParameterfvNV", _O(GetProgramNamedParameterfvNV) },
diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
index 82c00fbe82..b98622932c 100644
--- a/src/mesa/main/arrayobj.c
+++ b/src/mesa/main/arrayobj.c
@@ -473,6 +473,14 @@ _mesa_BindVertexArray( GLuint id )
 }
 
 
+void GLAPIENTRY
+_mesa_BindVertexArrayAPPLE(GLuint id)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   _mesa_problem(ctx, "APPLE_vertex_array_object is not supported!");
+}
+
+
 /**
  * Delete a set of array objects.
  *
@@ -579,6 +587,14 @@ _mesa_GenVertexArrays(GLsizei n, GLuint *arrays)
 }
 
 
+void GLAPIENTRY
+_mesa_GenVertexArraysAPPLE(GLsizei n, GLuint *arrays)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   _mesa_problem(ctx, "APPLE_vertex_array_object is not supported!");
+}
+
+
 /**
  * ARB_direct_state_access
  * Generates ID's and creates the array objects.
diff --git a/src/mesa/main/arrayobj.h b/src/mesa/main/arrayobj.h
index 1794968577..097027ba97 100644
--- a/src/mesa/main/arrayobj.h
+++ b/src/mesa/main/arrayobj.h
@@ -96,10 +96,14 @@ _mesa_all_buffers_are_unmapped(const struct gl_vertex_array_object *vao);
 
 void GLAPIENTRY _mesa_BindVertexArray( GLuint id );
 
+void GLAPIENTRY _mesa_BindVertexArrayAPPLE(GLuint id);
+
 void GLAPIENTRY _mesa_DeleteVertexArrays(GLsizei n, const GLuint *ids);
 
 void GLAPIENTRY _mesa_GenVertexArrays(GLsizei n, GLuint *arrays);
 
+void GLAPIENTRY _mesa_GenVertexArraysAPPLE(GLsizei n, GLuint *buffer);
+
 void GLAPIENTRY _mesa_CreateVertexArrays(GLsizei n, GLuint *arrays);
 
 GLboolean GLAPIENTRY _mesa_IsVertexArray( GLuint id );
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index b33043ed28..12a9ee7bae 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -969,6 +969,8 @@ const struct function common_desktop_functions_possible[] = {
 };
 
 const struct function gl_compatibility_functions_possible[] = {
+   { "glBindVertexArrayAPPLE", 10, -1 },
+   { "glGenVertexArraysAPPLE", 10, -1 },
    { "glBindRenderbufferEXT", 10, -1 },
    { "glBindFramebufferEXT", 10, -1 },
    { "glNewList", 10, _gloffset_NewList },




More information about the mesa-commit mailing list