From 2db8fef33e58a20de3df020e67a1314e636bc8a2 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 18 Feb 2026 13:42:04 +0000 Subject: [PATCH] Ensure we have properly generated IDs for inline shaders --- renderdoc/driver/vulkan/wrappers/vk_shader_funcs.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/renderdoc/driver/vulkan/wrappers/vk_shader_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_shader_funcs.cpp index abf4b03cd..11916914e 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_shader_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_shader_funcs.cpp @@ -700,6 +700,7 @@ VkShaderModule WrappedVulkan::CreateFakeInlineShaderModule(ResourceId id, VkDevi const VkShaderModuleCreateInfo *pCreateInfo) { RDCASSERT(IsLoading(m_State)); + RDCASSERT(id != ResourceId()); NVAftermath_Shader(ShaderEncoding::SPIRV, pCreateInfo->pCode, pCreateInfo->codeSize); @@ -759,6 +760,8 @@ bool WrappedVulkan::Serialise_vkCreateGraphicsPipelines( else { InlineShaderIDs.resize(CreateInfo.stageCount); + for(ResourceId &id : InlineShaderIDs) + id = ResourceIDGen::GetNewUniqueID(); } SERIALISE_CHECK_READ_ERRORS(); @@ -1127,6 +1130,10 @@ bool WrappedVulkan::Serialise_vkCreateComputePipelines(SerialiserType &ser, VkDe { SERIALISE_ELEMENT(InlineShaderID).Hidden(); } + else + { + InlineShaderID = ResourceIDGen::GetNewUniqueID(); + } SERIALISE_CHECK_READ_ERRORS();