https://bugs.freedesktop.org/show_bug.cgi?id=90397
--- Comment #4 from Samuel Iglesias <sigles...@igalia.com> --- Created attachment 115737 --> https://bugs.freedesktop.org/attachment.cgi?id=115737&action=edit patch to GetProgramResourceIndex() to fix arrays of UBOs behavior I found another issue when modifying arb_program_interface_query-getprogramresourceiv to test an uniform inside an array of UBOs. I modified a shader which is defined inside common.h. Because of that, I updated other tests' code to work with that change. In particular, resource-query.c. Shader code: #version 150 uniform fs_uniform_block { vec4 fs_color; float fs_array[4]; }; uniform fs_array_uniform_block { vec4 fs_color; float fs_array[4]; } ubo[4]; in vec4 fs_input1; out vec4 fs_output0; out vec4 fs_output1; void main() { fs_output0 = fs_color * fs_input1 * fs_array[2] * ubo[0].fs_array[2] * ubo[2].fs_array[2]; fs_output1 = fs_color * fs_input1 * fs_array[3] * ubo[1].fs_array[3] * ubo[3].fs_array[3]; } I found that glGetProgramResourceName() is returning the name "fs_array_uniform_block[0]", "fs_array_uniform_block[1]", "fs_array_uniform_block[2]", and "fs_array_uniform_block[3]" when asked with the corresponding block index as those blocks are active resources in the shader. resource-query test checks again that those names corresponds to active resources by comparing the former index against the one returned by glGetProgramResourceIndex(name). Unfortunately, Mesa is returning GL_INVALID_INDEX to fs_array_uniform_block[{1,2,3}] (other than zero), while NVIDIA passes the test for that case. Reading GL_ARB_program_interface_query, I found the following: "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." 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. -- 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