blob: 11a5eed16bfba35ce36f72b718812dbce8bb0c1d [file] [edit]
#version 450
#extension GL_KHR_memory_scope_semantics : require
#extension GL_EXT_split_barrier : require
shared uint value;
layout (binding = 0) buffer BufferU { coherent uint x; } bufferu;
layout(binding = 1, r32ui) coherent uniform uimage2D imageu;
void main()
{
uint origu;
// Volatile must not be used with memoryBarrier or controlBarrier
controlBarrierArrive(gl_ScopeWorkgroup, gl_ScopeWorkgroup, 0, gl_SemanticsRelease | gl_SemanticsVolatile);
controlBarrierWait(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsBuffer, gl_SemanticsAcquire);
}