Dereference any array type before expanding root-level SSBO members
authorbaldurk <baldurk@baldurk.org>
Mon, 26 Aug 2019 11:41:53 +0000 (12:41 +0100)
committerbaldurk <baldurk@baldurk.org>
Mon, 26 Aug 2019 11:59:38 +0000 (12:59 +0100)
commit1f1e5369ce01b290c71916e33cf47368d3e37056
tree511a365346182e847424f572f7b46572cf31bbe6
parentd6a5cc65807fa5f45cbe61d0e10be084b508185a
Dereference any array type before expanding root-level SSBO members

If we don't do this then we get reflection output like so:

ArrayedBind[0].a.a: offset 0, type 1406, size 1, index 4, binding -1, stages 0
ArrayedBind[0].a.b: offset 4, type 1406, size 1, index 4, binding -1, stages 0
ArrayedBind[0].b.a: offset 4, type 1406, size 1, index 4, binding -1, stages 0
ArrayedBind[0].b.b: offset 8, type 1406, size 1, index 4, binding -1, stages 0
ArrayedBind[0].b: offset 4, type 1406, size 1, index 4, binding -1, stages 1

When the outer reflection loop that calls blowUpActiveAggregate incorrectly iterates over the struct members.
Test/baseResults/reflection.options.vert.out
Test/reflection.options.vert
glslang/MachineIndependent/reflection.cpp