summaryrefslogtreecommitdiffstats
path: root/src/mesa/x86
diff options
context:
space:
mode:
authorIan Romanick <idr@us.ibm.com>2006-08-22 16:34:38 +0000
committerIan Romanick <idr@us.ibm.com>2006-08-22 16:34:38 +0000
commit4e4b5f40081cb3e4cefe4dce30712d8d330c0774 (patch)
tree65b722305bb81a0c014903d20cf7d3715fbde83f /src/mesa/x86
parent6423ec914530a84ee16977d95b64116e63eca22c (diff)
downloadexternal_mesa3d-4e4b5f40081cb3e4cefe4dce30712d8d330c0774.zip
external_mesa3d-4e4b5f40081cb3e4cefe4dce30712d8d330c0774.tar.gz
external_mesa3d-4e4b5f40081cb3e4cefe4dce30712d8d330c0774.tar.bz2
Add new attribute called static_dispatch to the <function> element. This
boolean attribute, which defaults to true, determines whether or not a static dispatch function is available in libGL for applications to link against. Ideally, any new functions that are not part of the ABI should not have directly accessable dispatch functions. This forces applications to use glXGetProcAddress to access these functions. By doing this we can gracefully remove functions from libGL without breaking the linkage of applications. Note that the static dispatch functions are still generated. However, they are given names like gl_dispatch_stub_820 and are marked with the "hidden" linker attribute. All extension functions added since the previous Mesa release (6.5) have been marked as 'static_dispatch="false"'.
Diffstat (limited to 'src/mesa/x86')
-rw-r--r--src/mesa/x86/glapi_x86.S18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/mesa/x86/glapi_x86.S b/src/mesa/x86/glapi_x86.S
index 85d691a..746993d 100644
--- a/src/mesa/x86/glapi_x86.S
+++ b/src/mesa/x86/glapi_x86.S
@@ -960,12 +960,18 @@ GLNAME(gl_dispatch_functions_start):
GL_STUB(GetQueryObjecti64vEXT, _gloffset_GetQueryObjecti64vEXT, GetQueryObjecti64vEXT@12)
GL_STUB(GetQueryObjectui64vEXT, _gloffset_GetQueryObjectui64vEXT, GetQueryObjectui64vEXT@12)
GL_STUB(BlitFramebufferEXT, _gloffset_BlitFramebufferEXT, BlitFramebufferEXT@40)
- GL_STUB(BindVertexArrayAPPLE, _gloffset_BindVertexArrayAPPLE, BindVertexArrayAPPLE@4)
- GL_STUB(DeleteVertexArraysAPPLE, _gloffset_DeleteVertexArraysAPPLE, DeleteVertexArraysAPPLE@8)
- GL_STUB(GenVertexArraysAPPLE, _gloffset_GenVertexArraysAPPLE, GenVertexArraysAPPLE@8)
- GL_STUB(IsVertexArrayAPPLE, _gloffset_IsVertexArrayAPPLE, IsVertexArrayAPPLE@4)
- GL_STUB(ProgramEnvParameters4fvEXT, _gloffset_ProgramEnvParameters4fvEXT, ProgramEnvParameters4fvEXT@16)
- GL_STUB(ProgramLocalParameters4fvEXT, _gloffset_ProgramLocalParameters4fvEXT, ProgramLocalParameters4fvEXT@16)
+ GL_STUB(_dispatch_stub_819, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_819@4)
+ HIDDEN(GL_PREFIX(_dispatch_stub_819, _dispatch_stub_819@4))
+ GL_STUB(_dispatch_stub_820, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_820@8)
+ HIDDEN(GL_PREFIX(_dispatch_stub_820, _dispatch_stub_820@8))
+ GL_STUB(_dispatch_stub_821, _gloffset_GenVertexArraysAPPLE, _dispatch_stub_821@8)
+ HIDDEN(GL_PREFIX(_dispatch_stub_821, _dispatch_stub_821@8))
+ GL_STUB(_dispatch_stub_822, _gloffset_IsVertexArrayAPPLE, _dispatch_stub_822@4)
+ HIDDEN(GL_PREFIX(_dispatch_stub_822, _dispatch_stub_822@4))
+ GL_STUB(_dispatch_stub_823, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_823@16)
+ HIDDEN(GL_PREFIX(_dispatch_stub_823, _dispatch_stub_823@16))
+ GL_STUB(_dispatch_stub_824, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_824@16)
+ HIDDEN(GL_PREFIX(_dispatch_stub_824, _dispatch_stub_824@16))
GL_STUB_ALIAS(ArrayElementEXT, _gloffset_ArrayElement, ArrayElementEXT@4, ArrayElement, ArrayElement@4)
GL_STUB_ALIAS(BindTextureEXT, _gloffset_BindTexture, BindTextureEXT@8, BindTexture, BindTexture@8)
GL_STUB_ALIAS(DrawArraysEXT, _gloffset_DrawArrays, DrawArraysEXT@12, DrawArrays, DrawArrays@12)