[Mesa-dev] [PATCH v2 00/24] ARB_program_interface_query
Jose Fonseca
jfonseca at vmware.com
Thu Apr 16 02:32:42 PDT 2015
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
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
>
More information about the mesa-dev
mailing list