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

Reply via email to