WTF? I gave review feedback on IRC, and you said you were going to send a different patch... yet this patch landed. If you're not going to take review feedback, why do you ask for it?
On 05/18/2017 07:50 PM, Timothy Arceri wrote: > 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 DRI1 drivers > which were branched off from master a few years ago. > --- > 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(-) > create mode 100644 src/mapi/glapi/gen/APPLE_vertex_array_object.xml > > 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 0000000..7312f9b > --- /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 ecd1c71..33139bd 100644 > --- a/src/mapi/glapi/gen/Makefile.am > +++ b/src/mapi/glapi/gen/Makefile.am > @@ -182,20 +182,21 @@ 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 \ > 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 \ > EXT_packed_depth_stencil.xml \ > EXT_provoking_vertex.xml \ > EXT_separate_shader_objects.xml \ > EXT_texture_array.xml \ > EXT_texture_integer.xml \ > EXT_transform_feedback.xml \ > EXT_window_rectangles.xml \ > diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml > index 762fb5a..630d6b8 100644 > --- a/src/mapi/glapi/gen/gl_API.xml > +++ b/src/mapi/glapi/gen/gl_API.xml > @@ -12524,21 +12524,21 @@ > <size name="Get" mode="get"/> > </enum> > > <function name="ActiveStencilFaceEXT" deprecated="3.1"> > <param name="face" type="GLenum"/> > <glx rop="4220"/> > </function> > </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"/> > <enum name="UNSIGNED_SHORT_8_8_APPLE" value="0x85BA"/> > <enum name="UNSIGNED_SHORT_8_8_REV_APPLE" value="0x85BB"/> > </category> > > <category name="GL_S3_s3tc" number="276"> > <enum name="RGB_S3TC" value="0x83A0"/> > <enum name="RGB4_S3TC" value="0x83A1"/> > diff --git a/src/mapi/glapi/tests/check_table.cpp > b/src/mapi/glapi/tests/check_table.cpp > index a1041bce..09bf4f3 100644 > --- a/src/mapi/glapi/tests/check_table.cpp > +++ b/src/mapi/glapi/tests/check_table.cpp > @@ -1397,21 +1397,23 @@ const struct name_offset known_dispatch[] = { > { "glColorFragmentOp3ATI", _O(ColorFragmentOp3ATI) }, > { "glDeleteFragmentShaderATI", _O(DeleteFragmentShaderATI) }, > { "glEndFragmentShaderATI", _O(EndFragmentShaderATI) }, > { "glGenFragmentShadersATI", _O(GenFragmentShadersATI) }, > { "glPassTexCoordATI", _O(PassTexCoordATI) }, > { "glSampleMapATI", _O(SampleMapATI) }, > { "glSetFragmentShaderConstantATI", _O(SetFragmentShaderConstantATI) }, > { "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) }, > { "glProgramNamedParameter4dNV", _O(ProgramNamedParameter4dNV) }, > { "glProgramNamedParameter4dvNV", _O(ProgramNamedParameter4dvNV) }, > { "glProgramNamedParameter4fNV", _O(ProgramNamedParameter4fNV) }, > { "glProgramNamedParameter4fvNV", _O(ProgramNamedParameter4fvNV) }, > { "glPrimitiveRestartIndex", _O(PrimitiveRestartIndex) }, > { "glPrimitiveRestartNV", _O(PrimitiveRestartNV) }, > { "glDepthBoundsEXT", _O(DepthBoundsEXT) }, > diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c > index 82c00fb..b986229 100644 > --- a/src/mesa/main/arrayobj.c > +++ b/src/mesa/main/arrayobj.c > @@ -466,20 +466,28 @@ _mesa_BindVertexArray( GLuint id ) > */ > ctx->Array._DrawArrays = NULL; > ctx->Array.DrawMethod = DRAW_NONE; > } > > ctx->NewState |= _NEW_ARRAY; > _mesa_reference_vao(ctx, &ctx->Array.VAO, newObj); > } > > > +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. > * > * \param n Number of array objects to delete. > * \param ids Array of \c n array object IDs. > */ > void GLAPIENTRY > _mesa_DeleteVertexArrays(GLsizei n, const GLuint *ids) > { > GET_CURRENT_CONTEXT(ctx); > @@ -572,20 +580,28 @@ gen_vertex_arrays(struct gl_context *ctx, GLsizei n, > GLuint *arrays, > * All arrays will be required to live in VBOs. > */ > void GLAPIENTRY > _mesa_GenVertexArrays(GLsizei n, GLuint *arrays) > { > GET_CURRENT_CONTEXT(ctx); > gen_vertex_arrays(ctx, n, arrays, false, "glGenVertexArrays"); > } > > > +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. > */ > void GLAPIENTRY > _mesa_CreateVertexArrays(GLsizei n, GLuint *arrays) > { > GET_CURRENT_CONTEXT(ctx); > gen_vertex_arrays(ctx, n, arrays, true, "glCreateVertexArrays"); > } > diff --git a/src/mesa/main/arrayobj.h b/src/mesa/main/arrayobj.h > index 1794968..097027b 100644 > --- a/src/mesa/main/arrayobj.h > +++ b/src/mesa/main/arrayobj.h > @@ -89,23 +89,27 @@ _mesa_all_varyings_in_vbos(const struct > gl_vertex_array_object *vao); > extern bool > _mesa_all_buffers_are_unmapped(const struct gl_vertex_array_object *vao); > > /* > * API functions > */ > > > 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 ); > > void GLAPIENTRY _mesa_VertexArrayElementBuffer(GLuint vaobj, GLuint buffer); > > void GLAPIENTRY _mesa_GetVertexArrayiv(GLuint vaobj, GLenum pname, GLint > *param); > > #endif /* ARRAYOBJ_H */ > diff --git a/src/mesa/main/tests/dispatch_sanity.cpp > b/src/mesa/main/tests/dispatch_sanity.cpp > index b33043e..12a9ee7 100644 > --- a/src/mesa/main/tests/dispatch_sanity.cpp > +++ b/src/mesa/main/tests/dispatch_sanity.cpp > @@ -962,20 +962,22 @@ const struct function > common_desktop_functions_possible[] = { > { "glBlendBarrierKHR", 20, -1 }, > > /* GL_ARB_sparse_buffer */ > { "glBufferPageCommitmentARB", 43, -1 }, > { "glNamedBufferPageCommitmentARB", 43, -1 }, > > { NULL, 0, -1 } > }; > > const struct function gl_compatibility_functions_possible[] = { > + { "glBindVertexArrayAPPLE", 10, -1 }, > + { "glGenVertexArraysAPPLE", 10, -1 }, > { "glBindRenderbufferEXT", 10, -1 }, > { "glBindFramebufferEXT", 10, -1 }, > { "glNewList", 10, _gloffset_NewList }, > { "glEndList", 10, _gloffset_EndList }, > { "glCallList", 10, _gloffset_CallList }, > { "glCallLists", 10, _gloffset_CallLists }, > { "glDeleteLists", 10, _gloffset_DeleteLists }, > { "glGenLists", 10, _gloffset_GenLists }, > { "glListBase", 10, _gloffset_ListBase }, > { "glBegin", 10, _gloffset_Begin }, > _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
