summaryrefslogtreecommitdiffstats
path: root/src/mapi
Commit message (Collapse)AuthorAgeFilesLines
* gles2: Add an ABI-check testMatt Turner2013-03-192-0/+294
| | | | | | | | Checks that no functions are exported that are not part of the ABI. Note that currently we are exporting functions that are aliased to functions that are part of the ABI. They shouldn't be exported, but the XML descriptions don't adequately describe this case.
* gles1: Add an ABI-check testMatt Turner2013-03-192-0/+256
| | | | | | | | Checks that no functions are exported that are not part of the ABI. Note that currently we are exporting functions that are aliased to functions that are part of the ABI. They shouldn't be exported, but the XML descriptions don't adequately describe this case.
* Properly check GLX_INDIRECT_RENDERING in glapi/tests/check_tableJon TURNEY2013-03-132-1/+2
| | | | | | | | Actually use $DEFINES, so we can see if GLX_INDIRECT_RENDERING is defined If GLX_INDIRECT_RENDERING is defined, _GLAPI_SKIP_PROTO_ENTRY_POINTS will be defined, and libglapi won't contain the 'protocol entry points', so we should provide stubs in check_table.cpp
* Fix glapi/tests/check_table.cpp for standardized OpenGL function namesJon TURNEY2013-03-131-264/+264
| | | | | | | | It looks like this has been broken since commit 1a1db1746db82efc7f0643508886dfc78a15eb71 "Standardize names of OpenGL functions." Signed-off-by: Jon TURNEY <[email protected]>
* Fix out-of-tree build of 'make check' in src/mapi/glapi/tests/Jon TURNEY2013-03-131-3/+3
| | | | Signed-off-by: Jon TURNEY <[email protected]>
* mesa,gallium,egl,mapi: One definition of C99 inline/__func__ to rule them all.José Fonseca2013-03-121-22/+4
| | | | | | | | We were in four already... NOTE: Candidate for the stable branches. Reviewed-by: Brian Paul <[email protected]>
* glapi/gen: Remove duplicate PYTHON_FLAGSStefan Brüns2013-03-091-7/+7
| | | | | | | PYTHON_GEN calls python with PYTHON_FLAGS Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Stefan Brüns <[email protected]>
* glapi: add ARB_texture_multisampleChris Forbes2013-03-022-1/+71
| | | | | | | | | | | | | | | | | | | | Adds new enums, dispatch machinery, and stubs for the 4 new entrypoints. V2: - Drop placeholder - Align enum values - Remove explicit exec=mesa; it *is* the dispatch flavor we want, but it's also the default. I misunderstood how this worked before; after actually reading the generator it makes good sense. V3: - Squash in stubs for new entrypoints, and dispatch_sanity tweaks, so we don't get build breakage between those patches. V4: - Fix various remaining whitespace issues Signed-off-by: Chris Forbes <[email protected]> [1/3 V2] Reviewed-by: Matt Turner <[email protected]> [V3] Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: mark static_dispatch false for DiscardFramebufferEXTTapani Pälli2013-02-221-1/+2
| | | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61199 Signed-off-by: Tapani Pälli <[email protected]> Tested-by: Vinson Lee <[email protected]> Tested-by: Brad King <[email protected]> Signed-off-by: Vinson Lee <[email protected]>
* gles2: a stub implementation for GL_EXT_discard_framebufferTapani Pälli2013-02-201-0/+13
| | | | | | | | | | | This patch implements a stub for GL_EXT_discard_framebuffer with required checks listed by the extension specification. This extension is required by GLBenchmark 2.5 when compiled with OpenGL ES 2.0 as the rendering backend. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-and-tested-by: Chad Versace <[email protected]>
* glx: fix glGetTexLevelParameteriv for indirect renderingStefan Brüns2013-02-191-1/+3
| | | | | | | | | | | | | | | | A single element in a GLX reply is contained in the header itself. The number of elements is denoted in the "n" field of the reply. If "n" is 1, the length of additional data is 0. The XXX_data_length() function of xcb does not return the length of the (optional, n>1) data but the number of elements. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=59876 Note: This is a candidate for the stable branches. Signed-off-by: Stefan Brüns <[email protected]> Signed-off-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Do not use backtrace on MinGW.Vinson Lee2013-01-311-1/+1
| | | | | | | execinfo.h is not available on MinGW. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* mesa: implement GL_ARB_texture_buffer_rangeChristoph Bumiller2013-01-303-0/+27
| | | | | | | | | | | | | | | | | | | | | | | v2: Record texObj.BufferSize as -1 in TexBuffer(non-Range) instead of the buffer's current size so we know we always have to use the full size of the buffer object (i.e. even if it changes without the user calling TexBuffer again) for the texture. Clarify invalid offset alignment error message. v3: Use extra GL_CORE-only section in get_hash_params.py for TEXTURE_BUFFER_OFFSET_ALIGNMENT. v4: Remove unnecessary check for profile in _mesa_TexBufferRange. Add check for extension enable in get_tex_level_parameter_buffer. v5: Fix position in gl_API.xml. Add comment about meaning of BufferSize == -1. v6: Add back checks for core profile and add a note about it. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* scons: Fix dependencies of generated headers.José Fonseca2013-01-213-31/+24
| | | | | | | | | | | | | | It appears that scons implicit dependency scanners fail to chain dependencies of generated headers when these are outside the build tree. This patch ensures generated source files are _always_ put in the build tree. I'm not 100% this will fix all depency issues, but from my experiments it does seem to fix this. NOTE: For this to be effective it is necessary to clean the source tree from generated header/source files. Reviewed-by: Brian Paul <[email protected]>
* Fix mapi code generator for out-of-tree buildJon TURNEY2013-01-161-1/+1
| | | | | | | | | | | | Use os.path.join() rather than hand-rolling it, so path is correct if sys.argv[0] returns an absolute path. (According to the python documentation, it's platform dependent whether sys.argv[0] is a full pathname or not. It probably also depends on how the process was started...) Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: Remove duplicate ARB_base_instance from gl_API.xmlIan Romanick2013-01-151-2/+0
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa: Add dispatch and extension XML for GL_ARB_internalformat_queryIan Romanick2013-01-153-2/+26
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).Johannes Obermayr2013-01-131-3/+3
| | | | Reviewed-by: Andreas Boll <[email protected]>
* glapi/gen: remove an obsolete comment from Makefile.amAndreas Boll2013-01-131-5/+0
| | | | | | | | Glapi gets generated at build time. See commit: 0ce0f7c0c8fa9902678af7f3ecad2541be5808d2 mesa: Remove the generated glapi from source control, and just build it.
* Remove hacks for static MakefilesMatt Turner2013-01-133-18/+5
| | | | | | | | | | | v2: Andreas Boll <[email protected]> - don't remove compatibility with scripts for the old build system v3: Andreas Boll <[email protected]> - remove more obsolete hacks v4: Andreas Boll <[email protected]> - add a previously removed TOP variable to fix vgapi build
* glapi: Emit dispatch for {ARB,OES}_get_program_binaryIan Romanick2013-01-111-6/+3
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: Remove spurious space from end of extension nameIan Romanick2013-01-111-1/+1
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: Reorder and clean up some of the includes and commentsIan Romanick2013-01-111-7/+3
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* build: mapi/glapi/gen: Use BUILT_SOURCESMatt Turner2013-01-101-4/+6
|
* Clean up .gitignore filesMatt Turner2013-01-108-8/+0
|
* mesa: Rename and wire-up GetInteger64i_vMatt Turner2013-01-101-1/+1
| | | | | | | | | | | | The function was named badly and wasn't in the dispatch table, making it hard to find. Fixes transform_feedback2_states and gets a few other transform feedback tests closer to working in es3conform. Reviewed-by Anuj Phogat <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Move ARB_base_instance to the correct locationMatt Turner2013-01-101-3/+5
| | | | | | | It's #107, it shouldn't be added after the #116 comment. Reviewed-by: Fredrik Höglund <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Add enums for ARB_ES3_compatibilityMatt Turner2013-01-103-0/+31
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: assert if driver did not compute the versionJordan Justen2012-12-161-0/+1
| | | | | | | | | | Make sure drivers initialize the version before: * _mesa_initialize_exec_table is called * _mesa_initialize_exec_table_vbo is called * A context is made current Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: separate exec allocation from initializationJordan Justen2012-12-161-12/+8
| | | | | | | | | | | | | | | | | | | In glapi/gl_genexec.py: * Remove _mesa_alloc_dispatch_table call In glapi/gl_genexec.py and api_exec.h: * Rename _mesa_create_exec_table to _mesa_initialize_exec_table In context.c: * Call _mesa_alloc_dispatch_table instead of _mesa_create_exec_table * Call _mesa_initialize_exec_table (this is temporary) Once all drivers have been modified to call _mesa_initialize_exec_table, then the call to _mesa_initialize_context can be removed from context.c. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* build: Fix GLES linkage without libglapiAndreas Boll2012-12-072-2/+10
| | | | | | | | | | fixes a regression introduced with fc9ea7c74dc5cb996c3d9fe6663fd6da080e8360 NOTE: This is a candidate for the 9.0 branch. Reported-by: Brian Paul <[email protected]> Acked-by: Matt Turner <[email protected]>
* mesa: Rename API_OPENGL to API_OPENGL_COMPAT.Paul Berry2012-11-291-1/+1
| | | | | | | | | | This should help avoid confusion now that we're using the gl_api enum to distinguishing between core and compatibility API's. The corresponding enum value for core API's is API_OPENGL_CORE. Acked-by: Eric Anholt <[email protected]> Acked-by: Matt Turner <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* mesa: Mark GetBufferParameteri64v as implemented.Kenneth Graunke2012-11-191-2/+1
| | | | | | | | | | | | | | | | | | Apparently this was accidentally marked as unimplemented, and thus not put in the dispatch table. Fixes 7 es3conform tests: - copy_buffer_parameters - copy_buffer_data - copy_buffer_usage - pixel_buffer_object_bind - pixel_buffer_object_parameteriv - pixel_buffer_object_texture_read - pixel_buffer_object_usage v2: Also update the DispatchSanity test for this change. Reviewed-by: Matt Turner <[email protected]>
* glapi: Stop handling XML annotation exec="{es,check,loopback}".Paul Berry2012-11-121-3/+0
| | | | | | | | | | | Previously, we used these XML annotations to make the code generation scripts aware of any instances where the Mesa implementation of a function had a prefix other than "_mesa_". Now that all of the mesa implementation functions have been renamed to match the XML, we only need to handle exec="skip", exec="dynamic", and the default case of exec="mesa". Acked-by: Brian Paul <[email protected]>
* glapi: Remove handling of mesa_name XML attribute.Paul Berry2012-11-123-53/+4
| | | | | | | | | | | Previously, we used the mesa_name XML attribute to make the code generation scripts aware of any instances where the Mesa implementation of a function had a different function name suffix than the primary name in the XML. Now that all of the Mesa implementation functions have been renamed to match the XML, this attribute is no longer necessary. Acked-by: Brian Paul <[email protected]>
* mesa: Standardize names of OpenGL functions.Paul Berry2012-11-1224-1428/+1345
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adjusts the aliasing pattern in the GL API description XML, and the functions that implement the GL API within Mesa, to consistently follow these naming conventions: - When several function names are aliases of each other, the primary name is the one with no extension suffix (or the name with the suffix "ARB", if no unsuffixed name is available). (By "primary name", I mean the name that all the other functions point to using the XML "alias" attribute). - The name of the mesa implementation of each function is the same as the primary name, with the prefix "_mesa_". This patch renames the following mesa functions: _check_GetTexGenxvOES => _mesa_GetTexGenxvOES _check_TexGenxOES => _mesa_TexGenxOES _check_TexGenxvOES => _mesa_TexGenxvOES _es_AlphaFuncx => _mesa_AlphaFuncx _es_ClearColorx => _mesa_ClearColorx _es_ClearDepthx => _mesa_ClearDepthx _es_ClipPlanef => _mesa_ClipPlanef _es_ClipPlanex => _mesa_ClipPlanex _es_Color4x => _mesa_Color4x _es_DepthRangex => _mesa_DepthRangex _es_DrawTexxOES => _mesa_DrawTexxOES _es_DrawTexxvOES => _mesa_DrawTexxvOES _es_Fogx => _mesa_Fogx _es_Fogxv => _mesa_Fogxv _es_Frustumf => _mesa_Frustumf _es_Frustumx => _mesa_Frustumx _es_GetClipPlanef => _mesa_GetClipPlanef _es_GetClipPlanex => _mesa_GetClipPlanex _es_GetLightxv => _mesa_GetLightxv _es_GetMaterialxv => _mesa_GetMaterialxv _es_GetTexEnvxv => _mesa_GetTexEnvxv _es_GetTexParameterxv => _mesa_GetTexParameterxv _es_LightModelx => _mesa_LightModelx _es_LightModelxv => _mesa_LightModelxv _es_Lightx => _mesa_Lightx _es_Lightxv => _mesa_Lightxv _es_LineWidthx => _mesa_LineWidthx _es_LoadMatrixx => _mesa_LoadMatrixx _es_Materialx => _mesa_Materialx _es_Materialxv => _mesa_Materialxv _es_MultMatrixx => _mesa_MultMatrixx _es_MultiTexCoord4x => _mesa_MultiTexCoord4x _es_Normal3x => _mesa_Normal3x _es_Orthof => _mesa_Orthof _es_Orthox => _mesa_Orthox _es_PointParameterx => _mesa_PointParameterx _es_PointParameterxv => _mesa_PointParameterxv _es_PointSizex => _mesa_PointSizex _es_PolygonOffsetx => _mesa_PolygonOffsetx _es_QueryMatrixxOES => _mesa_QueryMatrixxOES _es_Rotatex => _mesa_Rotatex _es_SampleCoveragex => _mesa_SampleCoveragex _es_Scalex => _mesa_Scalex _es_TexEnvx => _mesa_TexEnvx _es_TexEnvxv => _mesa_TexEnvxv _es_TexParameterx => _mesa_TexParameterx _es_TexParameterxv => _mesa_TexParameterxv _es_Translatex => _mesa_Translatex _mesa_ActiveTextureARB => _mesa_ActiveTexture _mesa_BeginQueryARB => _mesa_BeginQuery _mesa_BindAttribLocationARB => _mesa_BindAttribLocation _mesa_BindBufferARB => _mesa_BindBuffer _mesa_BindFramebufferEXT => _mesa_BindFramebuffer _mesa_BindProgram => _mesa_BindProgramARB _mesa_BindRenderbufferEXT => _mesa_BindRenderbuffer _mesa_BlendEquationSeparateEXT => _mesa_BlendEquationSeparate _mesa_BlendEquationSeparatei => _mesa_BlendEquationSeparateiARB _mesa_BlendEquationi => _mesa_BlendEquationiARB _mesa_BlendFuncSeparateEXT => _mesa_BlendFuncSeparate _mesa_BlendFuncSeparatei => _mesa_BlendFuncSeparateiARB _mesa_BlendFunci => _mesa_BlendFunciARB _mesa_BlitFramebufferEXT => _mesa_BlitFramebuffer _mesa_BufferDataARB => _mesa_BufferData _mesa_BufferSubDataARB => _mesa_BufferSubData _mesa_CheckFramebufferStatusEXT => _mesa_CheckFramebufferStatus _mesa_ClampColorARB => _mesa_ClampColor _mesa_ClientActiveTextureARB => _mesa_ClientActiveTexture _mesa_ColorMaskIndexed => _mesa_ColorMaski _mesa_CompileShaderARB => _mesa_CompileShader _mesa_CompressedTexImage1DARB => _mesa_CompressedTexImage1D _mesa_CompressedTexImage2DARB => _mesa_CompressedTexImage2D _mesa_CompressedTexImage3DARB => _mesa_CompressedTexImage3D _mesa_CompressedTexSubImage1DARB => _mesa_CompressedTexSubImage1D _mesa_CompressedTexSubImage2DARB => _mesa_CompressedTexSubImage2D _mesa_CompressedTexSubImage3DARB => _mesa_CompressedTexSubImage3D _mesa_DeleteBuffersARB => _mesa_DeleteBuffers _mesa_DeleteFramebuffersEXT => _mesa_DeleteFramebuffers _mesa_DeletePrograms => _mesa_DeleteProgramsARB _mesa_DeleteQueriesARB => _mesa_DeleteQueries _mesa_DeleteRenderbuffersEXT => _mesa_DeleteRenderbuffers _mesa_DeleteVertexArraysAPPLE => _mesa_DeleteVertexArrays _mesa_DisableIndexed => _mesa_Disablei _mesa_DisableVertexAttribArrayARB => _mesa_DisableVertexAttribArray _mesa_DrawBuffersARB => _mesa_DrawBuffers _mesa_DrawTexf => _mesa_DrawTexfOES _mesa_DrawTexfv => _mesa_DrawTexfvOES _mesa_DrawTexi => _mesa_DrawTexiOES _mesa_DrawTexiv => _mesa_DrawTexivOES _mesa_DrawTexs => _mesa_DrawTexsOES _mesa_DrawTexsv => _mesa_DrawTexsvOES _mesa_EnableIndexed => _mesa_Enablei _mesa_EnableVertexAttribArrayARB => _mesa_EnableVertexAttribArray _mesa_EndQueryARB => _mesa_EndQuery _mesa_FogCoordPointerEXT => _mesa_FogCoordPointer _mesa_FramebufferRenderbufferEXT => _mesa_FramebufferRenderbuffer _mesa_FramebufferTexture1DEXT => _mesa_FramebufferTexture1D _mesa_FramebufferTexture2DEXT => _mesa_FramebufferTexture2D _mesa_FramebufferTexture3DEXT => _mesa_FramebufferTexture3D _mesa_FramebufferTextureLayerEXT => _mesa_FramebufferTextureLayer _mesa_GenBuffersARB => _mesa_GenBuffers _mesa_GenFramebuffersEXT => _mesa_GenFramebuffers _mesa_GenPrograms => _mesa_GenProgramsARB _mesa_GenQueriesARB => _mesa_GenQueries _mesa_GenRenderbuffersEXT => _mesa_GenRenderbuffers _mesa_GenerateMipmapEXT => _mesa_GenerateMipmap _mesa_GetActiveAttribARB => _mesa_GetActiveAttrib _mesa_GetActiveUniformARB => _mesa_GetActiveUniform _mesa_GetAttribLocationARB => _mesa_GetAttribLocation _mesa_GetBooleanIndexedv => _mesa_GetBooleani_v _mesa_GetBufferParameterivARB => _mesa_GetBufferParameteriv _mesa_GetBufferPointervARB => _mesa_GetBufferPointerv _mesa_GetBufferSubDataARB => _mesa_GetBufferSubData _mesa_GetCompressedTexImageARB => _mesa_GetCompressedTexImage _mesa_GetFramebufferAttachmentParameterivEXT => _mesa_GetFramebufferAttachmentParameteriv _mesa_GetIntegerIndexedv => _mesa_GetIntegeri_v _mesa_GetQueryObjecti64vEXT => _mesa_GetQueryObjecti64v _mesa_GetQueryObjectivARB => _mesa_GetQueryObjectiv _mesa_GetQueryObjectui64vEXT => _mesa_GetQueryObjectui64v _mesa_GetQueryObjectuivARB => _mesa_GetQueryObjectuiv _mesa_GetQueryivARB => _mesa_GetQueryiv _mesa_GetRenderbufferParameterivEXT => _mesa_GetRenderbufferParameteriv _mesa_GetShaderSourceARB => _mesa_GetShaderSource _mesa_GetUniformLocationARB => _mesa_GetUniformLocation _mesa_GetUniformfvARB => _mesa_GetUniformfv _mesa_GetUniformivARB => _mesa_GetUniformiv _mesa_GetVertexAttribPointervARB => _mesa_GetVertexAttribPointerv _mesa_GetVertexAttribdvARB => _mesa_GetVertexAttribdv _mesa_GetVertexAttribfvARB => _mesa_GetVertexAttribfv _mesa_GetVertexAttribivARB => _mesa_GetVertexAttribiv _mesa_IsBufferARB => _mesa_IsBuffer _mesa_IsEnabledIndexed => _mesa_IsEnabledi _mesa_IsFramebufferEXT => _mesa_IsFramebuffer _mesa_IsQueryARB => _mesa_IsQuery _mesa_IsRenderbufferEXT => _mesa_IsRenderbuffer _mesa_IsVertexArrayAPPLE => _mesa_IsVertexArray _mesa_LinkProgramARB => _mesa_LinkProgram _mesa_LoadTransposeMatrixdARB => _mesa_LoadTransposeMatrixd _mesa_LoadTransposeMatrixfARB => _mesa_LoadTransposeMatrixf _mesa_MapBufferARB => _mesa_MapBuffer _mesa_MultTransposeMatrixdARB => _mesa_MultTransposeMatrixd _mesa_MultTransposeMatrixfARB => _mesa_MultTransposeMatrixf _mesa_MultiDrawArraysEXT => _mesa_MultiDrawArrays _mesa_PointSizePointer => _mesa_PointSizePointerOES _mesa_ProvokingVertexEXT => _mesa_ProvokingVertex _mesa_RenderbufferStorageEXT => _mesa_RenderbufferStorage _mesa_SampleCoverageARB => _mesa_SampleCoverage _mesa_SecondaryColorPointerEXT => _mesa_SecondaryColorPointer _mesa_ShaderSourceARB => _mesa_ShaderSource _mesa_Uniform1fARB => _mesa_Uniform1f _mesa_Uniform1fvARB => _mesa_Uniform1fv _mesa_Uniform1iARB => _mesa_Uniform1i _mesa_Uniform1ivARB => _mesa_Uniform1iv _mesa_Uniform2fARB => _mesa_Uniform2f _mesa_Uniform2fvARB => _mesa_Uniform2fv _mesa_Uniform2iARB => _mesa_Uniform2i _mesa_Uniform2ivARB => _mesa_Uniform2iv _mesa_Uniform3fARB => _mesa_Uniform3f _mesa_Uniform3fvARB => _mesa_Uniform3fv _mesa_Uniform3iARB => _mesa_Uniform3i _mesa_Uniform3ivARB => _mesa_Uniform3iv _mesa_Uniform4fARB => _mesa_Uniform4f _mesa_Uniform4fvARB => _mesa_Uniform4fv _mesa_Uniform4iARB => _mesa_Uniform4i _mesa_Uniform4ivARB => _mesa_Uniform4iv _mesa_UniformMatrix2fvARB => _mesa_UniformMatrix2fv _mesa_UniformMatrix3fvARB => _mesa_UniformMatrix3fv _mesa_UniformMatrix4fvARB => _mesa_UniformMatrix4fv _mesa_UnmapBufferARB => _mesa_UnmapBuffer _mesa_UseProgramObjectARB => _mesa_UseProgram _mesa_ValidateProgramARB => _mesa_ValidateProgram _mesa_VertexAttribPointerARB => _mesa_VertexAttribPointer _mesa_WindowPos2dMESA => _mesa_WindowPos2d _mesa_WindowPos2dvMESA => _mesa_WindowPos2dv _mesa_WindowPos2fMESA => _mesa_WindowPos2f _mesa_WindowPos2fvMESA => _mesa_WindowPos2fv _mesa_WindowPos2iMESA => _mesa_WindowPos2i _mesa_WindowPos2ivMESA => _mesa_WindowPos2iv _mesa_WindowPos2sMESA => _mesa_WindowPos2s _mesa_WindowPos2svMESA => _mesa_WindowPos2sv _mesa_WindowPos3dMESA => _mesa_WindowPos3d _mesa_WindowPos3dvMESA => _mesa_WindowPos3dv _mesa_WindowPos3fMESA => _mesa_WindowPos3f _mesa_WindowPos3fvMESA => _mesa_WindowPos3fv _mesa_WindowPos3iMESA => _mesa_WindowPos3i _mesa_WindowPos3ivMESA => _mesa_WindowPos3iv _mesa_WindowPos3sMESA => _mesa_WindowPos3s _mesa_WindowPos3svMESA => _mesa_WindowPos3sv loopback_Color3b_f => _mesa_Color3b loopback_Color3bv_f => _mesa_Color3bv loopback_Color3d_f => _mesa_Color3d loopback_Color3dv_f => _mesa_Color3dv loopback_Color3i_f => _mesa_Color3i loopback_Color3iv_f => _mesa_Color3iv loopback_Color3s_f => _mesa_Color3s loopback_Color3sv_f => _mesa_Color3sv loopback_Color3ub_f => _mesa_Color3ub loopback_Color3ubv_f => _mesa_Color3ubv loopback_Color3ui_f => _mesa_Color3ui loopback_Color3uiv_f => _mesa_Color3uiv loopback_Color3us_f => _mesa_Color3us loopback_Color3usv_f => _mesa_Color3usv loopback_Color4b_f => _mesa_Color4b loopback_Color4bv_f => _mesa_Color4bv loopback_Color4d_f => _mesa_Color4d loopback_Color4dv_f => _mesa_Color4dv loopback_Color4i_f => _mesa_Color4i loopback_Color4iv_f => _mesa_Color4iv loopback_Color4s_f => _mesa_Color4s loopback_Color4sv_f => _mesa_Color4sv loopback_Color4ub_f => _mesa_Color4ub loopback_Color4ubv_f => _mesa_Color4ubv loopback_Color4ui_f => _mesa_Color4ui loopback_Color4uiv_f => _mesa_Color4uiv loopback_Color4us_f => _mesa_Color4us loopback_Color4usv_f => _mesa_Color4usv loopback_EdgeFlagv => _mesa_EdgeFlagv loopback_EvalCoord1d => _mesa_EvalCoord1d loopback_EvalCoord1dv => _mesa_EvalCoord1dv loopback_EvalCoord1fv => _mesa_EvalCoord1fv loopback_EvalCoord2d => _mesa_EvalCoord2d loopback_EvalCoord2dv => _mesa_EvalCoord2dv loopback_EvalCoord2fv => _mesa_EvalCoord2fv loopback_FogCoorddEXT => _mesa_FogCoordd loopback_FogCoorddvEXT => _mesa_FogCoorddv loopback_Indexd => _mesa_Indexd loopback_Indexdv => _mesa_Indexdv loopback_Indexi => _mesa_Indexi loopback_Indexiv => _mesa_Indexiv loopback_Indexs => _mesa_Indexs loopback_Indexsv => _mesa_Indexsv loopback_Indexub => _mesa_Indexub loopback_Indexubv => _mesa_Indexubv loopback_Materialf => _mesa_Materialf loopback_Materiali => _mesa_Materiali loopback_Materialiv => _mesa_Materialiv loopback_MultiTexCoord1dARB => _mesa_MultiTexCoord1d loopback_MultiTexCoord1dvARB => _mesa_MultiTexCoord1dv loopback_MultiTexCoord1iARB => _mesa_MultiTexCoord1i loopback_MultiTexCoord1ivARB => _mesa_MultiTexCoord1iv loopback_MultiTexCoord1sARB => _mesa_MultiTexCoord1s loopback_MultiTexCoord1svARB => _mesa_MultiTexCoord1sv loopback_MultiTexCoord2dARB => _mesa_MultiTexCoord2d loopback_MultiTexCoord2dvARB => _mesa_MultiTexCoord2dv loopback_MultiTexCoord2iARB => _mesa_MultiTexCoord2i loopback_MultiTexCoord2ivARB => _mesa_MultiTexCoord2iv loopback_MultiTexCoord2sARB => _mesa_MultiTexCoord2s loopback_MultiTexCoord2svARB => _mesa_MultiTexCoord2sv loopback_MultiTexCoord3dARB => _mesa_MultiTexCoord3d loopback_MultiTexCoord3dvARB => _mesa_MultiTexCoord3dv loopback_MultiTexCoord3iARB => _mesa_MultiTexCoord3i loopback_MultiTexCoord3ivARB => _mesa_MultiTexCoord3iv loopback_MultiTexCoord3sARB => _mesa_MultiTexCoord3s loopback_MultiTexCoord3svARB => _mesa_MultiTexCoord3sv loopback_MultiTexCoord4dARB => _mesa_MultiTexCoord4d loopback_MultiTexCoord4dvARB => _mesa_MultiTexCoord4dv loopback_MultiTexCoord4iARB => _mesa_MultiTexCoord4i loopback_MultiTexCoord4ivARB => _mesa_MultiTexCoord4iv loopback_MultiTexCoord4sARB => _mesa_MultiTexCoord4s loopback_MultiTexCoord4svARB => _mesa_MultiTexCoord4sv loopback_Normal3b => _mesa_Normal3b loopback_Normal3bv => _mesa_Normal3bv loopback_Normal3d => _mesa_Normal3d loopback_Normal3dv => _mesa_Normal3dv loopback_Normal3i => _mesa_Normal3i loopback_Normal3iv => _mesa_Normal3iv loopback_Normal3s => _mesa_Normal3s loopback_Normal3sv => _mesa_Normal3sv loopback_Rectd => _mesa_Rectd loopback_Rectdv => _mesa_Rectdv loopback_Rectfv => _mesa_Rectfv loopback_Recti => _mesa_Recti loopback_Rectiv => _mesa_Rectiv loopback_Rects => _mesa_Rects loopback_Rectsv => _mesa_Rectsv loopback_SecondaryColor3bEXT_f => _mesa_SecondaryColor3b loopback_SecondaryColor3bvEXT_f => _mesa_SecondaryColor3bv loopback_SecondaryColor3dEXT_f => _mesa_SecondaryColor3d loopback_SecondaryColor3dvEXT_f => _mesa_SecondaryColor3dv loopback_SecondaryColor3iEXT_f => _mesa_SecondaryColor3i loopback_SecondaryColor3ivEXT_f => _mesa_SecondaryColor3iv loopback_SecondaryColor3sEXT_f => _mesa_SecondaryColor3s loopback_SecondaryColor3svEXT_f => _mesa_SecondaryColor3sv loopback_SecondaryColor3ubEXT_f => _mesa_SecondaryColor3ub loopback_SecondaryColor3ubvEXT_f => _mesa_SecondaryColor3ubv loopback_SecondaryColor3uiEXT_f => _mesa_SecondaryColor3ui loopback_SecondaryColor3uivEXT_f => _mesa_SecondaryColor3uiv loopback_SecondaryColor3usEXT_f => _mesa_SecondaryColor3us loopback_SecondaryColor3usvEXT_f => _mesa_SecondaryColor3usv loopback_TexCoord1d => _mesa_TexCoord1d loopback_TexCoord1dv => _mesa_TexCoord1dv loopback_TexCoord1i => _mesa_TexCoord1i loopback_TexCoord1iv => _mesa_TexCoord1iv loopback_TexCoord1s => _mesa_TexCoord1s loopback_TexCoord1sv => _mesa_TexCoord1sv loopback_TexCoord2d => _mesa_TexCoord2d loopback_TexCoord2dv => _mesa_TexCoord2dv loopback_TexCoord2i => _mesa_TexCoord2i loopback_TexCoord2iv => _mesa_TexCoord2iv loopback_TexCoord2s => _mesa_TexCoord2s loopback_TexCoord2sv => _mesa_TexCoord2sv loopback_TexCoord3d => _mesa_TexCoord3d loopback_TexCoord3dv => _mesa_TexCoord3dv loopback_TexCoord3i => _mesa_TexCoord3i loopback_TexCoord3iv => _mesa_TexCoord3iv loopback_TexCoord3s => _mesa_TexCoord3s loopback_TexCoord3sv => _mesa_TexCoord3sv loopback_TexCoord4d => _mesa_TexCoord4d loopback_TexCoord4dv => _mesa_TexCoord4dv loopback_TexCoord4i => _mesa_TexCoord4i loopback_TexCoord4iv => _mesa_TexCoord4iv loopback_TexCoord4s => _mesa_TexCoord4s loopback_TexCoord4sv => _mesa_TexCoord4sv loopback_Vertex2d => _mesa_Vertex2d loopback_Vertex2dv => _mesa_Vertex2dv loopback_Vertex2i => _mesa_Vertex2i loopback_Vertex2iv => _mesa_Vertex2iv loopback_Vertex2s => _mesa_Vertex2s loopback_Vertex2sv => _mesa_Vertex2sv loopback_Vertex3d => _mesa_Vertex3d loopback_Vertex3dv => _mesa_Vertex3dv loopback_Vertex3i => _mesa_Vertex3i loopback_Vertex3iv => _mesa_Vertex3iv loopback_Vertex3s => _mesa_Vertex3s loopback_Vertex3sv => _mesa_Vertex3sv loopback_Vertex4d => _mesa_Vertex4d loopback_Vertex4dv => _mesa_Vertex4dv loopback_Vertex4i => _mesa_Vertex4i loopback_Vertex4iv => _mesa_Vertex4iv loopback_Vertex4s => _mesa_Vertex4s loopback_Vertex4sv => _mesa_Vertex4sv loopback_VertexAttrib1dARB => _mesa_VertexAttrib1d loopback_VertexAttrib1dNV => _mesa_VertexAttrib1dNV loopback_VertexAttrib1dvARB => _mesa_VertexAttrib1dv loopback_VertexAttrib1dvNV => _mesa_VertexAttrib1dvNV loopback_VertexAttrib1sARB => _mesa_VertexAttrib1s loopback_VertexAttrib1sNV => _mesa_VertexAttrib1sNV loopback_VertexAttrib1svARB => _mesa_VertexAttrib1sv loopback_VertexAttrib1svNV => _mesa_VertexAttrib1svNV loopback_VertexAttrib2dARB => _mesa_VertexAttrib2d loopback_VertexAttrib2dNV => _mesa_VertexAttrib2dNV loopback_VertexAttrib2dvARB => _mesa_VertexAttrib2dv loopback_VertexAttrib2dvNV => _mesa_VertexAttrib2dvNV loopback_VertexAttrib2sARB => _mesa_VertexAttrib2s loopback_VertexAttrib2sNV => _mesa_VertexAttrib2sNV loopback_VertexAttrib2svARB => _mesa_VertexAttrib2sv loopback_VertexAttrib2svNV => _mesa_VertexAttrib2svNV loopback_VertexAttrib3dARB => _mesa_VertexAttrib3d loopback_VertexAttrib3dNV => _mesa_VertexAttrib3dNV loopback_VertexAttrib3dvARB => _mesa_VertexAttrib3dv loopback_VertexAttrib3dvNV => _mesa_VertexAttrib3dvNV loopback_VertexAttrib3sARB => _mesa_VertexAttrib3s loopback_VertexAttrib3sNV => _mesa_VertexAttrib3sNV loopback_VertexAttrib3svARB => _mesa_VertexAttrib3sv loopback_VertexAttrib3svNV => _mesa_VertexAttrib3svNV loopback_VertexAttrib4NbvARB => _mesa_VertexAttrib4Nbv loopback_VertexAttrib4NivARB => _mesa_VertexAttrib4Niv loopback_VertexAttrib4NsvARB => _mesa_VertexAttrib4Nsv loopback_VertexAttrib4NubARB => _mesa_VertexAttrib4Nub loopback_VertexAttrib4NubvARB => _mesa_VertexAttrib4Nubv loopback_VertexAttrib4NuivARB => _mesa_VertexAttrib4Nuiv loopback_VertexAttrib4NusvARB => _mesa_VertexAttrib4Nusv loopback_VertexAttrib4bvARB => _mesa_VertexAttrib4bv loopback_VertexAttrib4dARB => _mesa_VertexAttrib4d loopback_VertexAttrib4dNV => _mesa_VertexAttrib4dNV loopback_VertexAttrib4dvARB => _mesa_VertexAttrib4dv loopback_VertexAttrib4dvNV => _mesa_VertexAttrib4dvNV loopback_VertexAttrib4ivARB => _mesa_VertexAttrib4iv loopback_VertexAttrib4sARB => _mesa_VertexAttrib4s loopback_VertexAttrib4sNV => _mesa_VertexAttrib4sNV loopback_VertexAttrib4svARB => _mesa_VertexAttrib4sv loopback_VertexAttrib4svNV => _mesa_VertexAttrib4svNV loopback_VertexAttrib4ubNV => _mesa_VertexAttrib4ubNV loopback_VertexAttrib4ubvARB => _mesa_VertexAttrib4ubv loopback_VertexAttrib4ubvNV => _mesa_VertexAttrib4ubvNV loopback_VertexAttrib4uivARB => _mesa_VertexAttrib4uiv loopback_VertexAttrib4usvARB => _mesa_VertexAttrib4usv loopback_VertexAttribI1iv => _mesa_VertexAttribI1iv loopback_VertexAttribI1uiv => _mesa_VertexAttribI1uiv loopback_VertexAttribI4bv => _mesa_VertexAttribI4bv loopback_VertexAttribI4sv => _mesa_VertexAttribI4sv loopback_VertexAttribI4ubv => _mesa_VertexAttribI4ubv loopback_VertexAttribI4usv => _mesa_VertexAttribI4usv loopback_VertexAttribs1dvNV => _mesa_VertexAttribs1dvNV loopback_VertexAttribs1fvNV => _mesa_VertexAttribs1fvNV loopback_VertexAttribs1svNV => _mesa_VertexAttribs1svNV loopback_VertexAttribs2dvNV => _mesa_VertexAttribs2dvNV loopback_VertexAttribs2fvNV => _mesa_VertexAttribs2fvNV loopback_VertexAttribs2svNV => _mesa_VertexAttribs2svNV loopback_VertexAttribs3dvNV => _mesa_VertexAttribs3dvNV loopback_VertexAttribs3fvNV => _mesa_VertexAttribs3fvNV loopback_VertexAttribs3svNV => _mesa_VertexAttribs3svNV loopback_VertexAttribs4dvNV => _mesa_VertexAttribs4dvNV loopback_VertexAttribs4fvNV => _mesa_VertexAttribs4fvNV loopback_VertexAttribs4svNV => _mesa_VertexAttribs4svNV loopback_VertexAttribs4ubvNV => _mesa_VertexAttribs4ubvNV And changes the primary name assignment in the XML as follows: ActiveTextureARB => ActiveTexture AlphaFuncxOES => AlphaFuncx BeginConditionalRenderNV => BeginConditionalRender BeginQueryARB => BeginQuery BeginTransformFeedbackEXT => BeginTransformFeedback BindAttribLocationARB => BindAttribLocation BindBufferARB => BindBuffer BindBufferBaseEXT => BindBufferBase BindBufferRangeEXT => BindBufferRange BindFragDataLocationEXT => BindFragDataLocation BindFramebufferEXT => BindFramebuffer BindProgramNV => BindProgramARB BindRenderbufferEXT => BindRenderbuffer BlendEquationSeparateEXT => BlendEquationSeparate BlendFuncSeparateEXT => BlendFuncSeparate BlitFramebufferEXT => BlitFramebuffer BufferDataARB => BufferData BufferSubDataARB => BufferSubData CheckFramebufferStatusEXT => CheckFramebufferStatus ClampColorARB => ClampColor ClearColorxOES => ClearColorx ClearDepthxOES => ClearDepthx ClientActiveTextureARB => ClientActiveTexture ClipPlanefOES => ClipPlanef ClipPlanexOES => ClipPlanex Color4xOES => Color4x ColorMaskIndexedEXT => ColorMaski CompileShaderARB => CompileShader CompressedTexImage1DARB => CompressedTexImage1D CompressedTexImage2DARB => CompressedTexImage2D CompressedTexImage3DARB => CompressedTexImage3D CompressedTexSubImage1DARB => CompressedTexSubImage1D CompressedTexSubImage2DARB => CompressedTexSubImage2D CompressedTexSubImage3DARB => CompressedTexSubImage3D DeleteBuffersARB => DeleteBuffers DeleteFramebuffersEXT => DeleteFramebuffers DeleteProgramsNV => DeleteProgramsARB DeleteQueriesARB => DeleteQueries DeleteRenderbuffersEXT => DeleteRenderbuffers DeleteVertexArraysAPPLE => DeleteVertexArrays DepthRangexOES => DepthRangex DisableIndexedEXT => Disablei DisableVertexAttribArrayARB => DisableVertexAttribArray DrawBuffersARB => DrawBuffers EnableIndexedEXT => Enablei EnableVertexAttribArrayARB => EnableVertexAttribArray EndConditionalRenderNV => EndConditionalRender EndQueryARB => EndQuery EndTransformFeedbackEXT => EndTransformFeedback FogCoordPointerEXT => FogCoordPointer FogCoorddEXT => FogCoordd FogCoorddvEXT => FogCoorddv FogxOES => Fogx FogxvOES => Fogxv FramebufferRenderbufferEXT => FramebufferRenderbuffer FramebufferTexture1DEXT => FramebufferTexture1D FramebufferTexture2DEXT => FramebufferTexture2D FramebufferTexture3DEXT => FramebufferTexture3D FramebufferTextureLayerEXT => FramebufferTextureLayer FrustumfOES => Frustumf FrustumxOES => Frustumx GenBuffersARB => GenBuffers GenFramebuffersEXT => GenFramebuffers GenProgramsNV => GenProgramsARB GenQueriesARB => GenQueries GenRenderbuffersEXT => GenRenderbuffers GenerateMipmapEXT => GenerateMipmap GetActiveAttribARB => GetActiveAttrib GetActiveUniformARB => GetActiveUniform GetAttribLocationARB => GetAttribLocation GetBooleanIndexedvEXT => GetBooleani_v GetBufferParameterivARB => GetBufferParameteriv GetBufferPointervARB => GetBufferPointerv GetBufferSubDataARB => GetBufferSubData GetClipPlanefOES => GetClipPlanef GetClipPlanexOES => GetClipPlanex GetCompressedTexImageARB => GetCompressedTexImage GetFixedvOES => GetFixedv GetFragDataLocationEXT => GetFragDataLocation GetFramebufferAttachmentParameterivEXT => GetFramebufferAttachmentParameteriv GetIntegerIndexedvEXT => GetIntegeri_v GetLightxvOES => GetLightxv GetMaterialxvOES => GetMaterialxv GetQueryObjecti64vEXT => GetQueryObjecti64v GetQueryObjectivARB => GetQueryObjectiv GetQueryObjectui64vEXT => GetQueryObjectui64v GetQueryObjectuivARB => GetQueryObjectuiv GetQueryivARB => GetQueryiv GetRenderbufferParameterivEXT => GetRenderbufferParameteriv GetShaderSourceARB => GetShaderSource GetTexEnvxvOES => GetTexEnvxv GetTexParameterIivEXT => GetTexParameterIiv GetTexParameterIuivEXT => GetTexParameterIuiv GetTexParameterxvOES => GetTexParameterxv GetTransformFeedbackVaryingEXT => GetTransformFeedbackVarying GetUniformLocationARB => GetUniformLocation GetUniformfvARB => GetUniformfv GetUniformivARB => GetUniformiv GetUniformuivEXT => GetUniformuiv GetVertexAttribIivEXT => GetVertexAttribIiv GetVertexAttribIuivEXT => GetVertexAttribIuiv GetVertexAttribPointervNV => GetVertexAttribPointerv GetVertexAttribdvARB => GetVertexAttribdv GetVertexAttribfvARB => GetVertexAttribfv GetVertexAttribivARB => GetVertexAttribiv IsBufferARB => IsBuffer IsEnabledIndexedEXT => IsEnabledi IsFramebufferEXT => IsFramebuffer IsProgramNV => IsProgramARB IsQueryARB => IsQuery IsRenderbufferEXT => IsRenderbuffer IsVertexArrayAPPLE => IsVertexArray LightModelxOES => LightModelx LightModelxvOES => LightModelxv LightxOES => Lightx LightxvOES => Lightxv LineWidthxOES => LineWidthx LinkProgramARB => LinkProgram LoadMatrixxOES => LoadMatrixx LoadTransposeMatrixdARB => LoadTransposeMatrixd LoadTransposeMatrixfARB => LoadTransposeMatrixf MapBufferARB => MapBuffer MaterialxOES => Materialx MaterialxvOES => Materialxv MultMatrixxOES => MultMatrixx MultTransposeMatrixdARB => MultTransposeMatrixd MultTransposeMatrixfARB => MultTransposeMatrixf MultiDrawArraysEXT => MultiDrawArrays MultiTexCoord1dARB => MultiTexCoord1d MultiTexCoord1dvARB => MultiTexCoord1dv MultiTexCoord1iARB => MultiTexCoord1i MultiTexCoord1ivARB => MultiTexCoord1iv MultiTexCoord1sARB => MultiTexCoord1s MultiTexCoord1svARB => MultiTexCoord1sv MultiTexCoord2dARB => MultiTexCoord2d MultiTexCoord2dvARB => MultiTexCoord2dv MultiTexCoord2iARB => MultiTexCoord2i MultiTexCoord2ivARB => MultiTexCoord2iv MultiTexCoord2sARB => MultiTexCoord2s MultiTexCoord2svARB => MultiTexCoord2sv MultiTexCoord3dARB => MultiTexCoord3d MultiTexCoord3dvARB => MultiTexCoord3dv MultiTexCoord3iARB => MultiTexCoord3i MultiTexCoord3ivARB => MultiTexCoord3iv MultiTexCoord3sARB => MultiTexCoord3s MultiTexCoord3svARB => MultiTexCoord3sv MultiTexCoord4dARB => MultiTexCoord4d MultiTexCoord4dvARB => MultiTexCoord4dv MultiTexCoord4iARB => MultiTexCoord4i MultiTexCoord4ivARB => MultiTexCoord4iv MultiTexCoord4sARB => MultiTexCoord4s MultiTexCoord4svARB => MultiTexCoord4sv MultiTexCoord4xOES => MultiTexCoord4x Normal3xOES => Normal3x OrthofOES => Orthof OrthoxOES => Orthox PointParameterfEXT => PointParameterf PointParameterfvEXT => PointParameterfv PointParameteriNV => PointParameteri PointParameterivNV => PointParameteriv PointParameterxOES => PointParameterx PointParameterxvOES => PointParameterxv PointSizexOES => PointSizex PolygonOffsetxOES => PolygonOffsetx PrimitiveRestartIndexNV => PrimitiveRestartIndex ProvokingVertexEXT => ProvokingVertex RenderbufferStorageEXT => RenderbufferStorage RotatexOES => Rotatex SampleCoverageARB => SampleCoverage SampleCoveragexOES => SampleCoveragex ScalexOES => Scalex SecondaryColor3bEXT => SecondaryColor3b SecondaryColor3bvEXT => SecondaryColor3bv SecondaryColor3dEXT => SecondaryColor3d SecondaryColor3dvEXT => SecondaryColor3dv SecondaryColor3iEXT => SecondaryColor3i SecondaryColor3ivEXT => SecondaryColor3iv SecondaryColor3sEXT => SecondaryColor3s SecondaryColor3svEXT => SecondaryColor3sv SecondaryColor3ubEXT => SecondaryColor3ub SecondaryColor3ubvEXT => SecondaryColor3ubv SecondaryColor3uiEXT => SecondaryColor3ui SecondaryColor3uivEXT => SecondaryColor3uiv SecondaryColor3usEXT => SecondaryColor3us SecondaryColor3usvEXT => SecondaryColor3usv SecondaryColorPointerEXT => SecondaryColorPointer ShaderSourceARB => ShaderSource TexBufferARB => TexBuffer TexEnvxOES => TexEnvx TexEnvxvOES => TexEnvxv TexParameterIivEXT => TexParameterIiv TexParameterIuivEXT => TexParameterIuiv TexParameterxOES => TexParameterx TexParameterxvOES => TexParameterxv TransformFeedbackVaryingsEXT => TransformFeedbackVaryings TranslatexOES => Translatex Uniform1fARB => Uniform1f Uniform1fvARB => Uniform1fv Uniform1iARB => Uniform1i Uniform1ivARB => Uniform1iv Uniform1uiEXT => Uniform1ui Uniform1uivEXT => Uniform1uiv Uniform2fARB => Uniform2f Uniform2fvARB => Uniform2fv Uniform2iARB => Uniform2i Uniform2ivARB => Uniform2iv Uniform2uiEXT => Uniform2ui Uniform2uivEXT => Uniform2uiv Uniform3fARB => Uniform3f Uniform3fvARB => Uniform3fv Uniform3iARB => Uniform3i Uniform3ivARB => Uniform3iv Uniform3uiEXT => Uniform3ui Uniform3uivEXT => Uniform3uiv Uniform4fARB => Uniform4f Uniform4fvARB => Uniform4fv Uniform4iARB => Uniform4i Uniform4ivARB => Uniform4iv Uniform4uiEXT => Uniform4ui Uniform4uivEXT => Uniform4uiv UniformMatrix2fvARB => UniformMatrix2fv UniformMatrix3fvARB => UniformMatrix3fv UniformMatrix4fvARB => UniformMatrix4fv UnmapBufferARB => UnmapBuffer UseProgramObjectARB => UseProgram ValidateProgramARB => ValidateProgram VertexAttrib1dARB => VertexAttrib1d VertexAttrib1dvARB => VertexAttrib1dv VertexAttrib1sARB => VertexAttrib1s VertexAttrib1svARB => VertexAttrib1sv VertexAttrib2dARB => VertexAttrib2d VertexAttrib2dvARB => VertexAttrib2dv VertexAttrib2sARB => VertexAttrib2s VertexAttrib2svARB => VertexAttrib2sv VertexAttrib3dARB => VertexAttrib3d VertexAttrib3dvARB => VertexAttrib3dv VertexAttrib3sARB => VertexAttrib3s VertexAttrib3svARB => VertexAttrib3sv VertexAttrib4NbvARB => VertexAttrib4Nbv VertexAttrib4NivARB => VertexAttrib4Niv VertexAttrib4NsvARB => VertexAttrib4Nsv VertexAttrib4NubARB => VertexAttrib4Nub VertexAttrib4NubvARB => VertexAttrib4Nubv VertexAttrib4NuivARB => VertexAttrib4Nuiv VertexAttrib4NusvARB => VertexAttrib4Nusv VertexAttrib4bvARB => VertexAttrib4bv VertexAttrib4dARB => VertexAttrib4d VertexAttrib4dvARB => VertexAttrib4dv VertexAttrib4ivARB => VertexAttrib4iv VertexAttrib4sARB => VertexAttrib4s VertexAttrib4svARB => VertexAttrib4sv VertexAttrib4ubvARB => VertexAttrib4ubv VertexAttrib4uivARB => VertexAttrib4uiv VertexAttrib4usvARB => VertexAttrib4usv VertexAttribDivisorARB => VertexAttribDivisor VertexAttribI1ivEXT => VertexAttribI1iv VertexAttribI1uivEXT => VertexAttribI1uiv VertexAttribI4bvEXT => VertexAttribI4bv VertexAttribI4svEXT => VertexAttribI4sv VertexAttribI4ubvEXT => VertexAttribI4ubv VertexAttribI4usvEXT => VertexAttribI4usv VertexAttribIPointerEXT => VertexAttribIPointer VertexAttribPointerARB => VertexAttribPointer WindowPos2dMESA => WindowPos2d WindowPos2dvMESA => WindowPos2dv WindowPos2fMESA => WindowPos2f WindowPos2fvMESA => WindowPos2fv WindowPos2iMESA => WindowPos2i WindowPos2ivMESA => WindowPos2iv WindowPos2sMESA => WindowPos2s WindowPos2svMESA => WindowPos2sv WindowPos3dMESA => WindowPos3d WindowPos3dvMESA => WindowPos3dv WindowPos3fMESA => WindowPos3f WindowPos3fvMESA => WindowPos3fv WindowPos3iMESA => WindowPos3i WindowPos3ivMESA => WindowPos3iv WindowPos3sMESA => WindowPos3s WindowPos3svMESA => WindowPos3sv Acked-by: Brian Paul <[email protected]>
* glapi: add ARB_texture_cube_map_array.Dave Airlie2012-11-092-1/+19
| | | | | | | | This adds the ARB_texture_cube_map_array enums. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* dispatch: Code generate api_exec.c.Paul Berry2012-11-061-0/+4
| | | | | | | | | This patch adjusts makefiles to cause src/mesa/main/api_exec.c to be generated using src/mapi/glapi/gen/gl_genexec.py. There should be no functional change. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi/gen: Add code generation script for _mesa_create_exec_table().Paul Berry2012-11-061-0/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This script generates the file api_exec.c, which contains just the function _mesa_create_exec_table(), based on the XML files in src/mapi/glapi/gen. The following XML attributes, in particular, are used: - "es1" indicates functions that should be available in ES1 contexts. - "es2" indicates functions that should be available in ES2/ES3 contexts. - "exec" indicates which Mesa function should be dispatched to. E.g. if the GL function is glFoo(), then: - exec="mesa" (the default) dispatches to _mesa_Foo(). - exec="check" dispatches to _check_Foo(). - exec="es" dispatches to _es_Foo(). - exec="loopback" dispatches to loopback_Foo(). - exec="skip" or exec="dynamic" causes this function to be skipped; either it is not yet supported ("skip"), or its dispatch table entry will be dynamically populated based on GL state ("dynamic"). - "desktop" indicates functions that should be available in desktop GL (non-ES) contexts. - "deprecated" indicates functions that should not be available in core contexts. - "mesa_name" indicates functions whose implementation in Mesa has a different suffix than the corresponding GL function name. The generated code looks roughly like this (showing just a single statement in each block for brevity): struct _glapi_table * _mesa_create_exec_table(struct gl_context *ctx) { struct _glapi_table *exec; exec = _mesa_alloc_dispatch_table(_gloffset_COUNT); if (exec == NULL) return NULL; if (_mesa_is_desktop_gl(ctx)) { SET_ActiveProgramEXT(exec, _mesa_ActiveProgramEXT); /* other functions not shown */ } if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { SET_BeginQueryARB(exec, _mesa_BeginQueryARB); /* other functions not shown */ } if (_mesa_is_desktop_gl(ctx) || ctx->API == API_OPENGLES) { SET_GetPointerv(exec, _mesa_GetPointerv); /* other functions not shown */ } if (_mesa_is_desktop_gl(ctx) || ctx->API == API_OPENGLES || ctx->API == API_OPENGLES2) { SET_ActiveTextureARB(exec, _mesa_ActiveTextureARB); /* other functions not shown */ } if (_mesa_is_desktop_gl(ctx) || ctx->API == API_OPENGLES2) { SET_AttachShader(exec, _mesa_AttachShader); /* other functions not shown */ } if (ctx->API == API_OPENGL) { SET_Accum(exec, _mesa_Accum); /* other functions not shown */ } if (ctx->API == API_OPENGL || ctx->API == API_OPENGLES) { SET_AlphaFunc(exec, _mesa_AlphaFunc); /* other functions not shown */ } if (ctx->API == API_OPENGLES) { SET_AlphaFuncxOES(exec, _es_AlphaFuncx); /* other functions not shown */ } return exec; } Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi/gen: handle new XML attributes.Paul Berry2012-11-061-2/+63
| | | | | | | | | This patch updates gl_XML.py to parse the new XML attributes "exec", "desktop", "deprecated", and "mesa_name", which will be needed to code generate _mesa_create_exec_table(). Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi/gen: Gather API version info across aliased functions.Paul Berry2012-11-061-1/+13
| | | | | | | | | | | | | | | | gl_XML.py's gl_function class keeps track of an entry_point_api_map property that tracks, for each set of aliased functions, which ES1 or ES2 version the given function name first appeared in. This patch aggregates that information together across aliased functions, into an easier-to-use api_map property. Future patches will use this information when code generating _mesa_create_exec_table(), to determine which set of dispatch table entries should be populated based on the API. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi/gen: Comment fix.Paul Berry2012-11-061-1/+1
| | | | | Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Annotate XML with function name suffix anomalies.Paul Berry2012-11-0614-147/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the XML lists one or more GL api functions as aliases for another GL function, the mesa function that implements the functionality is usually named after the canonical version of the function (the one that is the target of the aliases). For example, FogCoordd is listed as an alias of FogCoorddEXT, and the Mesa function implementing the functionality is called loopback_FogCoorddEXT. However, there are exceptions. For example, Enablei is listed as an alias of EnableIndexedEXT, but the Mesa function implementing the functionality is called _mesa_EnableIndexed. To account for these anomalies, this patch annotates the XML with "mesa_name" attributes, which describe how to adjust the function name to find the corresponding Mesa function. For example: <function name="EnableIndexedEXT" mesa_name="-EXT">...</function> <function name="IsProgramNV" mesa_name="-NV+ARB">...</function> means that EnableIndexedEXT is implemented by a Mesa function called _mesa_EnableIndexed, and IsProgramNV is implemented by a Mesa function called _mesa_IsProgramARB. Future patches will use this annotation when code generating _mesa_create_exec_table(), to determine the name of the Mesa function that should be stored in each dispatch table entry. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Annotate XML with desktop="false" for GLES-only functions.Paul Berry2012-11-065-57/+60
| | | | | | | | | Future patches will use this annotation when code generating _mesa_create_exec_table(), to determine which functions should be skipped when the API is desktop GL. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Annotate XML with exec="{es,check}" for special GLES1 functions.Paul Berry2012-11-063-48/+49
| | | | | | | | | | | | | Future patches will use this annotation when code generating _mesa_create_exec_table(), to determine which functions should be dispatched to ES-specific implementations. exec="es" indicates that the ES-specific implementation has a name beginning with "_es_" (e.g. _es_QueryMatrixxOES), and exec="check" indicates that the ES-specific implementation has a name beginning with "_check_" (e.g. _check_GetTexGenxvOES). Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Annotate XML with exec="loopback" for loopback functions.Paul Berry2012-11-062-208/+271
| | | | | | | | | Future patches will use this annotation when code generating _mesa_create_exec_table(), to determine which functions should be dispatched to functions in api_loopback.c. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Annotate XML with exec="dynamic" for dynamic functions.Paul Berry2012-11-068-132/+208
| | | | | | | | | | Future patches will use this annotation when code generating _mesa_create_exec_table(), to determine which functions should be skipped because Mesa dispatches them differently depending on GL state. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Annotate XML with exec="skip" for unimplemented functions.Paul Berry2012-11-066-273/+310
| | | | | | | | | Future patches will use this annotation when code generating _mesa_create_exec_table(), to determine which functions should be skipped because they aren't implemented by Mesa. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Annotate XML with deprecated="3.1" for deprecated functions.Paul Berry2012-11-067-548/+710
| | | | | | | | | Future patches will use this annotation when code generating _mesa_create_exec_table(), to determine which functions should be skipped in core contexts. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glapi: Mark GLX extensions as window_system="glX".Paul Berry2012-11-061-3/+3
| | | | | | | | We were already doing this for some GLX extensions, but not others. This patch makes our use of window_system="glX" consistent. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>