mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-12 04:50:35 +00:00
Use flags from final linked pipeline with EXT_gpl if present
This commit is contained in:
@@ -1097,7 +1097,7 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan,
|
||||
if(graphicsLibraryCreate)
|
||||
availStages = graphicsLibraryCreate->flags;
|
||||
|
||||
vertLayout = fragLayout = GetResID(pCreateInfo->layout);
|
||||
ownLayout = vertLayout = fragLayout = GetResID(pCreateInfo->layout);
|
||||
renderpass = GetResID(pCreateInfo->renderPass);
|
||||
subpass = pCreateInfo->subpass;
|
||||
|
||||
|
||||
@@ -269,6 +269,10 @@ struct VulkanCreationInfo
|
||||
|
||||
ResourceId compLayout;
|
||||
|
||||
// the pipeline's own specified layout, independent of vertLayout/fragLayout below when linking
|
||||
// graphics pipeline libraries
|
||||
ResourceId ownLayout;
|
||||
|
||||
// these will be the same in some cases, but can be different if the application is using
|
||||
// INDEPENDENT_SETS_BIT_KHR
|
||||
ResourceId vertLayout;
|
||||
|
||||
@@ -977,7 +977,9 @@ void VulkanShaderCache::MakeGraphicsPipelineInfo(VkGraphicsPipelineCreateInfo &p
|
||||
|
||||
// don't have to handle separate vert/frag layouts as push constant ranges must be identical
|
||||
const VulkanCreationInfo::PipelineLayout &pipeLayoutInfo =
|
||||
m_pDriver->m_CreationInfo.m_PipelineLayout[pipeInfo.vertLayout];
|
||||
m_pDriver->m_CreationInfo
|
||||
.m_PipelineLayout[pipeInfo.ownLayout != ResourceId() ? pipeInfo.ownLayout
|
||||
: pipeInfo.vertLayout];
|
||||
const rdcarray<VkPushConstantRange> &push = pipeLayoutInfo.pushRanges;
|
||||
|
||||
VkPipelineLayoutCreateInfo pipeLayoutCreateInfo = {
|
||||
|
||||
Reference in New Issue
Block a user