diff --git a/src/dawn/native/d3d12/ShaderModuleD3D12.cpp b/src/dawn/native/d3d12/ShaderModuleD3D12.cpp index c6a2d4d453..d82148895f 100644 --- a/src/dawn/native/d3d12/ShaderModuleD3D12.cpp +++ b/src/dawn/native/d3d12/ShaderModuleD3D12.cpp @@ -322,12 +322,6 @@ ResultOrError TranslateToHLSL( r.firstIndexOffsetShaderRegister, r.firstIndexOffsetRegisterSpace); } - if (r.isRobustnessEnabled) { - transformManager.Add(); - } - - transformManager.Add(); - if (r.substituteOverrideConfig) { // This needs to run after SingleEntryPoint transform which removes unused overrides for // current entry point. @@ -336,6 +330,12 @@ ResultOrError TranslateToHLSL( std::move(r.substituteOverrideConfig).value()); } + if (r.isRobustnessEnabled) { + transformManager.Add(); + } + + transformManager.Add(); + // D3D12 registers like `t3` and `c3` have the same bindingOffset number in // the remapping but should not be considered a collision because they have // different types. diff --git a/src/dawn/native/vulkan/ShaderModuleVk.cpp b/src/dawn/native/vulkan/ShaderModuleVk.cpp index 5f55569598..aa4575681e 100644 --- a/src/dawn/native/vulkan/ShaderModuleVk.cpp +++ b/src/dawn/native/vulkan/ShaderModuleVk.cpp @@ -285,6 +285,14 @@ ResultOrError ShaderModule::GetHandleAndSpirv( transformManager.Add(); } + if (r.substituteOverrideConfig) { + // This needs to run after SingleEntryPoint transform which removes unused overrides + // for current entry point. + transformManager.Add(); + transformInputs.Add( + std::move(r.substituteOverrideConfig).value()); + } + if (r.isRobustnessEnabled) { transformManager.append(std::make_unique()); } @@ -300,13 +308,6 @@ ResultOrError ShaderModule::GetHandleAndSpirv( transformInputs.Add( r.newBindingsMap); } - if (r.substituteOverrideConfig) { - // This needs to run after SingleEntryPoint transform which removes unused overrides - // for current entry point. - transformManager.Add(); - transformInputs.Add( - std::move(r.substituteOverrideConfig).value()); - } if (r.clampFragDepth) { transformManager.Add(); diff --git a/webgpu-cts/expectations.txt b/webgpu-cts/expectations.txt index 0c9a09f66c..9961181289 100644 --- a/webgpu-cts/expectations.txt +++ b/webgpu-cts/expectations.txt @@ -268,8 +268,6 @@ crbug.com/dawn/0000 [ win ] webgpu:shader,execution,memory_model,* [ Failure ] # shader validation failures ################################################################################ crbug.com/tint/0000 webgpu:shader,validation,parse,blankspace:null_characters:contains_null=true;placement="comment" [ Failure ] -crbug.com/tint/1771 [ ubuntu ] webgpu:api,validation,compute_pipeline:overrides,workgroup_size,limits,* [ Failure ] -crbug.com/tint/1771 [ win10 ] webgpu:api,validation,compute_pipeline:overrides,workgroup_size,limits,* [ Failure ] ############################################################################ # Flaky on Intel Mac