SPIRV-Cross/shaders/flatten
Arseny Kapoulkine ed04c95b08 Implement flattening of row major matrix indexing
To extract a column from row-major matrix, we need to do a strided load one
component at a time. In this case flattened_access_chain_offset still returns
the offset to the first element, but the stride is equal to matrix stride
instead of vector stride.

For this to work, we need to pass matrix stride (and transpose flag) through,
similar to how matrix flattening works.

Additionally slightly clean up recursive flattened_access_chain structure -
specifically, instead of deciding mid-traversal that we need matrix stride
information, we can just pass the matrix stride through - for access chains
that end in matrix/vector this gets us what we need, and for access chains
that end in structs the flattened_access_chain_struct code will recompute
correct stride/transposition data to pass through further.
2017-01-24 07:42:19 -08:00
..
array.flatten.vert Add test for flattened 3-dimensional arrays. 2017-01-22 08:49:11 +01:00
basic.flatten.vert Fixups to the flatten tests. 2017-01-21 12:39:16 +01:00
copy.flatten.vert Add tests for buffer block flattening 2017-01-17 23:26:18 -08:00
dynamic.flatten.vert Add tests for buffer block flattening 2017-01-17 23:26:18 -08:00
matrixindex.flatten.vert Implement flattening of row major matrix indexing 2017-01-24 07:42:19 -08:00
multiindex.flatten.vert Add tests for buffer block flattening 2017-01-17 23:26:18 -08:00
push-constant.flatten.vert Fixups to the flatten tests. 2017-01-21 12:39:16 +01:00
rowmajor.flatten.vert Fix bugs with row-major matrices inside flattened UBOs. 2017-01-21 13:50:01 +01:00
struct.flatten.vert Add tests for buffer block flattening 2017-01-17 23:26:18 -08:00
struct.rowmajor.flatten.vert Fix bugs with row-major matrices inside flattened UBOs. 2017-01-21 13:50:01 +01:00
swizzle.flatten.vert Fixups to the flatten tests. 2017-01-21 12:39:16 +01:00
types.flatten.frag Support int and uint as flattened UBO types. 2017-01-21 12:29:20 +01:00