#version 310 es
layout(local_size_x = 4) in;

void barrier_shared()
{
	memoryBarrierShared();
}

void full_barrier()
{
	memoryBarrier();
}

void image_barrier()
{
	memoryBarrierImage();
}

void buffer_barrier()
{
	memoryBarrierBuffer();
}

void group_barrier()
{
	groupMemoryBarrier();
}

void barrier_shared_exec()
{
	memoryBarrierShared();
	barrier();
}

void full_barrier_exec()
{
	memoryBarrier();
	barrier();
}

void image_barrier_exec()
{
	memoryBarrierImage();
	barrier();
}

void buffer_barrier_exec()
{
	memoryBarrierBuffer();
	barrier();
}

void group_barrier_exec()
{
	groupMemoryBarrier();
	barrier();
}

void exec_barrier()
{
	barrier();
}

void 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();
}