[Mesa-dev] [Bug 90397] ARB_program_interface_query: glGetProgramResourceiv() returns wrong value for GL_REFERENCED_BY_*_SHADER prop for GL_UNIFORM for members of an interface block with an instance name

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon May 18 02:21:41 PDT 2015


--- Comment #5 from Tapani Pälli <lemody at gmail.com> ---
(In reply to Samuel Iglesias from comment #4)
> I understand that this is referring to uniform/buffer variables but not
> uniform/shader-storage blocks, but I might be wrong.
> I would like to have your opinion regarding if it is valid or not spec-wise.
> What do you think?
> P.S: Attached to this, it's the patch that fixes this case.

I'm somewhat surprised if this rule is not be common for all resources. The
text in OpenGL Core 4.5 says (right below function declaration):

"If name exactly matches the name string of one of the active resources for
programInterface, the index of the matched resource is returned. Additionally,
name would exactly match the name string of an active resource if "[0]" were
appended to name, the index of the matched resource is returned. Otherwise,
is considered not to be the name of an active resource, and INVALID_INDEX is

Note that if an interface enumerates a single active resource list entry for an
array variable (e.g., "a[0]"), a name identifying any array element other than
the first (e.g., "a[1]") is not considered to match."

Just to make sure I understand correctly, when querying the index for
fs_array_uniform_block[{1,2,3}] you are giving GL_UNIFORM as the interface?

You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150518/3be712c5/attachment.html>

More information about the mesa-dev mailing list