| struct S |
| { |
| float x; |
| int y; |
| }; |
| |
| struct Nested |
| { |
| S a; |
| S b; |
| }; |
| |
| struct Compound |
| { |
| float4 f4; |
| int3 i3; |
| }; |
| |
| cbuffer _UniformBuffer : register(b0, space0) |
| { |
| float4 _14_colorRed : packoffset(c0); |
| float4 _14_colorGreen : packoffset(c1); |
| }; |
| |
| |
| static float4 sk_FragColor; |
| |
| struct SPIRV_Cross_Output |
| { |
| float4 sk_FragColor : SV_Target0; |
| }; |
| |
| S returns_a_struct_S() |
| { |
| S s = { 0.0f, 0 }; |
| s.x = 1.0f; |
| s.y = 2; |
| return s; |
| } |
| |
| float accepts_a_struct_fS(S _47) |
| { |
| return _47.x + float(_47.y); |
| } |
| |
| void modifies_a_struct_vS(inout S _56) |
| { |
| _56.x += 1.0f; |
| _56.y++; |
| } |
| |
| S constructs_a_struct_S() |
| { |
| S _45 = { 2.0f, 3 }; |
| return _45; |
| } |
| |
| float4 main(float2 _65) |
| { |
| S _68 = returns_a_struct_S(); |
| S s = _68; |
| S _70 = _68; |
| float x = accepts_a_struct_fS(_70); |
| S _72 = _68; |
| modifies_a_struct_vS(_72); |
| s = _72; |
| S expected = constructs_a_struct_S(); |
| Nested n1 = { { 0.0f, 0 }, { 0.0f, 0 } }; |
| n1.a = returns_a_struct_S(); |
| n1.b = n1.a; |
| Nested n2 = n1; |
| Nested n3 = n1; |
| S _90 = n3.b; |
| modifies_a_struct_vS(_90); |
| n3.b = _90; |
| Compound _104 = { float4(1.0f, 2.0f, 3.0f, 4.0f), int3(5, 6, 7) }; |
| Compound c1 = _104; |
| float4 _110 = float4(_14_colorGreen.y, 2.0f, 3.0f, 4.0f); |
| Compound _111 = { _110, int3(5, 6, 7) }; |
| Compound c2 = _111; |
| float4 _116 = float4(_14_colorGreen.x, 2.0f, 3.0f, 4.0f); |
| Compound _117 = { _116, int3(5, 6, 7) }; |
| Compound c3 = _117; |
| bool _128 = false; |
| if (x == 3.0f) |
| { |
| _128 = s.x == 2.0f; |
| } |
| else |
| { |
| _128 = false; |
| } |
| bool _134 = false; |
| if (_128) |
| { |
| _134 = s.y == 3; |
| } |
| else |
| { |
| _134 = false; |
| } |
| bool _146 = false; |
| if (_134) |
| { |
| _146 = (s.y == expected.y) && (s.x == expected.x); |
| } |
| else |
| { |
| _146 = false; |
| } |
| bool _156 = false; |
| if (_146) |
| { |
| S _150 = { 2.0f, 3 }; |
| _156 = (s.y == 3) && (s.x == 2.0f); |
| } |
| else |
| { |
| _156 = false; |
| } |
| bool _168 = false; |
| if (_156) |
| { |
| S _160 = returns_a_struct_S(); |
| _168 = (s.y != _160.y) || (s.x != _160.x); |
| } |
| else |
| { |
| _168 = false; |
| } |
| bool _192 = false; |
| if (_168) |
| { |
| _192 = ((n1.b.y == n2.b.y) && (n1.b.x == n2.b.x)) && ((n1.a.y == n2.a.y) && (n1.a.x == n2.a.x)); |
| } |
| else |
| { |
| _192 = false; |
| } |
| bool _216 = false; |
| if (_192) |
| { |
| _216 = ((n1.b.y != n3.b.y) || (n1.b.x != n3.b.x)) || ((n1.a.y != n3.a.y) || (n1.a.x != n3.a.x)); |
| } |
| else |
| { |
| _216 = false; |
| } |
| bool _236 = false; |
| if (_216) |
| { |
| S _220 = { 1.0f, 2 }; |
| S _221 = { 2.0f, 3 }; |
| Nested _222 = { _220, _221 }; |
| _236 = ((n3.b.y == 3) && (n3.b.x == 2.0f)) && ((n3.a.y == 2) && (n3.a.x == 1.0f)); |
| } |
| else |
| { |
| _236 = false; |
| } |
| bool _244 = false; |
| if (_236) |
| { |
| _244 = true && all(bool4(float4(1.0f, 2.0f, 3.0f, 4.0f).x == _110.x, float4(1.0f, 2.0f, 3.0f, 4.0f).y == _110.y, float4(1.0f, 2.0f, 3.0f, 4.0f).z == _110.z, float4(1.0f, 2.0f, 3.0f, 4.0f).w == _110.w)); |
| } |
| else |
| { |
| _244 = false; |
| } |
| bool _250 = false; |
| if (_244) |
| { |
| _250 = false || any(bool4(_110.x != _116.x, _110.y != _116.y, _110.z != _116.z, _110.w != _116.w)); |
| } |
| else |
| { |
| _250 = false; |
| } |
| bool valid = _250; |
| float4 _251 = 0.0f.xxxx; |
| if (_250) |
| { |
| _251 = _14_colorGreen; |
| } |
| else |
| { |
| _251 = _14_colorRed; |
| } |
| return _251; |
| } |
| |
| void frag_main() |
| { |
| float2 _24 = 0.0f.xx; |
| sk_FragColor = main(_24); |
| } |
| |
| SPIRV_Cross_Output main() |
| { |
| frag_main(); |
| SPIRV_Cross_Output stage_output; |
| stage_output.sk_FragColor = sk_FragColor; |
| return stage_output; |
| } |