SPIRV-Cross/reference/shaders
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
..
asm Defer parenthesis generation until needed. 2016-12-05 10:56:54 +01:00
comp Use correct glslang revision for reference output ... 2017-01-21 12:53:17 +01:00
desktop-only Optimize for read-modify-writes. 2016-12-16 13:14:22 +01:00
flatten Implement flattening of row major matrix indexing 2017-01-24 07:42:19 -08:00
frag Sort loop variables to make sure Travis CI runs are reproducable. 2016-12-16 14:01:09 +01:00
geom Defer parenthesis generation until needed. 2016-12-05 10:56:54 +01:00
legacy/vert Add ability to have legacy-specific tests. 2017-01-16 09:08:06 +01:00
tesc Defer parenthesis generation until needed. 2016-12-05 10:56:54 +01:00
tese Optimize for read-modify-writes. 2016-12-16 13:14:22 +01:00
vert Optimize for read-modify-writes. 2016-12-16 13:14:22 +01:00
vulkan Defer parenthesis generation until needed. 2016-12-05 10:56:54 +01:00