xref: /aosp_15_r20/external/skia/tests/sksl/shared/FragCoords.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workercbuffer sksl_synthetic_uniforms : register(b0, space0)
2*c8dee2aaSAndroid Build Coastguard Worker{
3*c8dee2aaSAndroid Build Coastguard Worker    float2 _12_u_skRTFlip : packoffset(c1024);
4*c8dee2aaSAndroid Build Coastguard Worker};
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Workerstatic float4 gl_FragCoord;
8*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor;
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Input
11*c8dee2aaSAndroid Build Coastguard Worker{
12*c8dee2aaSAndroid Build Coastguard Worker    float4 gl_FragCoord : SV_Position;
13*c8dee2aaSAndroid Build Coastguard Worker};
14*c8dee2aaSAndroid Build Coastguard Worker
15*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output
16*c8dee2aaSAndroid Build Coastguard Worker{
17*c8dee2aaSAndroid Build Coastguard Worker    float4 sk_FragColor : SV_Target0;
18*c8dee2aaSAndroid Build Coastguard Worker};
19*c8dee2aaSAndroid Build Coastguard Worker
20*c8dee2aaSAndroid Build Coastguard Workervoid frag_main()
21*c8dee2aaSAndroid Build Coastguard Worker{
22*c8dee2aaSAndroid Build Coastguard Worker    float2 _34 = float4(gl_FragCoord.x, _12_u_skRTFlip.x + (_12_u_skRTFlip.y * gl_FragCoord.y), gl_FragCoord.zw).yx;
23*c8dee2aaSAndroid Build Coastguard Worker    sk_FragColor = float4(_34.x, _34.y, sk_FragColor.z, sk_FragColor.w);
24*c8dee2aaSAndroid Build Coastguard Worker}
25*c8dee2aaSAndroid Build Coastguard Worker
26*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
27*c8dee2aaSAndroid Build Coastguard Worker{
28*c8dee2aaSAndroid Build Coastguard Worker    gl_FragCoord = stage_input.gl_FragCoord;
29*c8dee2aaSAndroid Build Coastguard Worker    gl_FragCoord.w = 1.0 / gl_FragCoord.w;
30*c8dee2aaSAndroid Build Coastguard Worker    frag_main();
31*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
32*c8dee2aaSAndroid Build Coastguard Worker    stage_output.sk_FragColor = sk_FragColor;
33*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
34*c8dee2aaSAndroid Build Coastguard Worker}
35