xref: /aosp_15_r20/external/skia/tests/sksl/shared/OutParamsDoubleSwizzle.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workercbuffer _UniformBuffer : register(b0, space0)
2*c8dee2aaSAndroid Build Coastguard Worker{
3*c8dee2aaSAndroid Build Coastguard Worker    float4 _9_colorGreen : packoffset(c0);
4*c8dee2aaSAndroid Build Coastguard Worker    float4 _9_colorRed : packoffset(c1);
5*c8dee2aaSAndroid Build Coastguard Worker};
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor;
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output
11*c8dee2aaSAndroid Build Coastguard Worker{
12*c8dee2aaSAndroid Build Coastguard Worker    float4 sk_FragColor : SV_Target0;
13*c8dee2aaSAndroid Build Coastguard Worker};
14*c8dee2aaSAndroid Build Coastguard Worker
15*c8dee2aaSAndroid Build Coastguard Workerfloat2 swizzle_lvalue_h2hhh2h(float _24, float _25, inout float2 _26, float _27)
16*c8dee2aaSAndroid Build Coastguard Worker{
17*c8dee2aaSAndroid Build Coastguard Worker    _26 = float2(_26.y, _26.x);
18*c8dee2aaSAndroid Build Coastguard Worker    return float2(_24 + _25, _27);
19*c8dee2aaSAndroid Build Coastguard Worker}
20*c8dee2aaSAndroid Build Coastguard Worker
21*c8dee2aaSAndroid Build Coastguard Workervoid func_vh4(inout float4 _39)
22*c8dee2aaSAndroid Build Coastguard Worker{
23*c8dee2aaSAndroid Build Coastguard Worker    float _43 = 1.0f;
24*c8dee2aaSAndroid Build Coastguard Worker    float _45 = 2.0f;
25*c8dee2aaSAndroid Build Coastguard Worker    float2 _48 = _39.xz;
26*c8dee2aaSAndroid Build Coastguard Worker    float _50 = 5.0f;
27*c8dee2aaSAndroid Build Coastguard Worker    float2 _51 = swizzle_lvalue_h2hhh2h(_43, _45, _48, _50);
28*c8dee2aaSAndroid Build Coastguard Worker    _39 = float4(_48.x, _39.y, _48.y, _39.w);
29*c8dee2aaSAndroid Build Coastguard Worker    float2 t = _51;
30*c8dee2aaSAndroid Build Coastguard Worker    _39 = float4(_39.x, _51.x, _39.z, _51.y);
31*c8dee2aaSAndroid Build Coastguard Worker}
32*c8dee2aaSAndroid Build Coastguard Worker
33*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _58)
34*c8dee2aaSAndroid Build Coastguard Worker{
35*c8dee2aaSAndroid Build Coastguard Worker    float4 result = float4(0.0f, 1.0f, 2.0f, 3.0f);
36*c8dee2aaSAndroid Build Coastguard Worker    float4 _63 = float4(0.0f, 1.0f, 2.0f, 3.0f);
37*c8dee2aaSAndroid Build Coastguard Worker    func_vh4(_63);
38*c8dee2aaSAndroid Build Coastguard Worker    result = _63;
39*c8dee2aaSAndroid Build Coastguard Worker    float4 _71 = 0.0f.xxxx;
40*c8dee2aaSAndroid Build Coastguard Worker    if (all(bool4(_63.x == float4(2.0f, 3.0f, 0.0f, 5.0f).x, _63.y == float4(2.0f, 3.0f, 0.0f, 5.0f).y, _63.z == float4(2.0f, 3.0f, 0.0f, 5.0f).z, _63.w == float4(2.0f, 3.0f, 0.0f, 5.0f).w)))
41*c8dee2aaSAndroid Build Coastguard Worker    {
42*c8dee2aaSAndroid Build Coastguard Worker        _71 = _9_colorGreen;
43*c8dee2aaSAndroid Build Coastguard Worker    }
44*c8dee2aaSAndroid Build Coastguard Worker    else
45*c8dee2aaSAndroid Build Coastguard Worker    {
46*c8dee2aaSAndroid Build Coastguard Worker        _71 = _9_colorRed;
47*c8dee2aaSAndroid Build Coastguard Worker    }
48*c8dee2aaSAndroid Build Coastguard Worker    return _71;
49*c8dee2aaSAndroid Build Coastguard Worker}
50*c8dee2aaSAndroid Build Coastguard Worker
51*c8dee2aaSAndroid Build Coastguard Workervoid frag_main()
52*c8dee2aaSAndroid Build Coastguard Worker{
53*c8dee2aaSAndroid Build Coastguard Worker    float2 _19 = 0.0f.xx;
54*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor = main(_19);
55*c8dee2aaSAndroid Build Coastguard Worker}
56*c8dee2aaSAndroid Build Coastguard Worker
57*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main()
58*c8dee2aaSAndroid Build Coastguard Worker{
59*c8dee2aaSAndroid Build Coastguard Worker    frag_main();
60*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
61*c8dee2aaSAndroid Build Coastguard Worker    stage_output.sk_FragColor = sk_FragColor;
62*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
63*c8dee2aaSAndroid Build Coastguard Worker}
64