Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2020-11-23 18:26:33 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2020-11-23 18:26:33 +0300
commitc5826b4b69f94ca8584371b053bbb157b201c595 (patch)
tree14a11637b283b35f5958ed53335711a2e03fd34c /reference/opt/shaders/vulkan
parent650b5e1b12eb68b881b75b64e33b6077abfe5ea9 (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.vk35
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];
+}
+