[Mesa-dev] [PATCH v2 00/24] ARB_program_interface_query
Tapani Pälli
tapani.palli at intel.com
Wed Apr 1 05:14:16 PDT 2015
Hello;
Here's the v2 implementation of ARB_program_interface_query extension.
I have addressed errors found by Ilia Mirkin in his review and there
are several small fixes here and there for bugs revealed with Martin's
Piglit tests.
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 Piglit tests for the
extension in the Piglit mailing list, all of these pass:
http://lists.freedesktop.org/archives/piglit/2015-April/015457.html
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
Thanks;
Tapani Pälli (24):
linker: fix varying linking if SSO program has only gs and fs
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 +-
docs/relnotes/10.6.0.html | 1 +
src/glsl/linker.cpp | 211 +++++-
src/mapi/glapi/gen/ARB_program_interface_query.xml | 109 +++
src/mapi/glapi/gen/gl_API.xml | 4 +-
src/mapi/glapi/gen/gl_genexec.py | 1 +
src/mesa/Makefile.sources | 2 +
src/mesa/main/extensions.c | 1 +
src/mesa/main/mtypes.h | 14 +
src/mesa/main/program_resource.c | 417 +++++++++++
src/mesa/main/program_resource.h | 58 ++
src/mesa/main/shader_query.cpp | 764 ++++++++++++++++++---
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 | 138 ++--
src/mesa/main/uniforms.c | 294 +++-----
src/mesa/main/uniforms.h | 5 -
19 files changed, 1687 insertions(+), 418 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