1#include <metal_stdlib> 2#include <simd/simd.h> 3#ifdef __clang__ 4#pragma clang diagnostic ignored "-Wall" 5#endif 6using namespace metal; 7struct Inputs { 8}; 9struct Outputs { 10 half4 sk_FragColor [[color(0)]]; 11 uint sk_SampleMask [[sample_mask]]; 12}; 13half4 samplemaskin_as_color_h4(uint sk_SampleMaskIn) { 14 return half4(half(sk_SampleMaskIn)); 15} 16void clear_samplemask_v(thread Outputs& _out) { 17 _out.sk_SampleMask = 0u; 18} 19void reset_samplemask_v(thread Outputs& _out, uint sk_SampleMaskIn) { 20 _out.sk_SampleMask = sk_SampleMaskIn; 21} 22fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]], uint sk_SampleMaskIn [[sample_mask]]) { 23 Outputs _out; 24 (void)_out; 25 clear_samplemask_v(_out); 26 reset_samplemask_v(_out, sk_SampleMaskIn); 27 _out.sk_SampleMask = 4294967295u; 28 _out.sk_FragColor = samplemaskin_as_color_h4(sk_SampleMaskIn) * 0.00390625h; 29 return _out; 30} 31