1cb93a386Sopenharmony_ci#include <metal_stdlib> 2cb93a386Sopenharmony_ci#include <simd/simd.h> 3cb93a386Sopenharmony_ciusing namespace metal; 4cb93a386Sopenharmony_cistruct Inputs { 5cb93a386Sopenharmony_ci}; 6cb93a386Sopenharmony_cistruct Outputs { 7cb93a386Sopenharmony_ci half4 sk_FragColor [[color(0)]]; 8cb93a386Sopenharmony_ci}; 9cb93a386Sopenharmony_cistruct Globals { 10cb93a386Sopenharmony_ci texture2d<half> tex; 11cb93a386Sopenharmony_ci sampler texSmplr; 12cb93a386Sopenharmony_ci}; 13cb93a386Sopenharmony_cifragment Outputs fragmentMain(Inputs _in [[stage_in]], texture2d<half> tex[[texture(0)]], sampler texSmplr[[sampler(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) { 14cb93a386Sopenharmony_ci Globals _globals{tex, texSmplr}; 15cb93a386Sopenharmony_ci (void)_globals; 16cb93a386Sopenharmony_ci Outputs _out; 17cb93a386Sopenharmony_ci (void)_out; 18cb93a386Sopenharmony_ci float3 _skTemp0; 19cb93a386Sopenharmony_ci float4 a = float4(_globals.tex.sample(_globals.texSmplr, float2(0.0))); 20cb93a386Sopenharmony_ci float4 b = float4(_globals.tex.sample(_globals.texSmplr, (_skTemp0 = float3(0.0), _skTemp0.xy / _skTemp0.z))); 21cb93a386Sopenharmony_ci _out.sk_FragColor = half4(half2(a.xy), half2(b.zw)); 22cb93a386Sopenharmony_ci return _out; 23cb93a386Sopenharmony_ci} 24