SPIRV-Cross/reference/shaders/flatten
Arseny Kapoulkine 62b27f1d81 Implement access chain flattening support for row major matrices
We currently only support access chains that end in a matrix by propagating
"needs transpose" flag upstream which flips the matrix multiplication order.

It's possible to support indexed extraction as well, however it would have to
generate code like this:

    vec4 row = vec4(UBO[0].y, UBO[1].y, UBO[2].y, UBO[3].y);

for a column equivalent of:

    vec4 row = UBO[1];

It is definitely possible to do so but it requires signaling the vector output
that it needs to switch to per-component extraction which is a bit more trouble
than this is worth for now.
2017-01-17 23:26:23 -08:00
..
array.flatten.vert Fix whitespace in generated flattened expressions 2017-01-17 23:26:19 -08:00
basic.flatten.vert Fix whitespace in generated flattened expressions 2017-01-17 23:26:19 -08:00
copy.flatten.vert Fix whitespace in generated flattened expressions 2017-01-17 23:26:19 -08:00
dynamic.flatten.vert Fix whitespace in generated flattened expressions 2017-01-17 23:26:19 -08:00
multiindex.flatten.vert Fix whitespace in generated flattened expressions 2017-01-17 23:26:19 -08:00
rowmajor.flatten.vert Implement access chain flattening support for row major matrices 2017-01-17 23:26:23 -08:00
struct.flatten.vert Fix whitespace in generated flattened expressions 2017-01-17 23:26:19 -08:00
swizzle.flatten.vert Add tests for buffer block flattening 2017-01-17 23:26:18 -08:00