[Mesa-dev] [PATCH 00/18] Implement GL_ARB_multi_bind
Fredrik Höglund
fredrik at kde.org
Tue Jan 21 15:35:38 PST 2014
So here is my take on GL_ARB_multi_bind.
I tried to come up with names for the new hash table functions that
don't suggest that they should be used to do unlocked insertions/lookups.
I'm not entirely happy with the ones I came up with though, so I'm
hoping someone will have better suggestions.
When binding 32 textures glBindTextures() seems to be about three times
faster than calling glActiveTexture() + glBindTexture() in a loop.
When binding 4 textures it's about twice as fast.
I hope to land this series this week if there are no major issues.
Note that I haven't been able to test the glBindImageTextures()
implementation.
This series is also available at:
git://people.freedesktop.org/~fredrik/mesa arb-multi-bind
Fredrik Höglund (18):
mesa: Store the target index in gl_texture_object
mesa: Add a _BoundTextures field in gl_texture_unit
mesa: Optimize unbind_texobj_from_texunits()
mesa: Add functions for doing unlocked hash table lookups
glapi: Add infrastructure for ARB_multi_bind
mesa: Implement glBindSamplers()
mesa: Add helper functions for looking up multiple textures
mesa: Implement glBindTextures()
mesa: Refactor set_atomic_buffer_binding()
mesa: Add helper functions for looking up multiple buffers
mesa: Refactor set_ubo_binding()
mesa: Add _mesa_set_transform_feedback_binding()
mesa: Implement glBindBuffersBase()
mesa: Implement glBindBuffersRange()
mesa: Implement glBindVertexBuffers()
mesa: Implement glBindImageTextures()
mesa: Enable ARB_multi_bind
docs: Mark ARB_multi_bind as done
docs/GL3.txt | 2 +-
docs/relnotes/10.1.html | 1 +
src/mapi/glapi/gen/ARB_multi_bind.xml | 53 ++
src/mapi/glapi/gen/Makefile.am | 1 +
src/mapi/glapi/gen/gl_API.xml | 4 +
src/mesa/main/bufferobj.c | 914 +++++++++++++++++++++++++-
src/mesa/main/bufferobj.h | 21 +
src/mesa/main/extensions.c | 1 +
src/mesa/main/hash.c | 90 ++-
src/mesa/main/hash.h | 9 +
src/mesa/main/mtypes.h | 4 +
src/mesa/main/samplerobj.c | 121 ++++
src/mesa/main/samplerobj.h | 2 +
src/mesa/main/shaderimage.c | 169 +++++
src/mesa/main/shaderimage.h | 3 +
src/mesa/main/tests/dispatch_sanity.cpp | 8 +
src/mesa/main/texobj.c | 174 ++++-
src/mesa/main/texobj.h | 13 +
src/mesa/main/texstate.c | 3 +
src/mesa/main/transformfeedback.c | 10 +-
src/mesa/main/transformfeedback.h | 14 +
src/mesa/main/varray.c | 121 ++++
src/mesa/main/varray.h | 4 +
23 files changed, 1680 insertions(+), 62 deletions(-)
More information about the mesa-dev
mailing list