mesa: add APPLE_vertex_array_object stubs

APPLE_vertex_array_object support was removed in 7927d0378f.
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: 7927d0378f ("mesa: drop APPLE_vertex_array_object support")

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
Timothy Arceri 2017-05-19 12:31:47 +10:00
parent 3ceae88642
commit 4eb0411ed7
7 changed files with 53 additions and 1 deletions

View File

@ -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>

View File

@ -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 \

View File

@ -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"/>

View File

@ -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) },

View File

@ -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.

View File

@ -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 );

View File

@ -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 },