| #version 460 |
| |
| #pragma use_vulkan_memory_model |
| |
| #extension GL_EXT_nontemporal_keyword: require |
| |
| layout(binding=0) buffer nontemporal NONTEMPORAL_BUFFER { |
| int b_i; |
| int b_o; |
| }; |
| layout(binding=1) buffer BUFFER_NONTEMPORAL { |
| nontemporal int bntemp_i; |
| nontemporal int bntemp_o; |
| }; |
| layout(binding=2) uniform nontemporal NONTEMPORAL_UNIFORMS { |
| ivec2 u_uv; |
| }; |
| layout(binding=3) buffer nontemporal NONTEMPORAL_ATOMIC { |
| int bn_atom; |
| }; |
| layout(binding=4) buffer ATOMIC_NONTEMPORAL { |
| nontemporal int b_natom; |
| int b_atom; |
| }; |
| layout(binding=5, rgba8) uniform readonly image2D u_image; |
| |
| layout(location=0) out vec4 out_color; |
| |
| void main() { |
| b_o = b_i; |
| bntemp_i = bntemp_o; |
| |
| atomicAdd(bn_atom, 1); |
| atomicAdd(b_natom, 1); |
| atomicAdd(b_atom, 1); |
| } |