diff options
author | Paul Berry <[email protected]> | 2013-09-25 14:07:37 -0700 |
---|---|---|
committer | Paul Berry <[email protected]> | 2013-10-09 16:49:48 -0700 |
commit | 15e05b999b779dc48a8e768184b9c69e859c203b (patch) | |
tree | c671c33943fe7fc9f06e3873ac811fad05b9a64b /src/glsl/ir.cpp | |
parent | 45e46b2e371e59f11f19b9169aa79ce2b1dffd6f (diff) |
glsl: Modify array_sizing_visitor to handle unnamed interface blocks.
We were already setting the array size of unsized arrays that appeared
inside unnamed interface blocks, but we weren't updating
ir_variable::interface_type to reflect the new array size, causing
bogus link errors.
This patch causes array_sizing_visitor to keep track of all the
unnamed interface types it sees, and the ir_variables corresponding to
each one. After the visitor runs, a new function,
fixup_unnamed_interface_types(), adjusts each unnamed interface type
to correctly correspond with the array sizes in the ir_variables.
Fixes piglit tests:
- spec/glsl-1.50/execution/unsized-in-unnamed-interface-block-gs
- spec/glsl-1.50/execution/unsized-in-unnamed-interface-block-multiple
Reviewed-by: Jordan Justen <[email protected]>
Diffstat (limited to 'src/glsl/ir.cpp')
0 files changed, 0 insertions, 0 deletions