summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/shaders/quad_indexed.comp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/shaders/quad_indexed.comp50
1 files changed, 0 insertions, 50 deletions
diff --git a/src/video_core/renderer_vulkan/shaders/quad_indexed.comp b/src/video_core/renderer_vulkan/shaders/quad_indexed.comp
deleted file mode 100644
index 5a472ba9b..000000000
--- a/src/video_core/renderer_vulkan/shaders/quad_indexed.comp
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2020 yuzu Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-/*
- * Build instructions:
- * $ glslangValidator -V quad_indexed.comp -o output.spv
- * $ spirv-opt -O --strip-debug output.spv -o optimized.spv
- * $ xxd -i optimized.spv
- *
- * Then copy that bytecode to the C++ file
- */
-
-#version 460 core
-
-layout (local_size_x = 1024) in;
-
-layout (std430, set = 0, binding = 0) readonly buffer InputBuffer {
- uint input_indexes[];
-};
-
-layout (std430, set = 0, binding = 1) writeonly buffer OutputBuffer {
- uint output_indexes[];
-};
-
-layout (push_constant) uniform PushConstants {
- uint base_vertex;
- int index_shift; // 0: uint8, 1: uint16, 2: uint32
-};
-
-void main() {
- int primitive = int(gl_GlobalInvocationID.x);
- if (primitive * 6 >= output_indexes.length()) {
- return;
- }
-
- int index_size = 8 << index_shift;
- int flipped_shift = 2 - index_shift;
- int mask = (1 << flipped_shift) - 1;
-
- const int quad_swizzle[6] = int[](0, 1, 2, 0, 2, 3);
- for (uint vertex = 0; vertex < 6; ++vertex) {
- int offset = primitive * 4 + quad_swizzle[vertex];
- int int_offset = offset >> flipped_shift;
- int bit_offset = (offset & mask) * index_size;
- uint packed_input = input_indexes[int_offset];
- uint index = bitfieldExtract(packed_input, bit_offset, index_size);
- output_indexes[primitive * 6 + vertex] = index + base_vertex;
- }
-}