| #version 310 es |
| layout(local_size_x = 4) in; |
| |
| void barrier_shared() |
| { |
| memoryBarrierShared(); |
| } |
| |
| void full_barrier() |
| { |
| memoryBarrier(); |
| } |
| |
| #if 0 |
| void image_barrier() |
| { |
| memoryBarrierImage(); |
| } |
| #endif |
| |
| void buffer_barrier() |
| { |
| memoryBarrierBuffer(); |
| } |
| |
| void group_barrier() |
| { |
| groupMemoryBarrier(); |
| } |
| |
| void barrier_shared_exec() |
| { |
| memoryBarrierShared(); |
| barrier(); |
| } |
| |
| void full_barrier_exec() |
| { |
| memoryBarrier(); |
| barrier(); |
| } |
| |
| #if 0 |
| void image_barrier_exec() |
| { |
| memoryBarrierImage(); |
| barrier(); |
| } |
| #endif |
| |
| 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(); |
| } |