mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-21 22:16:38 +00:00
Handle basePipelineIndex correctly (-1 means don't use it)
This commit is contained in:
@@ -875,7 +875,7 @@ VulkanDebugManager::VulkanDebugManager(WrappedVulkan *driver, VkDevice dev)
|
||||
RGBA8RP,
|
||||
0, // sub pass
|
||||
VK_NULL_HANDLE, // base pipeline handle
|
||||
0, // base pipeline index
|
||||
-1, // base pipeline index
|
||||
};
|
||||
|
||||
stages[0].module = Unwrap(module[BLITVS]);
|
||||
|
||||
@@ -401,9 +401,21 @@ VkResult WrappedVulkan::vkCreateGraphicsPipelines(
|
||||
|
||||
{
|
||||
CACHE_THREAD_SERIALISER();
|
||||
|
||||
VkGraphicsPipelineCreateInfo modifiedCreateInfo;
|
||||
const VkGraphicsPipelineCreateInfo *createInfo = &pCreateInfos[i];
|
||||
|
||||
// since we serialise one by one, we need to fixup basePipelineIndex
|
||||
if(createInfo->basePipelineIndex != -1 && createInfo->basePipelineIndex < (int)i)
|
||||
{
|
||||
modifiedCreateInfo = *createInfo;
|
||||
modifiedCreateInfo.basePipelineHandle = pPipelines[modifiedCreateInfo.basePipelineIndex];
|
||||
modifiedCreateInfo.basePipelineIndex = -1;
|
||||
createInfo = &modifiedCreateInfo;
|
||||
}
|
||||
|
||||
SCOPED_SERIALISE_CONTEXT(CREATE_GRAPHICS_PIPE);
|
||||
Serialise_vkCreateGraphicsPipelines(localSerialiser, device, pipelineCache, 1, &pCreateInfos[i], NULL, &pPipelines[i]);
|
||||
Serialise_vkCreateGraphicsPipelines(localSerialiser, device, pipelineCache, 1, createInfo, NULL, &pPipelines[i]);
|
||||
|
||||
chunk = scope.Get();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user