Only run the BoundArrayAccessors transform when robustness is on.
Bug: None
Change-Id: I40b94eb2a900a7d60529edb4ffa8f707e603a50d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49965
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/src/dawn_native/d3d12/ShaderModuleD3D12.cpp b/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
index 33d85a5..1392b2f 100644
--- a/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
+++ b/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
@@ -245,7 +245,9 @@
tint::transform::Manager transformManager;
tint::transform::DataMap transformInputs;
- transformManager.Add<tint::transform::BoundArrayAccessors>();
+ if (GetDevice()->IsRobustnessEnabled()) {
+ transformManager.Add<tint::transform::BoundArrayAccessors>();
+ }
if (stage == SingleShaderStage::Vertex) {
transformManager.Add<tint::transform::FirstIndexOffset>();
transformInputs.Add<tint::transform::FirstIndexOffset::BindingPoint>(
diff --git a/src/dawn_native/metal/ShaderModuleMTL.mm b/src/dawn_native/metal/ShaderModuleMTL.mm
index f88dcc7..22c15ee 100644
--- a/src/dawn_native/metal/ShaderModuleMTL.mm
+++ b/src/dawn_native/metal/ShaderModuleMTL.mm
@@ -85,7 +85,9 @@
// this MSL buffer index.
}
}
- transformManager.Add<tint::transform::BoundArrayAccessors>();
+ if (GetDevice()->IsRobustnessEnabled()) {
+ transformManager.Add<tint::transform::BoundArrayAccessors>();
+ }
transformManager.Add<tint::transform::Renamer>();
transformManager.Add<tint::transform::Msl>();
diff --git a/src/dawn_native/vulkan/ShaderModuleVk.cpp b/src/dawn_native/vulkan/ShaderModuleVk.cpp
index 9f4da48..2f181d8 100644
--- a/src/dawn_native/vulkan/ShaderModuleVk.cpp
+++ b/src/dawn_native/vulkan/ShaderModuleVk.cpp
@@ -55,7 +55,9 @@
errorStream << "Tint SPIR-V writer failure:" << std::endl;
tint::transform::Manager transformManager;
- transformManager.Add<tint::transform::BoundArrayAccessors>();
+ if (GetDevice()->IsRobustnessEnabled()) {
+ transformManager.Add<tint::transform::BoundArrayAccessors>();
+ }
transformManager.Add<tint::transform::EmitVertexPointSize>();
transformManager.Add<tint::transform::Spirv>();