diff options
Diffstat (limited to 'chromium/third_party/dawn/src/dawn_native/vulkan/ComputePipelineVk.cpp')
-rw-r--r-- | chromium/third_party/dawn/src/dawn_native/vulkan/ComputePipelineVk.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/chromium/third_party/dawn/src/dawn_native/vulkan/ComputePipelineVk.cpp b/chromium/third_party/dawn/src/dawn_native/vulkan/ComputePipelineVk.cpp index a81dee9039e..322c0262206 100644 --- a/chromium/third_party/dawn/src/dawn_native/vulkan/ComputePipelineVk.cpp +++ b/chromium/third_party/dawn/src/dawn_native/vulkan/ComputePipelineVk.cpp @@ -45,7 +45,15 @@ namespace dawn_native { namespace vulkan { createInfo.stage.pNext = nullptr; createInfo.stage.flags = 0; createInfo.stage.stage = VK_SHADER_STAGE_COMPUTE_BIT; - createInfo.stage.module = ToBackend(descriptor->computeStage.module)->GetHandle(); + if (GetDevice()->IsToggleEnabled(Toggle::UseTintGenerator)) { + // Generate a new VkShaderModule with BindingRemapper tint transform for each pipeline + DAWN_TRY_ASSIGN(createInfo.stage.module, + ToBackend(descriptor->computeStage.module) + ->GetTransformedModuleHandle(descriptor->computeStage.entryPoint, + ToBackend(GetLayout()))); + } else { + createInfo.stage.module = ToBackend(descriptor->computeStage.module)->GetHandle(); + } createInfo.stage.pName = descriptor->computeStage.entryPoint; createInfo.stage.pSpecializationInfo = nullptr; |