aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/host_shaders/vulkan_uint8.comp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-02-12 22:22:18 -0800
committerGitHub <noreply@github.com>2021-02-12 22:22:18 -0800
commitd3c7a7e7cf4bcabb171c98fe55e6e0291f8ee980 (patch)
tree5c900d10847e1768a4951c1e6bec35f2618b5991 /src/video_core/host_shaders/vulkan_uint8.comp
parentc86d770af945888c42e45eee2101ea7e0a39fd68 (diff)
parent13becdf18adebdcb8ac2d27c693ec729727057f5 (diff)
Merge pull request #5741 from ReinUsesLisp/new-bufcache
video_core: Reimplement the buffer cache
Diffstat (limited to 'src/video_core/host_shaders/vulkan_uint8.comp')
-rw-r--r--src/video_core/host_shaders/vulkan_uint8.comp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/video_core/host_shaders/vulkan_uint8.comp b/src/video_core/host_shaders/vulkan_uint8.comp
index ad74d7af9..872291670 100644
--- a/src/video_core/host_shaders/vulkan_uint8.comp
+++ b/src/video_core/host_shaders/vulkan_uint8.comp
@@ -16,9 +16,16 @@ layout (std430, set = 0, binding = 1) writeonly buffer OutputBuffer {
uint16_t output_indexes[];
};
+uint AssembleIndex(uint id) {
+ // Most primitive restart indices are 0xFF
+ // Hardcode this to 0xFF for now
+ uint index = uint(input_indexes[id]);
+ return index == 0xFF ? 0xFFFF : index;
+}
+
void main() {
uint id = gl_GlobalInvocationID.x;
if (id < input_indexes.length()) {
- output_indexes[id] = uint16_t(input_indexes[id]);
+ output_indexes[id] = uint16_t(AssembleIndex(id));
}
}