X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=tests%2Fglsl%2Fnested_ternary.glsl;fp=tests%2Fglsl%2Fnested_ternary.glsl;h=8896c17a727017e2317d31b763052351c38e1bf3;hb=b125c684e2c2feb86845f051285fe666d8ebfc76;hp=0000000000000000000000000000000000000000;hpb=e8369afbde298a3011a341cd2d4dfed76ecd8d3b;p=libs%2Fgl.git diff --git a/tests/glsl/nested_ternary.glsl b/tests/glsl/nested_ternary.glsl new file mode 100644 index 00000000..8896c17a --- /dev/null +++ b/tests/glsl/nested_ternary.glsl @@ -0,0 +1,49 @@ +uniform Colors +{ + vec4 top_left; + vec4 top_right; + vec4 bottom_left; + vec4 bottom_right; +}; + +#pragma MSP stage(vertex) +layout(location=0) in vec4 position; +void main() +{ + gl_Position = position; + passthrough; +} + +#pragma MSP stage(fragment) +layout(location=0) out vec4 frag_color; +void main() +{ + frag_color = (position.x>0 ? position.y>0 ? top_right : bottom_right : + position.y>0 ? top_left : bottom_left); +} + +/* Expected output: vertex +layout(location=0) in vec4 position; +layout(location=0) out vec4 _vs_out_position; +void main() +{ + gl_Position = position; + _vs_out_position = position; +} +*/ + +/* Expected output: fragment +layout(binding=23) uniform Colors +{ + vec4 top_left; + vec4 top_right; + vec4 bottom_left; + vec4 bottom_right; +}; +layout(location=0) out vec4 frag_color; +layout(location=0) in vec4 _vs_out_position; +void main() +{ + frag_color = _vs_out_position.x>0.0?(_vs_out_position.y>0.0?top_right:bottom_right):_vs_out_position.y>0.0?top_left:bottom_left; +} +*/