[Mesa-dev] [PATCH 00/23] ARB_program_interface_query
Tapani Pälli
tapani.palli at intel.com
Fri Mar 13 01:37:46 PDT 2015
Hello;
Here's the implementation of ARB_program_interface_query extension.
Patches add a resource list as part of gl_shader_program which contains
all different resources. List is then used to implement extension
functions as well as following existing queries:
GetActiveAttrib
GetAttribLocation
GetUniformLocation
GetActiveUniformName
GetUniformIndices
GetActiveUniform
GetActiveUniformsiv
GetUniformBlockIndex
GetActiveUniformBlockName
GetActiveUniformBlockiv
GetActiveAtomicCounterBufferiv
GetTransformFeedbackVarying
GetFragDataLocation
GetFragDataIndex
No Piglit regressions with these changes. There are only 2 new tests
ATM for the extension but most (if not all) functionality is tested by
tests for the functions above. Martin Peres and I will also implement
further tests for the actual extension functions.
Extension specification:
https://www.opengl.org/registry/specs/ARB/program_interface_query.txt
Git branch with all the patches:
http://cgit.freedesktop.org/~tpalli/mesa/log/?h=piq
Tapani Pälli (23):
glapi: add GL_ARB_program_interface_query skeleton
mesa/glsl: build list of program resources during linking
mesa: glGetProgramInterfaceiv
mesa: glGetProgramResourceIndex
mesa: glGetProgramResourceName
mesa: glGetProgramResourceLocation
mesa: glGetProgramResourceLocationIndex
mesa: implementation of glGetProgramResourceiv
mesa: enable GL_ARB_program_interface_query extension
mesa: refactor GetActiveAttrib
mesa: refactor GetAttribLocation
mesa: refactor GetFragDataLocation
mesa: refactor GetFragDataIndex
mesa: mesa_bufferiv utility function for buffer objects
mesa: refactor GetActiveUniformsiv, use _mesa_program_resource_prop
mesa: refactor GetTransformFeedbackVarying
mesa: refactor GetActiveUniform
mesa: refactor GetActiveUniformName
mesa: remove unused _mesa_get_uniform_name
mesa: refactor GetActiveUniformBlockName
mesa: refactor GetUniformLocation
mesa: refactor GetUniformIndices
mesa: refactor GetUniformBlockIndex
docs/GL3.txt | 4 +-
src/glsl/linker.cpp | 175 +++++
src/mapi/glapi/gen/ARB_program_interface_query.xml | 109 ++++
src/mapi/glapi/gen/gl_API.xml | 2 +
src/mapi/glapi/gen/gl_genexec.py | 1 +
src/mesa/Makefile.sources | 2 +
src/mesa/main/extensions.c | 1 +
src/mesa/main/mtypes.h | 15 +
src/mesa/main/program_resource.c | 383 +++++++++++
src/mesa/main/program_resource.h | 58 ++
src/mesa/main/shader_query.cpp | 721 ++++++++++++++++++---
src/mesa/main/shaderapi.h | 45 ++
src/mesa/main/shaderobj.c | 6 +
src/mesa/main/tests/dispatch_sanity.cpp | 12 +-
src/mesa/main/transformfeedback.c | 19 +-
src/mesa/main/uniform_query.cpp | 136 ++--
src/mesa/main/uniforms.c | 294 +++------
src/mesa/main/uniforms.h | 5 -
18 files changed, 1585 insertions(+), 403 deletions(-)
create mode 100644 src/mapi/glapi/gen/ARB_program_interface_query.xml
create mode 100644 src/mesa/main/program_resource.c
create mode 100644 src/mesa/main/program_resource.h
--
2.1.0
More information about the mesa-dev
mailing list