On Thu, 2016-08-04 at 18:36 +0200, Alejandro Piñeiro wrote: > Hi, > > these days I have been trying to fix a test that uses transform > feedback > on the out varying of a tessellation shader. The relevant part on > that > shader is like this: > > layout (vertices=4) out; > > out block { vec4 value; } user_out[]; > > The test tries to use block.value as the varying name when calling > glTransformFeedbackVaryings, in order to get the data of the 4 > vertices. > The test fails because on link time, it doesn't find that varying > name. > > On mesa, when linked, mesa tfeedback_candidate_generator (at > src/compiler/glsl/link_varyings) adds to the hashmap of possible > varyings for transform feedback the following names: block[0].value, > block[1].value, block[2].value, block[3].value. If I change the test > to > use those 4 varyings names, instead of try to get the array directly, > the test passes. > > So now is the moment to justify who is wrong per-spec, if mesa or the > test. At this moment Im biased to conclude that the test is wrong. > But > after reading transform feedback specs (ext, feedback2, feedback3, > gl44) > and tessellation shader, I was not able to find anything. > > Could someone (I bet that the best person is Timothy Arceri) guide me > a > little to know in which part of the spec should I look for?
For block arrays block[0].value,> block[1].value, block[2].value, block[3].value are the correct strings for matching transform feedback varyings. I forget which spec states this but its in there somewhere I recall looking for it and finding it. However user_out[] looks like it would be coming from a tess control shader right? In which case we would want to ignore the outer array, however I'm not sure how well Mesa supports transform feedback from tcs. > > Thanks in advance. > > BR > > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev