yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

Wooyoung KimGLSL_EXT_split_barrier / SPV_EXT_split_barrierb8a8b3ed

main
1.3 KiB24 linesraw
1#version 450
2#extension GL_KHR_memory_scope_semantics : require
3#extension GL_EXT_split_barrier : require
4#extension GL_ARB_gpu_shader_int64 : require
5
6#pragma use_vulkan_memory_model
7
8void main()
9{
10    controlBarrierArrive(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsNone, gl_SemanticsRelaxed);
11    controlBarrierWait(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsNone, gl_SemanticsRelaxed);
12
13    controlBarrierArrive(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsBuffer, gl_SemanticsRelease);
14    controlBarrierWait(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsBuffer, gl_SemanticsAcquire);
15
16    controlBarrierArrive(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsImage, gl_SemanticsRelease);
17    controlBarrierWait(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsImage, gl_SemanticsAcquire);
18
19    controlBarrierArrive(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsOutput, gl_SemanticsRelease);
20    controlBarrierWait(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsOutput, gl_SemanticsAcquire);
21
22    controlBarrierArrive(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsRelease);
23    controlBarrierWait(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquire);
24}