https://bugs.freedesktop.org/show_bug.cgi?id=90397
Bug ID: 90397 Summary: 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 Product: Mesa Version: git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: Mesa core Assignee: mesa-dev@lists.freedesktop.org Reporter: sigles...@igalia.com QA Contact: mesa-dev@lists.freedesktop.org CC: lem...@gmail.com I was doing some testing of GL_BUFFER_VARIABLE <programInterface> parameter in glGetProgramResourceiv() checking different property queries, because I need that support for testing my GL_ARB_shader_storage_buffer_object work. I realized that queries for GL_REFERENCED_BY_*_SHADER (GL_REFERENCED_BY_VERTEX_SHADER, GL_REFERENCED_BY_FRAGMENT_SHADER...) are not returning the proper value when the variable is a member of an interface block with an instance name. This is happening to GL_UNIFORM in current master branch. For example: using the following vertex shader, glGetProgramResourceiv(GL_REFERENCED_BY_VERTEX_SHADER) query for GL_UNIFORM's "ubo_std140.s[0].b[0]" should return 1 but it returns 0. ATI proprietary driver returns 1. #version 330 #extension GL_ARB_uniform_buffer_object : require struct B {mat2 b[3]; float c;}; layout(row_major, std140) uniform ubo_std140 { vec4 v; B s[2]; } a_std140; in vec4 piglit_vertex; void main() { gl_Position = piglit_vertex; mat2 a = a_std140.s[0].b[0]; gl_Position.x = a[0][0]; } Tested on Mesa master: abf3fefa1aa734844e0ca8e95e8c3a501909aa33 -- You are receiving this mail because: You are the QA Contact for the bug. You are the assignee for the bug.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev