Skip to content

Commit 3a3e2c0

Browse files
committed
Use flags from final linked pipeline with EXT_gpl if present
1 parent 26f2732 commit 3a3e2c0

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

renderdoc/driver/vulkan/vk_info.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1097,7 +1097,7 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan,
10971097
if(graphicsLibraryCreate)
10981098
availStages = graphicsLibraryCreate->flags;
10991099

1100-
vertLayout = fragLayout = GetResID(pCreateInfo->layout);
1100+
ownLayout = vertLayout = fragLayout = GetResID(pCreateInfo->layout);
11011101
renderpass = GetResID(pCreateInfo->renderPass);
11021102
subpass = pCreateInfo->subpass;
11031103

renderdoc/driver/vulkan/vk_info.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,10 @@ struct VulkanCreationInfo
269269

270270
ResourceId compLayout;
271271

272+
// the pipeline's own specified layout, independent of vertLayout/fragLayout below when linking
273+
// graphics pipeline libraries
274+
ResourceId ownLayout;
275+
272276
// these will be the same in some cases, but can be different if the application is using
273277
// INDEPENDENT_SETS_BIT_KHR
274278
ResourceId vertLayout;

renderdoc/driver/vulkan/vk_shader_cache.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,9 @@ void VulkanShaderCache::MakeGraphicsPipelineInfo(VkGraphicsPipelineCreateInfo &p
977977

978978
// don't have to handle separate vert/frag layouts as push constant ranges must be identical
979979
const VulkanCreationInfo::PipelineLayout &pipeLayoutInfo =
980-
m_pDriver->m_CreationInfo.m_PipelineLayout[pipeInfo.vertLayout];
980+
m_pDriver->m_CreationInfo
981+
.m_PipelineLayout[pipeInfo.ownLayout != ResourceId() ? pipeInfo.ownLayout
982+
: pipeInfo.vertLayout];
981983
const rdcarray<VkPushConstantRange> &push = pipeLayoutInfo.pushRanges;
982984

983985
VkPipelineLayoutCreateInfo pipeLayoutCreateInfo = {

0 commit comments

Comments
 (0)