[Mesa-dev] [PATCH v2 00/24] ARB_program_interface_query

Tapani tapani.palli at intel.com
Thu Apr 16 02:37:56 PDT 2015


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
>>
>



More information about the mesa-dev mailing list