summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/buffers.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Rename _mesa_lookup_enum_by_nr() to _mesa_enum_to_string().Kenneth Graunke2015-07-201-11/+11
| | | | | | | Generated by sed; no manual changes. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com>
* Revert "mesa: Add ARB_direct_state_access checks in FBO functions"Ian Romanick2015-05-281-21/+0
| | | | | | | This reverts commit 6ad0b7e07a0445e9e0f368e079c4f7b8a6757bb3. Acked-by: Fredrik Höglund <fredrik@kde.org> Cc: "10.6" <mesa-stable@lists.freedesktop.org>
* mesa: Add ARB_direct_state_access checks in FBO functionsFredrik Höglund2015-05-141-0/+21
| | | | | Signed-off-by: Fredrik Höglund <fredrik@kde.org> Reviewed-by: Adam Jackson <ajax@redhat.com>
* main: Add entry point for NamedFramebufferDrawBuffers.Laura Ekstrand2015-05-141-0/+20
| | | | | Reviewed-by: Fredrik Höglund <fredrik@kde.org> Signed-off-by: Fredrik Höglund <fredrik@kde.org>
* main: Refactor DrawBuffers.Laura Ekstrand2015-05-141-23/+48
| | | | | | | | | | | | | | This could have added a new DD table entry for DrawBuffers that takes an arbitrary draw buffer, but, after looking at the existing DD functions, Kenneth Graunke recommended that we just skip calling the DD functions in the case of ARB_direct_state_access. The DD implementations for DrawBuffer(s) have limited functionality, especially with respect to ARB_direct_state_access. [Fredrik: Call the driver function when fb is the bound draw buffer] Reviewed-by: Fredrik Höglund <fredrik@kde.org> Signed-off-by: Fredrik Höglund <fredrik@kde.org>
* main: Add entry point for NamedFramebufferReadBuffer.Laura Ekstrand2015-05-141-0/+19
| | | | | | | [Fredrik: Fix the name of the buf parameter in the XML file] Reviewed-by: Fredrik Höglund <fredrik@kde.org> Signed-off-by: Fredrik Höglund <fredrik@kde.org>
* main: Refactor _mesa_ReadBuffer.Laura Ekstrand2015-05-141-22/+25
| | | | | | | | | | | | | | This could have added a new DD table entry for ReadBuffer that takes an arbitrary read buffer, but, after looking at the existing DD functions, Kenneth Graunke recommended that we just skip calling the DD functions in the case of ARB_direct_state_access. The DD implementations for ReadBuffer have limited functionality, especially with respect to ARB_direct_state_access. [Fredrik: Call the driver function when fb is the bound read buffer] Reviewed-by: Fredrik Höglund <fredrik@kde.org> Signed-off-by: Fredrik Höglund <fredrik@kde.org>
* main: Add entry point for NamedFramebufferDrawBuffer.Laura Ekstrand2015-05-141-0/+19
| | | | | | | [Fredrik: Fix the name of the buf parameter in the XML file] Reviewed-by: Fredrik Höglund <fredrik@kde.org> Signed-off-by: Fredrik Höglund <fredrik@kde.org>
* main: Refactor _mesa_DrawBuffer.Laura Ekstrand2015-05-141-17/+25
| | | | | | | | | | | | | | This could have added a new DD table entry for DrawBuffer that takes an arbitrary draw buffer, but, after looking at the existing DD functions, Kenneth Graunke recommended that we just skip calling the DD functions in the case of ARB_direct_state_access. The DD implementations for DrawBuffer(s) have limited functionality, especially with respect to ARB_direct_state_access. [Fredrik: Call the driver function when fb is the bound draw buffer] Reviewed-by: Fredrik Höglund <fredrik@kde.org> Signed-off-by: Fredrik Höglund <fredrik@kde.org>
* main: Refactor _mesa_drawbuffers.Laura Ekstrand2015-05-141-14/+12
| | | | | | | [Fredrik: Whitespace fix] Reviewed-by: Fredrik Höglund <fredrik@kde.org> Signed-off-by: Fredrik Höglund <fredrik@kde.org>
* mesa: Use assert() instead of ASSERT wrapper.Matt Turner2015-02-231-2/+2
| | | | Acked-by: Eric Anholt <eric@anholt.net>
* mesa: Check that draw buffers are valid for glDrawBuffers on GLES3Eduardo Lima Mitev2015-02-201-0/+14
| | | | | | | | | | | | | Section 4.2 (Whole Framebuffer Operations) of the OpenGL 3.0 specification says: "Each buffer listed in bufs must be BACK, NONE, or one of the values from table 4.3 (NONE, COLOR_ATTACHMENTi)". Fixes 1 dEQP test: * dEQP-GLES3.functional.negative_api.buffer.draw_buffers Reviewed-by: Matt Turner <mattst88@gmail.com>
* mesa: Fix some signed-unsigned comparison warningsJan Vesely2015-01-211-1/+1
| | | | | | | | v2: s/unsigned int/unsigned/ in prog_optimize.c Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: David Heidelberg <david@ixit.cz> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* mesa/glsl/glapi: enable GL_EXT_draw_buffers extensionTapani Pälli2015-01-141-2/+4
| | | | | | | | | | | | | | | | Patch enables ES2 extension that utilizes existing ES3 functionality. Changes make all the subtests to run and pass in WebGL conformance test 'webgl-draw-buffers' when running Chrome on OpenGL ES, also Piglit test 'draw_buffers_gles2' passes. v2: remove unused boolean (Ilia Mirkin) v3: proper error checking for invalid values (Chad Versace) v4: run error check explicitly for ES2 and ES3 (Kenneth Graunke) Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Chad Versace <chad.versace@intel.com>
* mesa: trim down some #includesBrian Paul2014-09-101-1/+0
|
* mesa: fix NULL pointer deref bug in _mesa_drawbuffers()Brian Paul2014-08-191-1/+1
| | | | | | | | | This is a follow-on fix to commit 39b40ad144. Fixes a crash if the user calls glDrawBuffers(0, NULL). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82814 Cc: "10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
* mesa: simplify _mesa_update_draw_buffers()Brian Paul2014-08-111-7/+2
| | | | | | | There's no need to copy the array of DrawBuffer enums to a temp array. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
* mesa: fix assertion in _mesa_drawbuffers()Brian Paul2014-08-111-2/+3
| | | | | | | | | | Fixes failed assertion when _mesa_update_draw_buffers() was called with GL_DRAW_BUFFER == GL_FRONT_AND_BACK. The piglit gl30basic hit this. Cc: "10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* Use the magic behaviour of GL_BACK in GLES 1 and 2 as well as 3Neil Roberts2014-03-121-1/+6
| | | | | | | | | | | | | | | | | | In GLES 3 it is not possible to select rendering to the front buffer and instead selecting GL_BACK has the magic interpretation that it is either the front buffer on single-buffered configs or the back buffer on double-buffered. GLES 1 and 2 have no way of selecting the draw buffer at all. In that case we were initialising the draw buffer to either GL_FRONT or GL_BACK depending on the context's config and then leaving it at that. When we switch to having configless contexts we ideally want Mesa to automatically switch between the front and back buffer whenever a double- or single-buffered surface is bound. To make this happen we can just allow the magic behaviour from GLES 3 in GLES 1 and 2 as well. It shouldn't matter what the internal value of the draw buffer is in GLES 1 and 2 because there is no way to query it from the external API. Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
* mesa: Generate correct error code in glDrawBuffers()Anuj Phogat2014-01-281-3/+5
| | | | | | | | | | | | | | | | | | | | | | | OpenGL 3.3 spec expects GL_INVALID_OPERATION: "For both the default framebuffer and framebuffer objects, the constants FRONT, BACK, LEFT, RIGHT, and FRONT AND BACK are not valid in the bufs array passed to DrawBuffers, and will result in the error INVALID OPERATION." But OpenGL 4.0 spec changed the error code to GL_INVALID_ENUM: "For both the default framebuffer and framebuffer objects, the constants FRONT, BACK, LEFT, RIGHT, and FRONT_AND_BACK are not valid in the bufs array passed to DrawBuffers, and will result in the error INVALID_ENUM." This patch changes the behaviour to match OpenGL 4.0 spec Fixes Khronos OpenGL CTS draw_buffers_api.test. V2: Update the comment in code. Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: GL_EXT_framebuffer_object is not optionalIan Romanick2013-06-281-1/+0
| | | | | | | | | Every driver left in Mesa enables this extension all the time. There's no reason to let it be optional. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com>
* mesa: remove outdated version lines in commentsRico Schüller2013-06-051-1/+0
| | | | Signed-off-by: Brian Paul <brianp@vmware.com>
* mesa: updated read_buffer_enum_to_index() commentBrian Paul2013-04-261-2/+2
| | | | Remove the part about the value of gl_framebuffer::Name.
* mesa: Restore 78-column wrapping of license text in C-style comments.Kenneth Graunke2013-04-231-3/+4
| | | | | | | | | | | | | | The previous commit introduced extra words, breaking the formatting. This text transformation was done automatically via the following shell command: $ git grep 'THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY' | sed 's/:.*$//' | xargs -I {} sh -c 'vim -e -s {} < vimscript where 'vimscript' is a file containing: /THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY/;/\*\// !fmt -w 78 -p ' * ' :wq Reviewed-by: Brian Paul <brianp@vmware.com>
* mesa: Add "OR COPYRIGHT HOLDERS" to license text disclaiming liability.Kenneth Graunke2013-04-231-1/+1
| | | | | | | | | | | | | | | This brings the license text in line with the MIT License as published on the Open Source Initiative website: http://opensource.org/licenses/mit-license.php Generated automatically be the following shell command: $ git grep 'THE AUTHORS BE LIABLE' | sed 's/:.*$//g' | xargs -I '{}' \ sed -i 's/THE AUTHORS/THE AUTHORS OR COPYRIGHT HOLDERS/' {} This introduces some wrapping issues, to be fixed in the next commit. Reviewed-by: Brian Paul <brianp@vmware.com>
* mesa: Change "BRIAN PAUL" to "THE AUTHORS" in license text.Kenneth Graunke2013-04-231-1/+1
| | | | | | | | | | | | | | | | Generated automatically be the following shell command: $ git grep 'BRIAN PAUL BE LIABLE' | sed 's/:.*$//g' | xargs -I '{}' \ sed -i 's/BRIAN PAUL/THE AUTHORS/' {} The intention here is to protect all authors, not just Brian Paul. I believe that was already the sensible interpretation, but spelling it out is probably better. More practically, it also prevents people from accidentally copy & pasting the license into a new file which says Brian is not liable when he isn't even one of the authors. Reviewed-by: Brian Paul <brianp@vmware.com>
* mesa: remove redundant _NEW_BUFFERS setting in ReadBufferMarek Olšák2013-04-241-1/+0
| | | | | | | already set by _mesa_readbuffer Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* mesa: Drop manual checks for outside begin/end.Eric Anholt2013-01-211-3/+6
| | | | | | | | | | | We now have a separate dispatch table for begin/end that prevent these functions from being entered during that time. The ASSERT_OUTSIDE_BEGIN_END_WITH_RETVALs are left because I don't want to change any return values or introduce new error-only stubs at this point. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Make ES3 glDrawBuffers() only accept BACK/NONE for the winsys fbo.Kenneth Graunke2013-01-151-5/+17
| | | | | | | | | | | | Nothing was explicitly checking this. v2: Update GL3 spec reference. Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> [v2] Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> [v1]
* mesa: Handle GL_BACK correctly for ES 3.0 in glDrawBuffers().Kenneth Graunke2013-01-151-4/+19
| | | | | | | | | | | | | | | | | | | | | In ES 3.0, when calling glDrawBuffers() on the window system framebuffer, the only valid targets are GL_NONE or GL_BACK. Since there is no stereo rendering in ES 3.0, this is a single buffer, unlike desktop where it may be two (and thus isn't allowed). For single-buffered configs, GL_BACK ironically means the front (and only) buffer. I'm not sure that it matters, however, as ES shouldn't have front buffer rendering in the first place. Fixes es3conform framebuffer_blit_coverage_default_draw_buffer_binding. v2: Update GLES3 spec reference. Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> [v2] Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> [v1]
* mesa: Rework crazy error code rules in glDrawBuffers().Kenneth Graunke2013-01-151-3/+63
| | | | | | | | | | | | | | | | | | | | | | | Perhaps most importantly, this patch adds comments quoting the relevant spec paragraphs above each error condition. It also makes three changes: - For FBOs, GL_COLOR_ATTACHMENTm where m >= MaxDrawBuffers is supposed to generate INVALID_OPERATION (not INVALID_ENUM). - Constants that refer to multiple buffers (such as FRONT, BACK, LEFT, RIGHT, and FRONT_AND_BACK) are supposed to generate INVALID_OPERATION, not INVALID_ENUM. - In ES 3.0, for FBOs, buffers[i] must be NONE or GL_COLOR_ATTACHMENTi or else INVALID_OPERATION occurs. (This is a new restriction.) Fixes es3conform's draw-buffers-api test. v2: The error path was missing a "return" like all the other error paths. Also, we may as well call it glDrawBuffers in the error message since the ARB suffix doesn't exist in ES 3. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Allow glReadBuffer(GL_NONE) for winsys framebuffers.Paul Berry2012-12-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | Previously, Mesa code assumed that glReadBuffer(GL_NONE) was only valid for user-created framebuffer objects. However, the spec is quite clear that is should also be valid for the default framebuffer. From section 18.2.1 ("Obtaining Pixels from the Framebuffer") of the GL 4.3 spec: "When READ_FRAMEBUFFER_BINDING is zero, i.e. the default framebuffer, src must be one of the values listed in table 17.4, including NONE." Similar language exists in the GLES 3.0 spec, and in desktop GL all the way back to ARB_framebuffer_object. Partially fixes GLES3 conformance test "CoverageES30.test". NOTE: This is a candidate for stable branches. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* 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 <eric@anholt.net> Acked-by: Matt Turner <mattst88@gmail.com> Acked-by: Kenneth Graunke <kenneth@whitecape.org>
* mesa: Standardize names of OpenGL functions.Paul Berry2012-11-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <brianp@vmware.com>
* mesa: remove FEATURE_GL test from updated_drawbuffers()Brian Paul2012-10-161-2/+0
| | | | | | There's already a runtime test for full OpenGL. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* Temporarily revert "mesa: remove remaining FEATURE_* defines where protected ↵José Fonseca2012-09-151-0/+2
| | | | | | | | by API check." This reverts commit 9f37b405a3de8668a5f74c9681829688475ac3b7. Fixes windows builds.
* mesa: remove remaining FEATURE_* defines where protected by API check.Oliver McFadden2012-09-151-2/+0
| | | | | Signed-off-by: Oliver McFadden <oliver.mcfadden@linux.intel.com> Reviewed-by: Brian Paul <brianp@vmware.com>
* mesa: use _mesa_is_user_fbo() and _mesa_is_winsys_fbo() functionsBrian Paul2012-01-121-6/+7
| | | | | | Rather than testing the fbo's name against zero. Reviewed-by: José Fonseca <jfonseca@vmware.com>
* mesa: whitespace, 80-column wrapping in buffers.cBrian Paul2012-01-121-2/+6
|
* mesa: remove _mesa_ffs(), implement ffs() for non-GNU platformsBrian Paul2012-01-121-2/+2
| | | | | | | | | | | Call ffs() and ffsll() everywhere. Define our own ffs(), ffsll() functions when the platform doesn't have them. v2: remove #ifdef _WIN32, __IBMC__, __IBMCPP_ tests inside ffs() implementation. The #else clause was recursive. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Tested-by: Alexander von Gluck <kallisti5@unixzen.com>
* mesa: Also set the remaining draw buffers to GL_NONE when updating just the ↵Henri Verbeet2011-09-251-15/+14
| | | | | | | | | | | | | | | | | first buffer in _mesa_drawbuffers(). Without this we'd miss the last update in a sequence like {COLOR0, COLOR1}, {COLOR0}, {COLOR0, COLOR1}. I originally had a patch for this that called updated_drawbuffers() when the buffer count changed, but later realized that was wrong. The ARB_draw_buffers spec explicitly says "The draw buffer for output colors beyond <n> is set to NONE.", and this is queryable state. This fixes piglit arb_draw_buffers-state_change. NOTE: This is a candidate for the 7.11 branch. Signed-off-by: Henri Verbeet <hverbeet@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* mesa: refactor, create _mesa_update_draw_buffers() helperBrian Paul2011-06-161-0/+21
| | | | | Move this code out of _mesa_make_current() and put it into a helper function.
* mesa: Flush vertices before updating drawbuffer computed state.Eric Anholt2011-05-261-7/+7
| | | | | | | Otherwise, the driver is likely to draw the flushed vertices to the new drawbuffer instead of the old one, missing the point of the flush. Reviewed-by: Brian Paul <brianp@vmware.com>
* mesa: Trigger FBO validation on DrawBuffers change in non-ES2 mode.Eric Anholt2011-05-261-10/+26
| | | | | | | | | glDrawBuffers pointing at an unattached buffer is supposed to be incomplete without ARB_ES2_compatibility. The testcase to catch the bug of not implementing that bit of the spec was tricked by this missing piece of state update. Reviewed-by: Brian Paul <brianp@vmware.com>
* mesa: Also update the color draw buffer if it's explicitly set to GL_NONE.Henri Verbeet2011-04-101-1/+1
| | | | | | NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
* mesa: Include mtypes.h in files that use gl_context struct.Vinson Lee2011-01-051-0/+1
| | | | | | Directly include mtypes.h if a file uses a gl_context struct. This allows future removal of headers that are not strictly necessary but indirectly include mtypes.h for a file.
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-131-3/+3
|
* mesa: Remove unnecessary headers from buffers.c.Vinson Lee2010-01-181-2/+0
|
* mesa: remove old commentBrian Paul2009-11-171-1/+0
|
* mesa: remove a bit of old codeBrian Paul2009-11-171-1/+0
|