From 92a03719e214cd58f913f1b1f59cf13a7c346a45 Mon Sep 17 00:00:00 2001 From: Sasha Szpakowski Date: Sat, 6 Apr 2024 21:38:12 -0300 Subject: [PATCH] vulkan: fix validation errors when a resource is declared in multiple stages. --- src/modules/graphics/vulkan/Shader.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/modules/graphics/vulkan/Shader.cpp b/src/modules/graphics/vulkan/Shader.cpp index 491700b63..293899503 100644 --- a/src/modules/graphics/vulkan/Shader.cpp +++ b/src/modules/graphics/vulkan/Shader.cpp @@ -69,7 +69,17 @@ public: } } else - return (uint32_t)it->second.getOffset(); + { + auto binding = (uint32_t)it->second.getOffset(); + + uint32_t binaryBindingOffset; + if (!comp.get_binary_offset_for_decoration(id, spv::DecorationBinding, binaryBindingOffset)) + throw love::Exception("could not get binary offset for uniform %s binding", name.c_str()); + + spirv[binaryBindingOffset] = binding; + + return binding; + } };