Fix #1843: Handle built-in function output parameters to a swizzled arg

In GLSL/HLSL/AST,  v.zyx is an l-value, but not in SPIR-V, which cannot represent it.
So, a temporary is used instead.
This commit is contained in:
John Kessenich
2020-03-03 07:21:37 -07:00
parent 56364b6b60
commit bbbd9a2a1f
4 changed files with 481 additions and 442 deletions

View File

@@ -55,9 +55,10 @@ void main()
v += ceil(v);
v += fract(v);
v += mod(v, v);
v += mod(v, v.x);
v += mod(v, v.x);
v += modf(v, v);
v += modf(v, v.yzxw);
v += min(v, uv4);
v += max(v, uv4);