On 12/03/2015 05:58 AM, Timothy Arceri wrote:
Hi All, I recently pushed a couple of piglit tests [1] and [2] that test for matching of blocks and structs based on location rather than name when an explicit location is given. The test pass on Nvidia but fail in current Mesa. However I just came across this in section 7.4.1 (Shader Interface Matching) the OpenGL 4.5 spec: "- An output block is considered to match an input block in the subsequent shader if the two blocks have the same block name, and the members of the block match exactly in name, type, qualification, and declaration order. - An output variable is considered to match an input variable in the subsequentshader if: -- the two variables match in name, type, and qualification; or -- the two variables are declared with the same location and component layout qualifiers and match in type and qualification." But then later it says: "The inputs and outputs on an interface between programs need not match ex-actly when input and output location qualifiers (sections 4.4.1(“Input Layout Qual-ifiers”) and 4.4.2(“Output Layout Qualifiers”) of the OpenGL Shading LanguageSpecification) are used. When using location qualifiers, any input with an inputlocation qualifier will be well-defined as long as the other program writes to amatching output, as described above. The names of variables need not match when matching by location." So my question is why bother to inforce name matching on blocks when not using SSO? Should I folow the spec or do what Nvidia does?
I was reading through these sections when looking at the tests. My understanding is that Mesa is too strict currently since matching by location is defined as above, this change came in 4.3 spec. I don't see it being limited to SSO scope. How I understand is that this paragraph belongs to generic scope of "Shader Interface Matching" section.
Tim [1] http://cgit.freedesktop.org/piglit/commit/?id=f1e416b8e65ad95c6ce9e 04a80d83e7f9e1e9239 [2] http://cgit.freedesktop.org/piglit/commit/?id=2b2bb62ce03ffa065e9b591cd 05e12c623ed4759 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev