1#include <metal_stdlib> 2#include <simd/simd.h> 3 4using namespace metal; 5 6constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(4u, 1u, 1u); 7 8kernel void main0() 9{ 10 threadgroup_barrier(mem_flags::mem_threadgroup); 11 threadgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup | mem_flags::mem_texture); 12 threadgroup_barrier(mem_flags::mem_texture); 13 threadgroup_barrier(mem_flags::mem_device); 14 threadgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup | mem_flags::mem_texture); 15 threadgroup_barrier(mem_flags::mem_threadgroup); 16 threadgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup | mem_flags::mem_texture); 17 threadgroup_barrier(mem_flags::mem_texture); 18 threadgroup_barrier(mem_flags::mem_device); 19 threadgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup | mem_flags::mem_texture); 20 threadgroup_barrier(mem_flags::mem_threadgroup); 21} 22 23