SPIRV-Cross/reference/shaders-hlsl/comp/barriers.comp

82 lines
1.1 KiB
Plaintext
Raw Normal View History

static const uint3 gl_WorkGroupSize = uint3(4u, 1u, 1u);
void barrier_shared()
{
2018-01-09 11:41:13 +00:00
GroupMemoryBarrier();
}
void full_barrier()
{
2018-01-09 11:41:13 +00:00
AllMemoryBarrier();
}
void image_barrier()
{
DeviceMemoryBarrier();
}
void buffer_barrier()
{
DeviceMemoryBarrier();
}
void group_barrier()
{
2018-01-09 11:41:13 +00:00
AllMemoryBarrier();
}
void barrier_shared_exec()
{
2018-01-09 11:41:13 +00:00
GroupMemoryBarrierWithGroupSync();
}
void full_barrier_exec()
{
2018-01-09 11:41:13 +00:00
AllMemoryBarrier();
GroupMemoryBarrierWithGroupSync();
}
void image_barrier_exec()
{
DeviceMemoryBarrier();
2018-01-09 11:41:13 +00:00
GroupMemoryBarrierWithGroupSync();
}
void buffer_barrier_exec()
{
DeviceMemoryBarrier();
2018-01-09 11:41:13 +00:00
GroupMemoryBarrierWithGroupSync();
}
void group_barrier_exec()
{
2018-01-09 11:41:13 +00:00
AllMemoryBarrier();
GroupMemoryBarrierWithGroupSync();
}
void exec_barrier()
{
2018-01-09 11:41:13 +00:00
GroupMemoryBarrierWithGroupSync();
}
void comp_main()
{
barrier_shared();
full_barrier();
image_barrier();
buffer_barrier();
group_barrier();
barrier_shared_exec();
full_barrier_exec();
image_barrier_exec();
buffer_barrier_exec();
group_barrier_exec();
exec_barrier();
}
[numthreads(4, 1, 1)]
void main()
{
comp_main();
}