Propagate pipeline shader stage create flags

This commit is contained in:
baldurk
2024-12-13 16:48:17 +00:00
parent e46c09d05d
commit f12642dfd4
3 changed files with 6 additions and 1 deletions
+2
View File
@@ -1158,6 +1158,7 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan,
shad.module = shadid;
shad.entryPoint = pCreateInfo->pStages[i].pName;
shad.stage = ShaderStage(stageIndex);
shad.flags = pCreateInfo->pStages[i].flags;
ShaderModuleReflectionKey key(shad.stage, shad.entryPoint, ResourceId());
@@ -1784,6 +1785,7 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk
shad.module = shadid;
shad.entryPoint = pCreateInfo->stage.pName;
shad.stage = ShaderStage::Compute;
shad.flags = pCreateInfo->stage.flags;
ShaderModuleReflectionKey key(ShaderStage::Compute, shad.entryPoint, ResourceId());
+2
View File
@@ -240,6 +240,8 @@ struct VulkanCreationInfo
ShaderReflection *refl = NULL;
SPIRVPatchData *patchData = NULL;
VkPipelineShaderStageCreateFlags flags;
rdcarray<SpecConstant> specialization;
// VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
+2 -1
View File
@@ -608,6 +608,7 @@ void VulkanShaderCache::MakeGraphicsPipelineInfo(VkGraphicsPipelineCreateInfo &p
stages[stageCount].pName = pipeInfo.shaders[i].entryPoint.c_str();
stages[stageCount].pNext = NULL;
stages[stageCount].pSpecializationInfo = NULL;
stages[stageCount].flags = pipeInfo.shaders[i].flags;
if(pipeInfo.shaders[i].requiredSubgroupSize != 0)
{
@@ -1081,7 +1082,7 @@ void VulkanShaderCache::MakeComputePipelineInfo(VkComputePipelineCreateInfo &pip
stage.pName = pipeInfo.shaders[i].entryPoint.c_str();
stage.pNext = NULL;
stage.pSpecializationInfo = NULL;
stage.flags = 0;
stage.flags = pipeInfo.shaders[i].flags;
uint32_t dataOffset = 0;