summaryrefslogtreecommitdiff
path: root/chromium/third_party/dawn/src/dawn_native/vulkan/ComputePipelineVk.cpp
diff options
context:
space:
mode:
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.cpp10
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;