xref: /aosp_15_r20/external/skia/tests/sksl/intrinsics/OuterProduct.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1cbuffer _UniformBuffer : register(b0, space0)
2{
3    float4 _7_colorGreen : packoffset(c0);
4    float4 _7_colorRed : packoffset(c1);
5    row_major float2x2 _7_testMatrix2x2 : packoffset(c2);
6    row_major float3x3 _7_testMatrix3x3 : packoffset(c4);
7    float4 _7_testInputs : packoffset(c7);
8};
9
10
11static float4 sk_FragColor;
12
13struct SPIRV_Cross_Output
14{
15    float4 sk_FragColor : SV_Target0;
16};
17
18float4 main(float2 _24)
19{
20    float2x2 _28 = float2x2(_7_testMatrix2x2[0] * _7_testMatrix2x2[1].x, _7_testMatrix2x2[0] * _7_testMatrix2x2[1].y);
21    float2 _49 = _28[0];
22    float2 _52 = _28[1];
23    bool _89 = false;
24    if (all(bool2(_49.x == float2(3.0f, 6.0f).x, _49.y == float2(3.0f, 6.0f).y)) && all(bool2(_52.x == float2(4.0f, 8.0f).x, _52.y == float2(4.0f, 8.0f).y)))
25    {
26        float3x3 _58 = float3x3(_7_testMatrix3x3[0] * _7_testMatrix3x3[1].x, _7_testMatrix3x3[0] * _7_testMatrix3x3[1].y, _7_testMatrix3x3[0] * _7_testMatrix3x3[1].z);
27        float3 _78 = _58[0];
28        float3 _81 = _58[1];
29        float3 _85 = _58[2];
30        _89 = (all(bool3(_78.x == float3(4.0f, 8.0f, 12.0f).x, _78.y == float3(4.0f, 8.0f, 12.0f).y, _78.z == float3(4.0f, 8.0f, 12.0f).z)) && all(bool3(_81.x == float3(5.0f, 10.0f, 15.0f).x, _81.y == float3(5.0f, 10.0f, 15.0f).y, _81.z == float3(5.0f, 10.0f, 15.0f).z))) && all(bool3(_85.x == float3(6.0f, 12.0f, 18.0f).x, _85.y == float3(6.0f, 12.0f, 18.0f).y, _85.z == float3(6.0f, 12.0f, 18.0f).z));
31    }
32    else
33    {
34        _89 = false;
35    }
36    bool _114 = false;
37    if (_89)
38    {
39        float3x2 _92 = float3x2(_7_testMatrix2x2[0] * _7_testMatrix3x3[1].x, _7_testMatrix2x2[0] * _7_testMatrix3x3[1].y, _7_testMatrix2x2[0] * _7_testMatrix3x3[1].z);
40        float2 _103 = _92[0];
41        float2 _106 = _92[1];
42        float2 _110 = _92[2];
43        _114 = (all(bool2(_103.x == float2(4.0f, 8.0f).x, _103.y == float2(4.0f, 8.0f).y)) && all(bool2(_106.x == float2(5.0f, 10.0f).x, _106.y == float2(5.0f, 10.0f).y))) && all(bool2(_110.x == float2(6.0f, 12.0f).x, _110.y == float2(6.0f, 12.0f).y));
44    }
45    else
46    {
47        _114 = false;
48    }
49    bool _152 = false;
50    if (_114)
51    {
52        float4x4 _117 = float4x4(_7_testInputs * float4(1.0f, 0.0f, 0.0f, 2.0f).x, _7_testInputs * float4(1.0f, 0.0f, 0.0f, 2.0f).y, _7_testInputs * float4(1.0f, 0.0f, 0.0f, 2.0f).z, _7_testInputs * float4(1.0f, 0.0f, 0.0f, 2.0f).w);
53        float4 _137 = _117[0];
54        float4 _140 = _117[1];
55        float4 _144 = _117[2];
56        float4 _148 = _117[3];
57        _152 = ((all(bool4(_137.x == float4(-1.25f, 0.0f, 0.75f, 2.25f).x, _137.y == float4(-1.25f, 0.0f, 0.75f, 2.25f).y, _137.z == float4(-1.25f, 0.0f, 0.75f, 2.25f).z, _137.w == float4(-1.25f, 0.0f, 0.75f, 2.25f).w)) && all(bool4(_140.x == 0.0f.xxxx.x, _140.y == 0.0f.xxxx.y, _140.z == 0.0f.xxxx.z, _140.w == 0.0f.xxxx.w))) && all(bool4(_144.x == 0.0f.xxxx.x, _144.y == 0.0f.xxxx.y, _144.z == 0.0f.xxxx.z, _144.w == 0.0f.xxxx.w))) && all(bool4(_148.x == float4(-2.5f, 0.0f, 1.5f, 4.5f).x, _148.y == float4(-2.5f, 0.0f, 1.5f, 4.5f).y, _148.z == float4(-2.5f, 0.0f, 1.5f, 4.5f).z, _148.w == float4(-2.5f, 0.0f, 1.5f, 4.5f).w));
58    }
59    else
60    {
61        _152 = false;
62    }
63    bool _168 = false;
64    if (_152)
65    {
66        float2x4 _155 = float2x4(_7_testInputs * float2(1.0f, 2.0f).x, _7_testInputs * float2(1.0f, 2.0f).y);
67        float4 _161 = _155[0];
68        float4 _164 = _155[1];
69        _168 = all(bool4(_161.x == float4(-1.25f, 0.0f, 0.75f, 2.25f).x, _161.y == float4(-1.25f, 0.0f, 0.75f, 2.25f).y, _161.z == float4(-1.25f, 0.0f, 0.75f, 2.25f).z, _161.w == float4(-1.25f, 0.0f, 0.75f, 2.25f).w)) && all(bool4(_164.x == float4(-2.5f, 0.0f, 1.5f, 4.5f).x, _164.y == float4(-2.5f, 0.0f, 1.5f, 4.5f).y, _164.z == float4(-2.5f, 0.0f, 1.5f, 4.5f).z, _164.w == float4(-2.5f, 0.0f, 1.5f, 4.5f).w));
70    }
71    else
72    {
73        _168 = false;
74    }
75    bool _194 = false;
76    if (_168)
77    {
78        float4x2 _171 = float4x2(float2(1.0f, 2.0f) * _7_testInputs.x, float2(1.0f, 2.0f) * _7_testInputs.y, float2(1.0f, 2.0f) * _7_testInputs.z, float2(1.0f, 2.0f) * _7_testInputs.w);
79        float2 _179 = _171[0];
80        float2 _182 = _171[1];
81        float2 _186 = _171[2];
82        float2 _190 = _171[3];
83        _194 = ((all(bool2(_179.x == float2(-1.25f, -2.5f).x, _179.y == float2(-1.25f, -2.5f).y)) && all(bool2(_182.x == 0.0f.xx.x, _182.y == 0.0f.xx.y))) && all(bool2(_186.x == float2(0.75f, 1.5f).x, _186.y == float2(0.75f, 1.5f).y))) && all(bool2(_190.x == float2(2.25f, 4.5f).x, _190.y == float2(2.25f, 4.5f).y));
84    }
85    else
86    {
87        _194 = false;
88    }
89    float4 _195 = 0.0f.xxxx;
90    if (_194)
91    {
92        _195 = _7_colorGreen;
93    }
94    else
95    {
96        _195 = _7_colorRed;
97    }
98    return _195;
99}
100
101void frag_main()
102{
103    float2 _20 = 0.0f.xx;
104    sk_FragColor = main(_20);
105}
106
107SPIRV_Cross_Output main()
108{
109    frag_main();
110    SPIRV_Cross_Output stage_output;
111    stage_output.sk_FragColor = sk_FragColor;
112    return stage_output;
113}
114