xref: /aosp_15_r20/external/skia/tests/sksl/intrinsics/UintBitsToFloat.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1cbuffer _UniformBuffer : register(b0, space0)
2{
3    row_major float2x2 _7_testMatrix2x2 : packoffset(c0);
4    float4 _7_colorGreen : packoffset(c2);
5    float4 _7_colorRed : packoffset(c3);
6};
7
8
9static float4 sk_FragColor;
10
11struct SPIRV_Cross_Output
12{
13    float4 sk_FragColor : SV_Target0;
14};
15
16float4 main(float2 _22)
17{
18    float4 _39 = float4(_7_testMatrix2x2[0].x, _7_testMatrix2x2[0].y, _7_testMatrix2x2[1].x, _7_testMatrix2x2[1].y) * float4(1.0f, 1.0f, -1.0f, -1.0f);
19    float4 inputVal = _39;
20    uint4 expectedB = uint4(1065353216u, 1073741824u, 3225419776u, 3229614080u);
21    bool _63 = false;
22    if (_39.x == asfloat(1065353216u))
23    {
24        float2 _56 = _39.xy;
25        float2 _57 = asfloat(uint4(1065353216u, 1073741824u, 3225419776u, 3229614080u).xy);
26        _63 = all(bool2(_56.x == _57.x, _56.y == _57.y));
27    }
28    else
29    {
30        _63 = false;
31    }
32    bool _74 = false;
33    if (_63)
34    {
35        float3 _66 = _39.xyz;
36        float3 _68 = asfloat(uint4(1065353216u, 1073741824u, 3225419776u, 3229614080u).xyz);
37        _74 = all(bool3(_66.x == _68.x, _66.y == _68.y, _66.z == _68.z));
38    }
39    else
40    {
41        _74 = false;
42    }
43    bool _81 = false;
44    if (_74)
45    {
46        float4 _77 = asfloat(uint4(1065353216u, 1073741824u, 3225419776u, 3229614080u));
47        _81 = all(bool4(_39.x == _77.x, _39.y == _77.y, _39.z == _77.z, _39.w == _77.w));
48    }
49    else
50    {
51        _81 = false;
52    }
53    float4 _82 = 0.0f.xxxx;
54    if (_81)
55    {
56        _82 = _7_colorGreen;
57    }
58    else
59    {
60        _82 = _7_colorRed;
61    }
62    return _82;
63}
64
65void frag_main()
66{
67    float2 _18 = 0.0f.xx;
68    sk_FragColor = main(_18);
69}
70
71SPIRV_Cross_Output main()
72{
73    frag_main();
74    SPIRV_Cross_Output stage_output;
75    stage_output.sk_FragColor = sk_FragColor;
76    return stage_output;
77}
78