xref: /aosp_15_r20/external/skia/tests/sksl/shared/ArrayCast.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workercbuffer _UniformBuffer : register(b0, space0)
2*c8dee2aaSAndroid Build Coastguard Worker{
3*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorGreen : packoffset(c0);
4*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorRed : packoffset(c1);
5*c8dee2aaSAndroid Build Coastguard Worker};
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor;
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output
11*c8dee2aaSAndroid Build Coastguard Worker{
12*c8dee2aaSAndroid Build Coastguard Worker    float4 sk_FragColor : SV_Target0;
13*c8dee2aaSAndroid Build Coastguard Worker};
14*c8dee2aaSAndroid Build Coastguard Worker
15*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _21)
16*c8dee2aaSAndroid Build Coastguard Worker{
17*c8dee2aaSAndroid Build Coastguard Worker    float _32[4] = { 1.0f, 2.0f, 3.0f, 4.0f };
18*c8dee2aaSAndroid Build Coastguard Worker    float f[4] = _32;
19*c8dee2aaSAndroid Build Coastguard Worker    float h[4] = _32;
20*c8dee2aaSAndroid Build Coastguard Worker    f = _32;
21*c8dee2aaSAndroid Build Coastguard Worker    h = _32;
22*c8dee2aaSAndroid Build Coastguard Worker    int3 _44[3] = { int3(1, 1, 1), int3(2, 2, 2), int3(3, 3, 3) };
23*c8dee2aaSAndroid Build Coastguard Worker    int3 i3[3] = _44;
24*c8dee2aaSAndroid Build Coastguard Worker    int3 s3[3] = _44;
25*c8dee2aaSAndroid Build Coastguard Worker    i3 = _44;
26*c8dee2aaSAndroid Build Coastguard Worker    s3 = _44;
27*c8dee2aaSAndroid Build Coastguard Worker    float2x2 _60[2] = { float2x2(float2(1.0f, 2.0f), float2(3.0f, 4.0f)), float2x2(float2(5.0f, 6.0f), float2(7.0f, 8.0f)) };
28*c8dee2aaSAndroid Build Coastguard Worker    float2x2 h2x2[2] = _60;
29*c8dee2aaSAndroid Build Coastguard Worker    float2x2 f2x2[2] = _60;
30*c8dee2aaSAndroid Build Coastguard Worker    f2x2 = _60;
31*c8dee2aaSAndroid Build Coastguard Worker    h2x2 = _60;
32*c8dee2aaSAndroid Build Coastguard Worker    bool _72 = false;
33*c8dee2aaSAndroid Build Coastguard Worker    if (true && (true && (true && true)))
34*c8dee2aaSAndroid Build Coastguard Worker    {
35*c8dee2aaSAndroid Build Coastguard Worker        _72 = true && (true && true);
36*c8dee2aaSAndroid Build Coastguard Worker    }
37*c8dee2aaSAndroid Build Coastguard Worker    else
38*c8dee2aaSAndroid Build Coastguard Worker    {
39*c8dee2aaSAndroid Build Coastguard Worker        _72 = false;
40*c8dee2aaSAndroid Build Coastguard Worker    }
41*c8dee2aaSAndroid Build Coastguard Worker    bool _87 = false;
42*c8dee2aaSAndroid Build Coastguard Worker    if (_72)
43*c8dee2aaSAndroid Build Coastguard Worker    {
44*c8dee2aaSAndroid Build Coastguard Worker        _87 = (all(bool2(float2(5.0f, 6.0f).x == float2(5.0f, 6.0f).x, float2(5.0f, 6.0f).y == float2(5.0f, 6.0f).y)) && all(bool2(float2(7.0f, 8.0f).x == float2(7.0f, 8.0f).x, float2(7.0f, 8.0f).y == float2(7.0f, 8.0f).y))) && (all(bool2(float2(1.0f, 2.0f).x == float2(1.0f, 2.0f).x, float2(1.0f, 2.0f).y == float2(1.0f, 2.0f).y)) && all(bool2(float2(3.0f, 4.0f).x == float2(3.0f, 4.0f).x, float2(3.0f, 4.0f).y == float2(3.0f, 4.0f).y)));
45*c8dee2aaSAndroid Build Coastguard Worker    }
46*c8dee2aaSAndroid Build Coastguard Worker    else
47*c8dee2aaSAndroid Build Coastguard Worker    {
48*c8dee2aaSAndroid Build Coastguard Worker        _87 = false;
49*c8dee2aaSAndroid Build Coastguard Worker    }
50*c8dee2aaSAndroid Build Coastguard Worker    float4 _88 = 0.0f.xxxx;
51*c8dee2aaSAndroid Build Coastguard Worker    if (_87)
52*c8dee2aaSAndroid Build Coastguard Worker    {
53*c8dee2aaSAndroid Build Coastguard Worker        _88 = _7_colorGreen;
54*c8dee2aaSAndroid Build Coastguard Worker    }
55*c8dee2aaSAndroid Build Coastguard Worker    else
56*c8dee2aaSAndroid Build Coastguard Worker    {
57*c8dee2aaSAndroid Build Coastguard Worker        _88 = _7_colorRed;
58*c8dee2aaSAndroid Build Coastguard Worker    }
59*c8dee2aaSAndroid Build Coastguard Worker    return _88;
60*c8dee2aaSAndroid Build Coastguard Worker}
61*c8dee2aaSAndroid Build Coastguard Worker
62*c8dee2aaSAndroid Build Coastguard Workervoid frag_main()
63*c8dee2aaSAndroid Build Coastguard Worker{
64*c8dee2aaSAndroid Build Coastguard Worker    float2 _17 = 0.0f.xx;
65*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor = main(_17);
66*c8dee2aaSAndroid Build Coastguard Worker}
67*c8dee2aaSAndroid Build Coastguard Worker
68*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main()
69*c8dee2aaSAndroid Build Coastguard Worker{
70*c8dee2aaSAndroid Build Coastguard Worker    frag_main();
71*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
72*c8dee2aaSAndroid Build Coastguard Worker    stage_output.sk_FragColor = sk_FragColor;
73*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
74*c8dee2aaSAndroid Build Coastguard Worker}
75