mirror of
https://github.com/libretro/RetroArch
synced 2025-02-03 08:54:13 +00:00
24 lines
904 B
Plaintext
24 lines
904 B
Plaintext
|
#include <metal_stdlib>
|
||
|
#include <simd/simd.h>
|
||
|
|
||
|
using namespace metal;
|
||
|
|
||
|
struct SSBO
|
||
|
{
|
||
|
float FragColor;
|
||
|
};
|
||
|
|
||
|
kernel void main0(device SSBO& _9 [[buffer(0)]], uint gl_NumSubgroups [[quadgroups_per_threadgroup]], uint gl_SubgroupID [[quadgroup_index_in_threadgroup]], uint gl_SubgroupSize [[thread_execution_width]], uint gl_SubgroupInvocationID [[thread_index_in_quadgroup]])
|
||
|
{
|
||
|
_9.FragColor = float(gl_NumSubgroups);
|
||
|
_9.FragColor = float(gl_SubgroupID);
|
||
|
_9.FragColor = float(gl_SubgroupSize);
|
||
|
_9.FragColor = float(gl_SubgroupInvocationID);
|
||
|
simdgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup | mem_flags::mem_texture);
|
||
|
simdgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup | mem_flags::mem_texture);
|
||
|
simdgroup_barrier(mem_flags::mem_device);
|
||
|
simdgroup_barrier(mem_flags::mem_threadgroup);
|
||
|
simdgroup_barrier(mem_flags::mem_texture);
|
||
|
}
|
||
|
|