SPIRV-Cross/reference/shaders
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
..
asm Defer parenthesis generation until needed. 2016-12-05 10:56:54 +01:00
comp Optimize += 1, -= 1 to ++, --. 2016-12-16 13:24:49 +01:00
desktop-only Optimize for read-modify-writes. 2016-12-16 13:14:22 +01:00
flatten Implement access chain flattening support for row major matrices 2017-01-17 23:26:23 -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