Skip to content

Commit

Permalink
Propagate pipeline shader stage create flags
Browse files Browse the repository at this point in the history
  • Loading branch information
baldurk committed Dec 13, 2024
1 parent e46c09d commit f12642d
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 1 deletion.
2 changes: 2 additions & 0 deletions renderdoc/driver/vulkan/vk_info.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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());

Expand Down Expand Up @@ -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());

Expand Down
2 changes: 2 additions & 0 deletions renderdoc/driver/vulkan/vk_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,8 @@ struct VulkanCreationInfo
ShaderReflection *refl = NULL;
SPIRVPatchData *patchData = NULL;

VkPipelineShaderStageCreateFlags flags;

rdcarray<SpecConstant> specialization;

// VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
Expand Down
3 changes: 2 additions & 1 deletion renderdoc/driver/vulkan/vk_shader_cache.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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;

Expand Down

0 comments on commit f12642d

Please sign in to comment.