xref: /aosp_15_r20/external/skia/tests/sksl/intrinsics/Cross.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workercbuffer _UniformBuffer : register(b0, space0)
2*c8dee2aaSAndroid Build Coastguard Worker{
3*c8dee2aaSAndroid Build Coastguard Worker    row_major float3x3 _7_testMatrix3x3 : packoffset(c0);
4*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorGreen : packoffset(c3);
5*c8dee2aaSAndroid Build Coastguard Worker    float4 _7_colorRed : packoffset(c4);
6*c8dee2aaSAndroid Build Coastguard Worker};
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor;
10*c8dee2aaSAndroid Build Coastguard Worker
11*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output
12*c8dee2aaSAndroid Build Coastguard Worker{
13*c8dee2aaSAndroid Build Coastguard Worker    float4 sk_FragColor : SV_Target0;
14*c8dee2aaSAndroid Build Coastguard Worker};
15*c8dee2aaSAndroid Build Coastguard Worker
16*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _23)
17*c8dee2aaSAndroid Build Coastguard Worker{
18*c8dee2aaSAndroid Build Coastguard Worker    float3 _27 = cross(_7_testMatrix3x3[0], _7_testMatrix3x3[1]);
19*c8dee2aaSAndroid Build Coastguard Worker    bool _59 = false;
20*c8dee2aaSAndroid Build Coastguard Worker    if (all(bool3(_27.x == float3(-3.0f, 6.0f, -3.0f).x, _27.y == float3(-3.0f, 6.0f, -3.0f).y, _27.z == float3(-3.0f, 6.0f, -3.0f).z)))
21*c8dee2aaSAndroid Build Coastguard Worker    {
22*c8dee2aaSAndroid Build Coastguard Worker        float3 _47 = cross(_7_testMatrix3x3[2], _7_testMatrix3x3[0]);
23*c8dee2aaSAndroid Build Coastguard Worker        _59 = all(bool3(_47.x == float3(6.0f, -12.0f, 6.0f).x, _47.y == float3(6.0f, -12.0f, 6.0f).y, _47.z == float3(6.0f, -12.0f, 6.0f).z));
24*c8dee2aaSAndroid Build Coastguard Worker    }
25*c8dee2aaSAndroid Build Coastguard Worker    else
26*c8dee2aaSAndroid Build Coastguard Worker    {
27*c8dee2aaSAndroid Build Coastguard Worker        _59 = false;
28*c8dee2aaSAndroid Build Coastguard Worker    }
29*c8dee2aaSAndroid Build Coastguard Worker    float4 _60 = 0.0f.xxxx;
30*c8dee2aaSAndroid Build Coastguard Worker    if (_59)
31*c8dee2aaSAndroid Build Coastguard Worker    {
32*c8dee2aaSAndroid Build Coastguard Worker        _60 = _7_colorGreen;
33*c8dee2aaSAndroid Build Coastguard Worker    }
34*c8dee2aaSAndroid Build Coastguard Worker    else
35*c8dee2aaSAndroid Build Coastguard Worker    {
36*c8dee2aaSAndroid Build Coastguard Worker        _60 = _7_colorRed;
37*c8dee2aaSAndroid Build Coastguard Worker    }
38*c8dee2aaSAndroid Build Coastguard Worker    return _60;
39*c8dee2aaSAndroid Build Coastguard Worker}
40*c8dee2aaSAndroid Build Coastguard Worker
41*c8dee2aaSAndroid Build Coastguard Workervoid frag_main()
42*c8dee2aaSAndroid Build Coastguard Worker{
43*c8dee2aaSAndroid Build Coastguard Worker    float2 _19 = 0.0f.xx;
44*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor = main(_19);
45*c8dee2aaSAndroid Build Coastguard Worker}
46*c8dee2aaSAndroid Build Coastguard Worker
47*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main()
48*c8dee2aaSAndroid Build Coastguard Worker{
49*c8dee2aaSAndroid Build Coastguard Worker    frag_main();
50*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
51*c8dee2aaSAndroid Build Coastguard Worker    stage_output.sk_FragColor = sk_FragColor;
52*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
53*c8dee2aaSAndroid Build Coastguard Worker}
54