From 6fcf8c83d9162fc9e4bfc3c4026ee04857088b9d Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Thu, 9 May 2019 10:27:28 +0200 Subject: GLSL: Support OpBitcast for buffer references. Update glslang/SPIRV-Tools/SPIRV-Headers references. --- .../comp/buffer-reference-bitcast.nocompat.vk.comp | 22 ++++++++++++++++++++++ .../vulkan/comp/buffer-reference.nocompat.vk.comp | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 shaders/vulkan/comp/buffer-reference-bitcast.nocompat.vk.comp (limited to 'shaders') diff --git a/shaders/vulkan/comp/buffer-reference-bitcast.nocompat.vk.comp b/shaders/vulkan/comp/buffer-reference-bitcast.nocompat.vk.comp new file mode 100644 index 00000000..eda904ee --- /dev/null +++ b/shaders/vulkan/comp/buffer-reference-bitcast.nocompat.vk.comp @@ -0,0 +1,22 @@ +#version 450 +#extension GL_EXT_buffer_reference: require + +layout(buffer_reference) buffer PtrUint +{ + uint value; +}; + +layout(buffer_reference) buffer PtrInt +{ + int value; +}; + +layout(set = 0, binding = 0) buffer Buf +{ + PtrUint ptr; +}; + +void main() +{ + PtrInt(ptr).value = 10; +} diff --git a/shaders/vulkan/comp/buffer-reference.nocompat.vk.comp b/shaders/vulkan/comp/buffer-reference.nocompat.vk.comp index 624b8c0a..f08e1113 100644 --- a/shaders/vulkan/comp/buffer-reference.nocompat.vk.comp +++ b/shaders/vulkan/comp/buffer-reference.nocompat.vk.comp @@ -21,7 +21,7 @@ void copy_node(restrict Node dst, restrict Node a, restrict Node b) dst.value = a.value + b.value; } -void overwrite_node(out Node dst, Node src) +void overwrite_node(out restrict Node dst, restrict Node src) { dst = src; } -- cgit v1.2.3