summaryrefslogtreecommitdiffstats
path: root/src/video_core/host_shaders/vulkan_uint8.comp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/host_shaders/vulkan_uint8.comp')
-rw-r--r--src/video_core/host_shaders/vulkan_uint8.comp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/video_core/host_shaders/vulkan_uint8.comp b/src/video_core/host_shaders/vulkan_uint8.comp
new file mode 100644
index 000000000..ad74d7af9
--- /dev/null
+++ b/src/video_core/host_shaders/vulkan_uint8.comp
@@ -0,0 +1,24 @@
+// Copyright 2019 yuzu Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#version 460 core
+#extension GL_EXT_shader_16bit_storage : require
+#extension GL_EXT_shader_8bit_storage : require
+
+layout (local_size_x = 1024) in;
+
+layout (std430, set = 0, binding = 0) readonly buffer InputBuffer {
+ uint8_t input_indexes[];
+};
+
+layout (std430, set = 0, binding = 1) writeonly buffer OutputBuffer {
+ uint16_t output_indexes[];
+};
+
+void main() {
+ uint id = gl_GlobalInvocationID.x;
+ if (id < input_indexes.length()) {
+ output_indexes[id] = uint16_t(input_indexes[id]);
+ }
+}