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>();