xref: /aosp_15_r20/external/skia/tests/sksl/intrinsics/MatrixCompMultES2.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    row_major float2x2 _7_testMatrix2x2 : packoffset(c2);
6*c8dee2aaSAndroid Build Coastguard Worker    row_major float3x3 _7_testMatrix3x3 : packoffset(c4);
7*c8dee2aaSAndroid Build Coastguard Worker};
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor;
11*c8dee2aaSAndroid Build Coastguard Worker
12*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output
13*c8dee2aaSAndroid Build Coastguard Worker{
14*c8dee2aaSAndroid Build Coastguard Worker    float4 sk_FragColor : SV_Target0;
15*c8dee2aaSAndroid Build Coastguard Worker};
16*c8dee2aaSAndroid Build Coastguard Worker
17*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _24)
18*c8dee2aaSAndroid Build Coastguard Worker{
19*c8dee2aaSAndroid Build Coastguard Worker    float2x2 h22 = float2x2(1000000.0f.xx, 1000000.0f.xx);
20*c8dee2aaSAndroid Build Coastguard Worker    float2x2 hugeM22 = float2x2(1000000015047466219876688855040.0f.xx, 1000000015047466219876688855040.0f.xx);
21*c8dee2aaSAndroid Build Coastguard Worker    h22 = float2x2(1000000015047466219876688855040.0f.xx * 1000000015047466219876688855040.0f.xx, 1000000015047466219876688855040.0f.xx * 1000000015047466219876688855040.0f.xx);
22*c8dee2aaSAndroid Build Coastguard Worker    h22 = float2x2(float2(0.0f, 5.0f), float2(10.0f, 15.0f));
23*c8dee2aaSAndroid Build Coastguard Worker    float2 _57 = _7_testMatrix2x2[0] * float2(1.0f, 0.0f);
24*c8dee2aaSAndroid Build Coastguard Worker    float2 _59 = _7_testMatrix2x2[1] * float2(0.0f, 1.0f);
25*c8dee2aaSAndroid Build Coastguard Worker    float2x2 f22 = float2x2(_57, _59);
26*c8dee2aaSAndroid Build Coastguard Worker    float3 _72 = _7_testMatrix3x3[0] * 2.0f.xxx;
27*c8dee2aaSAndroid Build Coastguard Worker    float3 _74 = _7_testMatrix3x3[1] * 2.0f.xxx;
28*c8dee2aaSAndroid Build Coastguard Worker    float3 _76 = _7_testMatrix3x3[2] * 2.0f.xxx;
29*c8dee2aaSAndroid Build Coastguard Worker    float3x3 h33 = float3x3(_72, _74, _76);
30*c8dee2aaSAndroid Build Coastguard Worker    bool _96 = false;
31*c8dee2aaSAndroid Build Coastguard Worker    if (all(bool2(float2(0.0f, 5.0f).x == float2(0.0f, 5.0f).x, float2(0.0f, 5.0f).y == float2(0.0f, 5.0f).y)) && all(bool2(float2(10.0f, 15.0f).x == float2(10.0f, 15.0f).x, float2(10.0f, 15.0f).y == float2(10.0f, 15.0f).y)))
32*c8dee2aaSAndroid Build Coastguard Worker    {
33*c8dee2aaSAndroid Build Coastguard Worker        _96 = all(bool2(_57.x == float2(1.0f, 0.0f).x, _57.y == float2(1.0f, 0.0f).y)) && all(bool2(_59.x == float2(0.0f, 4.0f).x, _59.y == float2(0.0f, 4.0f).y));
34*c8dee2aaSAndroid Build Coastguard Worker    }
35*c8dee2aaSAndroid Build Coastguard Worker    else
36*c8dee2aaSAndroid Build Coastguard Worker    {
37*c8dee2aaSAndroid Build Coastguard Worker        _96 = false;
38*c8dee2aaSAndroid Build Coastguard Worker    }
39*c8dee2aaSAndroid Build Coastguard Worker    bool _118 = false;
40*c8dee2aaSAndroid Build Coastguard Worker    if (_96)
41*c8dee2aaSAndroid Build Coastguard Worker    {
42*c8dee2aaSAndroid Build Coastguard Worker        _118 = (all(bool3(_72.x == float3(2.0f, 4.0f, 6.0f).x, _72.y == float3(2.0f, 4.0f, 6.0f).y, _72.z == float3(2.0f, 4.0f, 6.0f).z)) && all(bool3(_74.x == float3(8.0f, 10.0f, 12.0f).x, _74.y == float3(8.0f, 10.0f, 12.0f).y, _74.z == float3(8.0f, 10.0f, 12.0f).z))) && all(bool3(_76.x == float3(14.0f, 16.0f, 18.0f).x, _76.y == float3(14.0f, 16.0f, 18.0f).y, _76.z == float3(14.0f, 16.0f, 18.0f).z));
43*c8dee2aaSAndroid Build Coastguard Worker    }
44*c8dee2aaSAndroid Build Coastguard Worker    else
45*c8dee2aaSAndroid Build Coastguard Worker    {
46*c8dee2aaSAndroid Build Coastguard Worker        _118 = false;
47*c8dee2aaSAndroid Build Coastguard Worker    }
48*c8dee2aaSAndroid Build Coastguard Worker    float4 _119 = 0.0f.xxxx;
49*c8dee2aaSAndroid Build Coastguard Worker    if (_118)
50*c8dee2aaSAndroid Build Coastguard Worker    {
51*c8dee2aaSAndroid Build Coastguard Worker        _119 = _7_colorGreen;
52*c8dee2aaSAndroid Build Coastguard Worker    }
53*c8dee2aaSAndroid Build Coastguard Worker    else
54*c8dee2aaSAndroid Build Coastguard Worker    {
55*c8dee2aaSAndroid Build Coastguard Worker        _119 = _7_colorRed;
56*c8dee2aaSAndroid Build Coastguard Worker    }
57*c8dee2aaSAndroid Build Coastguard Worker    return _119;
58*c8dee2aaSAndroid Build Coastguard Worker}
59*c8dee2aaSAndroid Build Coastguard Worker
60*c8dee2aaSAndroid Build Coastguard Workervoid frag_main()
61*c8dee2aaSAndroid Build Coastguard Worker{
62*c8dee2aaSAndroid Build Coastguard Worker    float2 _20 = 0.0f.xx;
63*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor = main(_20);
64*c8dee2aaSAndroid Build Coastguard Worker}
65*c8dee2aaSAndroid Build Coastguard Worker
66*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main()
67*c8dee2aaSAndroid Build Coastguard Worker{
68*c8dee2aaSAndroid Build Coastguard Worker    frag_main();
69*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
70*c8dee2aaSAndroid Build Coastguard Worker    stage_output.sk_FragColor = sk_FragColor;
71*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
72*c8dee2aaSAndroid Build Coastguard Worker}
73