On 04/16/2015 12:32 PM, Jose Fonseca wrote:
I took the liberty to push a follow-up change to rename `interface` to
`program `programInterface`.
`interface` caused build failures on Windows, as it is a define -- an
alias for `struct` keyword, used when declaring COM interfaces in C or
C++.
I chose `programInterface` to match the the name name used in
GL_ARB_program_interface_query spec/headers (which was in fact chosen
like that for the very same reason).
This is my commit:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=037e0e78abf0c312f737d33f3c33e37b22bf226d
OK, I see. This rename change is fine with me,
Even `programInterface` was the chosen name in the extension, I admit
is a tad long. I just want to fix the build asap, but if you prefer
to rename to something smaller (e.g, `iface`) I'm happy to do it too.
Jose
On 01/04/15 13:14, Tapani Pälli wrote:
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:
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_archives_piglit_2015-2DApril_015457.html&d=AwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=3w0-sDFs-LVaBLQqNorjQ5rE4obDOogdaHYG8Iosa3M&s=xQYf3XSyViAxeZGMVr3QiQgsl228e0lTG7L_Kli3ctM&e=
Extension specification:
https://urldefense.proofpoint.com/v2/url?u=https-3A__www.opengl.org_registry_specs_ARB_program-5Finterface-5Fquery.txt&d=AwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=3w0-sDFs-LVaBLQqNorjQ5rE4obDOogdaHYG8Iosa3M&s=exUys8YSrdaLlgkKQs9pcqsRLY7AtjRRk7FyGW4kvno&e=
Git branch with all the patches:
https://urldefense.proofpoint.com/v2/url?u=http-3A__cgit.freedesktop.org_-7Etpalli_mesa_log_-3Fh-3Dpiq&d=AwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=3w0-sDFs-LVaBLQqNorjQ5rE4obDOogdaHYG8Iosa3M&s=GdA-NzXKst7bl3fFT5Lbj622qrZoNeQs4dLu41WJ7zw&e=
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
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev