summaryrefslogtreecommitdiffstats
path: root/doxygen/tnl_dd.doxy
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2013-04-06 09:36:06 -0700
committerPaul Berry <[email protected]>2013-04-09 10:25:15 -0700
commit7862bde8af1f63cfe921977ecb112f88885c92a9 (patch)
tree1dfb0f94b006e521bb82164a8926790865555163 /doxygen/tnl_dd.doxy
parent778ce82b71c75d2c13f38b3504a4f18453330be2 (diff)
glsl/linker: fix varying packing for non-flat integer varyings.
Commit dfb57e7 (glsl: Fix error checking on "flat" keyword to match GLSL ES 3.00, GLSL 1.50) relaxed the rules for integral varyings: they only need to be declared as "flat" if they are a fragment shader inputs. This allowed for the possibility of a vertex shader output being a non-flat integer, provided that it was not matched to a fragment shader input. A non-contrived situation where this might arise is if a vertex shader generates some integral outputs which are consumed by tranform feedback, but not by the fragment shader. Unfortunately, lower_packed_varyings assumes that *all* integral varyings are flat, regardless of whether they are consumed by the fragment shader. As a result, attempting to create a non-flat integral vertex output of a size that required packing (i.e. a size other than ivec4 or uvec4) would cause an assertion failure in lower_packed_varyings. This patch prevents the assertion failure by forcing vertex shader outputs to be "flat" whenever they are not consumed by the fragment shader. This should have no effect on rendering since the "flat" keyword only affects the behaviour of fragment shader inputs. Fixes piglit test "spec/EXT_transform_feedback/nonflat-integral". NOTE: This is a candidate for the 9.1 release branch. Reviewed-by: Jordan Justen <[email protected]>
Diffstat (limited to 'doxygen/tnl_dd.doxy')
0 files changed, 0 insertions, 0 deletions