https://bugs.freedesktop.org/show_bug.cgi?id=90397
--- Comment #8 from Samuel Iglesias <sigles...@igalia.com> --- (In reply to Tapani Pälli from comment #7) > (In reply to Samuel Iglesias from comment #6) > > (In reply to Tapani Pälli from comment #5) > > > (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, if > > > 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, > > > name > > > is considered not to be the name of an active resource, and INVALID_INDEX > > > is > > > returned. > > > > > > 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? > > > > Nope, the interface type is GL_UNIFORM_BLOCK. > > > > Let me recapitulate, simplifying what I wrote: > > > > * I am querying the index for a <programInterface> equals to > > GL_UNIFORM_BLOCK and for the following names -> > > fs_array_uniform_block[{1,2,3}]. > > > > * The OpenGL Core 4.5 spec snippet you pasted says the same than the > > ARB_program_interface_query extension spec. > > Right, I just wanted to highlight this again as this explicitly states the > rule and does not state that it would be valid only for some resource types. > IMO it covers them all. > > > * As I said, NVIDIA doesn't give any error. Mesa returns INVALID_INDEX > > because of valid_program_resource_index_name() function as, for each name, > > the array index included in the name is not zero (in the example, they are > > 1, 2 and 3). > > Could you attach or link to the modified Piglit test case? I'm wondering a > bit if glGetProgramResourceName returns the name with array index and if so, > why. > I published a branch with the modified test, please see last commit: git clone -b arb_uniform_buffer_object-patches https://github.com/samuelig/piglit.git File: tests/spec/arb_program_interface_query/resource-query.c -- You are receiving this mail because: You are the QA Contact for the bug.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev