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