diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2020-11-23 18:26:33 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2020-11-23 18:26:33 +0300 |
commit | c5826b4b69f94ca8584371b053bbb157b201c595 (patch) | |
tree | 14a11637b283b35f5958ed53335711a2e03fd34c /reference/opt/shaders/vulkan | |
parent | 650b5e1b12eb68b881b75b64e33b6077abfe5ea9 (diff) |
GLSL: Emit storage qualifiers for buffer_reference.
Diffstat (limited to 'reference/opt/shaders/vulkan')
-rw-r--r-- | reference/opt/shaders/vulkan/comp/buffer-reference-decorations.nocompat.vk.comp.vk | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/reference/opt/shaders/vulkan/comp/buffer-reference-decorations.nocompat.vk.comp.vk b/reference/opt/shaders/vulkan/comp/buffer-reference-decorations.nocompat.vk.comp.vk new file mode 100644 index 00000000..5b3cf49e --- /dev/null +++ b/reference/opt/shaders/vulkan/comp/buffer-reference-decorations.nocompat.vk.comp.vk @@ -0,0 +1,35 @@ +#version 450 +#extension GL_EXT_buffer_reference : require +layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in; + +layout(buffer_reference) buffer RO; +layout(buffer_reference) buffer RW; +layout(buffer_reference) buffer WO; +layout(buffer_reference, std430) readonly buffer RO +{ + vec4 v[]; +}; + +layout(buffer_reference, std430) restrict buffer RW +{ + vec4 v[]; +}; + +layout(buffer_reference, std430) coherent writeonly buffer WO +{ + vec4 v[]; +}; + +layout(push_constant, std430) uniform Registers +{ + RO ro; + RW rw; + WO wo; +} registers; + +void main() +{ + registers.rw.v[gl_GlobalInvocationID.x] = registers.ro.v[gl_GlobalInvocationID.x]; + registers.wo.v[gl_GlobalInvocationID.x] = registers.ro.v[gl_GlobalInvocationID.x]; +} + |