xref: /aosp_15_r20/external/skia/tests/sksl/shared/SwizzleAsLValueES3.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1cbuffer _UniformBuffer : register(b0, space0)
2{
3    float4 _12_colorGreen : packoffset(c0);
4    float4 _12_colorRed : packoffset(c1);
5};
6
7
8static float4 sk_FragColor;
9
10struct SPIRV_Cross_Output
11{
12    float4 sk_FragColor : SV_Target0;
13};
14
15static int gAccessCount = 0;
16
17int Z_i()
18{
19    gAccessCount++;
20    return 0;
21}
22
23float4 main(float2 _31)
24{
25    gAccessCount = 0;
26    int _41 = Z_i();
27    float4 array[1] = { 0.0f.xxxx };
28    array[_41] = _12_colorGreen * 0.5f;
29    int _45 = Z_i();
30    array[_45].w = 2.0f;
31    int _50 = Z_i();
32    array[_50].y *= 4.0f;
33    int _56 = Z_i();
34    float3 _66 = mul(float3x3(float3(0.5f, 0.0f, 0.0f), float3(0.0f, 0.5f, 0.0f), float3(0.0f, 0.0f, 0.5f)), array[_56].yzw);
35    array[_56] = float4(array[_56].x, _66.x, _66.y, _66.z);
36    int _69 = Z_i();
37    float4 _76 = array[_69].zywx + float4(0.25f, 0.0f, 0.0f, 0.75f);
38    array[_69] = float4(_76.w, _76.y, _76.x, _76.z);
39    int _79 = Z_i();
40    int _83 = Z_i();
41    float _90 = 0.0f;
42    if (array[_83].w <= 1.0f)
43    {
44        int _94 = Z_i();
45        _90 = array[_94].z;
46    }
47    else
48    {
49        int _98 = Z_i();
50        _90 = float(_98);
51    }
52    array[_79].x += _90;
53    bool _114 = false;
54    if (gAccessCount == 8)
55    {
56        _114 = all(bool4(array[0].x == float4(1.0f, 1.0f, 0.25f, 1.0f).x, array[0].y == float4(1.0f, 1.0f, 0.25f, 1.0f).y, array[0].z == float4(1.0f, 1.0f, 0.25f, 1.0f).z, array[0].w == float4(1.0f, 1.0f, 0.25f, 1.0f).w));
57    }
58    else
59    {
60        _114 = false;
61    }
62    float4 _115 = 0.0f.xxxx;
63    if (_114)
64    {
65        _115 = _12_colorGreen;
66    }
67    else
68    {
69        _115 = _12_colorRed;
70    }
71    return _115;
72}
73
74void frag_main()
75{
76    float2 _22 = 0.0f.xx;
77    float4 _24 = main(_22);
78    sk_FragColor = _24;
79}
80
81SPIRV_Cross_Output main()
82{
83    frag_main();
84    SPIRV_Cross_Output stage_output;
85    stage_output.sk_FragColor = sk_FragColor;
86    return stage_output;
87}
88