1cb93a386Sopenharmony_ci#include <metal_stdlib> 2cb93a386Sopenharmony_ci#include <simd/simd.h> 3cb93a386Sopenharmony_ciusing namespace metal; 4cb93a386Sopenharmony_cistruct Inputs { 5cb93a386Sopenharmony_ci float2 vLocalCoord_Stage0 [[user(locn0)]]; 6cb93a386Sopenharmony_ci}; 7cb93a386Sopenharmony_cistruct Outputs { 8cb93a386Sopenharmony_ci half4 sk_FragColor [[color(0)]]; 9cb93a386Sopenharmony_ci}; 10cb93a386Sopenharmony_cistruct uniformBuffer { 11cb93a386Sopenharmony_ci float4 sk_RTAdjust; 12cb93a386Sopenharmony_ci half2 uIncrement_Stage1_c0; 13cb93a386Sopenharmony_ci char pad0[12]; 14cb93a386Sopenharmony_ci array<half4, 7> uKernel_Stage1_c0; 15cb93a386Sopenharmony_ci char pad1[56]; 16cb93a386Sopenharmony_ci float3x3 umatrix_Stage1_c0_c0; 17cb93a386Sopenharmony_ci half4 uborder_Stage1_c0_c0_c0; 18cb93a386Sopenharmony_ci char pad2[8]; 19cb93a386Sopenharmony_ci float4 usubset_Stage1_c0_c0_c0; 20cb93a386Sopenharmony_ci float4 unorm_Stage1_c0_c0_c0; 21cb93a386Sopenharmony_ci}; 22cb93a386Sopenharmony_cistruct Globals { 23cb93a386Sopenharmony_ci constant uniformBuffer* _anonInterface0; 24cb93a386Sopenharmony_ci texture2d<half> uTextureSampler_0_Stage1; 25cb93a386Sopenharmony_ci sampler uTextureSampler_0_Stage1Smplr; 26cb93a386Sopenharmony_ci}; 27cb93a386Sopenharmony_cihalf4 MatrixEffect_Stage1_c0_c0_h4h4f2(thread Globals& _globals, half4 _input, float2 _coords) { 28cb93a386Sopenharmony_ci float2 _1_inCoord = (_globals._anonInterface0->umatrix_Stage1_c0_c0 * float3(_coords, 1.0)).xy; 29cb93a386Sopenharmony_ci _1_inCoord *= _globals._anonInterface0->unorm_Stage1_c0_c0_c0.xy; 30cb93a386Sopenharmony_ci float2 _2_subsetCoord; 31cb93a386Sopenharmony_ci _2_subsetCoord.x = _1_inCoord.x; 32cb93a386Sopenharmony_ci _2_subsetCoord.y = _1_inCoord.y; 33cb93a386Sopenharmony_ci float2 _3_clampedCoord; 34cb93a386Sopenharmony_ci _3_clampedCoord = _2_subsetCoord; 35cb93a386Sopenharmony_ci half4 _4_textureColor = _globals.uTextureSampler_0_Stage1.sample(_globals.uTextureSampler_0_Stage1Smplr, _3_clampedCoord * _globals._anonInterface0->unorm_Stage1_c0_c0_c0.zw); 36cb93a386Sopenharmony_ci float _5_snappedX = floor(_1_inCoord.x + 0.0010000000474974513) + 0.5; 37cb93a386Sopenharmony_ci if (_5_snappedX < _globals._anonInterface0->usubset_Stage1_c0_c0_c0.x || _5_snappedX > _globals._anonInterface0->usubset_Stage1_c0_c0_c0.z) { 38cb93a386Sopenharmony_ci _4_textureColor = _globals._anonInterface0->uborder_Stage1_c0_c0_c0; 39cb93a386Sopenharmony_ci } 40cb93a386Sopenharmony_ci return _4_textureColor; 41cb93a386Sopenharmony_ci} 42cb93a386Sopenharmony_cifragment Outputs fragmentMain(Inputs _in [[stage_in]], texture2d<half> uTextureSampler_0_Stage1[[texture(0)]], sampler uTextureSampler_0_Stage1Smplr[[sampler(0)]], constant uniformBuffer& _anonInterface0 [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) { 43cb93a386Sopenharmony_ci Globals _globals{&_anonInterface0, uTextureSampler_0_Stage1, uTextureSampler_0_Stage1Smplr}; 44cb93a386Sopenharmony_ci (void)_globals; 45cb93a386Sopenharmony_ci Outputs _out; 46cb93a386Sopenharmony_ci (void)_out; 47cb93a386Sopenharmony_ci half4 outputColor_Stage0; 48cb93a386Sopenharmony_ci half4 outputCoverage_Stage0; 49cb93a386Sopenharmony_ci { 50cb93a386Sopenharmony_ci outputColor_Stage0 = half4(1.0h); 51cb93a386Sopenharmony_ci outputCoverage_Stage0 = half4(1.0h); 52cb93a386Sopenharmony_ci } 53cb93a386Sopenharmony_ci half4 output_Stage1; 54cb93a386Sopenharmony_ci half4 _6_output; 55cb93a386Sopenharmony_ci _6_output = half4(0.0h, 0.0h, 0.0h, 0.0h); 56cb93a386Sopenharmony_ci float2 _7_coord = _in.vLocalCoord_Stage0 - float2(12.0h * _globals._anonInterface0->uIncrement_Stage1_c0); 57cb93a386Sopenharmony_ci float2 _8_coordSampled = float2(0.0, 0.0); 58cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 59cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].x; 60cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 61cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 62cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].y; 63cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 64cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 65cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].z; 66cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 67cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 68cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].w; 69cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 70cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 71cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].x; 72cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 73cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 74cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].y; 75cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 76cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 77cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].z; 78cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 79cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 80cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].w; 81cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 82cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 83cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].x; 84cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 85cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 86cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].y; 87cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 88cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 89cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].z; 90cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 91cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 92cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].w; 93cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 94cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 95cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].x; 96cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 97cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 98cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].y; 99cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 100cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 101cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].z; 102cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 103cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 104cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].w; 105cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 106cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 107cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].x; 108cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 109cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 110cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].y; 111cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 112cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 113cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].z; 114cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 115cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 116cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].w; 117cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 118cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 119cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].x; 120cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 121cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 122cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].y; 123cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 124cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 125cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].z; 126cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 127cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 128cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].w; 129cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 130cb93a386Sopenharmony_ci _8_coordSampled = _7_coord; 131cb93a386Sopenharmony_ci _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[6].x; 132cb93a386Sopenharmony_ci _7_coord += float2(_globals._anonInterface0->uIncrement_Stage1_c0); 133cb93a386Sopenharmony_ci _6_output *= outputColor_Stage0; 134cb93a386Sopenharmony_ci output_Stage1 = _6_output; 135cb93a386Sopenharmony_ci { 136cb93a386Sopenharmony_ci _out.sk_FragColor = output_Stage1 * outputCoverage_Stage0; 137cb93a386Sopenharmony_ci } 138cb93a386Sopenharmony_ci return _out; 139cb93a386Sopenharmony_ci} 140