xref: /aosp_15_r20/external/skia/tests/sksl/intrinsics/Modf.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1cbuffer _UniformBuffer : register(b0, space0)
2{
3    float4 _7_colorGreen : packoffset(c0);
4    float4 _7_colorRed : packoffset(c1);
5};
6
7
8static float4 sk_FragColor;
9
10struct SPIRV_Cross_Output
11{
12    float4 sk_FragColor : SV_Target0;
13};
14
15float4 main(float2 _21)
16{
17    float4 value = float4(2.5f, -2.5f, 8.0f, -0.125f);
18    bool4 ok = bool4(false, false, false, false);
19    float4 whole = 0.0f.xxxx;
20    float _43 = 0.0f;
21    float _38 = modf(2.5f, _43);
22    whole.x = _43;
23    float4 fraction = 0.0f.xxxx;
24    fraction.x = _38;
25    bool _56 = false;
26    if (whole.x == 2.0f)
27    {
28        _56 = fraction.x == 0.5f;
29    }
30    else
31    {
32        _56 = false;
33    }
34    ok.x = _56;
35    float2 _62 = 0.0f.xx;
36    float2 _59 = modf(value.xy, _62);
37    float4 _64 = whole;
38    whole = float4(_62.x, _62.y, _64.z, _64.w);
39    float4 _66 = fraction;
40    fraction = float4(_59.x, _59.y, _66.z, _66.w);
41    bool _81 = false;
42    if (all(bool2(float4(_62.x, _62.y, _64.z, _64.w).xy.x == float2(2.0f, -2.0f).x, float4(_62.x, _62.y, _64.z, _64.w).xy.y == float2(2.0f, -2.0f).y)))
43    {
44        _81 = all(bool2(float4(_59.x, _59.y, _66.z, _66.w).xy.x == float2(0.5f, -0.5f).x, float4(_59.x, _59.y, _66.z, _66.w).xy.y == float2(0.5f, -0.5f).y));
45    }
46    else
47    {
48        _81 = false;
49    }
50    ok.y = _81;
51    float3 _88 = 0.0f.xxx;
52    float3 _84 = modf(value.xyz, _88);
53    float4 _91 = whole;
54    whole = float4(_88.x, _88.y, _88.z, _91.w);
55    float4 _93 = fraction;
56    fraction = float4(_84.x, _84.y, _84.z, _93.w);
57    bool _106 = false;
58    if (all(bool3(float4(_88.x, _88.y, _88.z, _91.w).xyz.x == float3(2.0f, -2.0f, 8.0f).x, float4(_88.x, _88.y, _88.z, _91.w).xyz.y == float3(2.0f, -2.0f, 8.0f).y, float4(_88.x, _88.y, _88.z, _91.w).xyz.z == float3(2.0f, -2.0f, 8.0f).z)))
59    {
60        _106 = all(bool3(float4(_84.x, _84.y, _84.z, _93.w).xyz.x == float3(0.5f, -0.5f, 0.0f).x, float4(_84.x, _84.y, _84.z, _93.w).xyz.y == float3(0.5f, -0.5f, 0.0f).y, float4(_84.x, _84.y, _84.z, _93.w).xyz.z == float3(0.5f, -0.5f, 0.0f).z));
61    }
62    else
63    {
64        _106 = false;
65    }
66    ok.z = _106;
67    float4 _111 = 0.0f.xxxx;
68    float4 _109 = modf(value, _111);
69    whole = _111;
70    fraction = _109;
71    bool _121 = false;
72    if (all(bool4(_111.x == float4(2.0f, -2.0f, 8.0f, 0.0f).x, _111.y == float4(2.0f, -2.0f, 8.0f, 0.0f).y, _111.z == float4(2.0f, -2.0f, 8.0f, 0.0f).z, _111.w == float4(2.0f, -2.0f, 8.0f, 0.0f).w)))
73    {
74        _121 = all(bool4(_109.x == float4(0.5f, -0.5f, 0.0f, -0.125f).x, _109.y == float4(0.5f, -0.5f, 0.0f, -0.125f).y, _109.z == float4(0.5f, -0.5f, 0.0f, -0.125f).z, _109.w == float4(0.5f, -0.5f, 0.0f, -0.125f).w));
75    }
76    else
77    {
78        _121 = false;
79    }
80    ok.w = _121;
81    float4 _126 = 0.0f.xxxx;
82    if (all(ok))
83    {
84        _126 = _7_colorGreen;
85    }
86    else
87    {
88        _126 = _7_colorRed;
89    }
90    return _126;
91}
92
93void frag_main()
94{
95    float2 _17 = 0.0f.xx;
96    sk_FragColor = main(_17);
97}
98
99SPIRV_Cross_Output main()
100{
101    frag_main();
102    SPIRV_Cross_Output stage_output;
103    stage_output.sk_FragColor = sk_FragColor;
104    return stage_output;
105}
106