xref: /aosp_15_r20/external/skia/tests/sksl/shared/NestedComparisonIntrinsics.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1cbuffer _UniformBuffer : register(b0, space0)
2{
3    float4 _7_colorRed : packoffset(c0);
4    float4 _7_colorGreen : packoffset(c1);
5};
6
7
8static float4 sk_FragColor;
9
10struct SPIRV_Cross_Output
11{
12    float4 sk_FragColor : SV_Target0;
13};
14
15float4 main(float2 _21)
16{
17    bool4 _28 = bool4(_7_colorRed.x < 2.0f.xxxx.x, _7_colorRed.y < 2.0f.xxxx.y, _7_colorRed.z < 2.0f.xxxx.z, _7_colorRed.w < 2.0f.xxxx.w);
18    bool4 _36 = bool4(3.0f.xxxx.x > _7_colorGreen.x, 3.0f.xxxx.y > _7_colorGreen.y, 3.0f.xxxx.z > _7_colorGreen.z, 3.0f.xxxx.w > _7_colorGreen.w);
19    bool4 _27 = bool4(_28.x == _36.x, _28.y == _36.y, _28.z == _36.z, _28.w == _36.w);
20    bool4 result = _27;
21    float4 _43 = 0.0f.xxxx;
22    if (all(_27))
23    {
24        _43 = _7_colorGreen;
25    }
26    else
27    {
28        _43 = _7_colorRed;
29    }
30    return _43;
31}
32
33void frag_main()
34{
35    float2 _17 = 0.0f.xx;
36    sk_FragColor = main(_17);
37}
38
39SPIRV_Cross_Output main()
40{
41    frag_main();
42    SPIRV_Cross_Output stage_output;
43    stage_output.sk_FragColor = sk_FragColor;
44    return stage_output;
45}
46