[hlsl] Emit mip level 0 for storage textures

Bug: 42251045
Bug: 357896925
Change-Id: Icbf5f6f4f4b06ea337ad8fe6c2efe76366105f1c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/202363
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
diff --git a/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.dxc.hlsl
index 334e6e8e..2ecc2ff 100644
--- a/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.dxc.hlsl
@@ -1,9 +1,45 @@
-SKIP: FAILED
+struct VertexOutput {
+  float4 pos;
+  int4 prevent_dce;
+};
 
-..\..\src\tint\utils\containers\slice.h:216 internal compiler error: TINT_ASSERT(i < Length())
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+struct vertex_main_outputs {
+  nointerpolation int4 VertexOutput_prevent_dce : TEXCOORD0;
+  float4 VertexOutput_pos : SV_Position;
+};
+
+
+RWByteAddressBuffer prevent_dce : register(u0);
+Texture2DArray<int4> arg_0 : register(t0, space1);
+int4 textureLoad_582015() {
+  Texture2DArray<int4> v = arg_0;
+  int2 v_1 = int2((1).xx);
+  int4 res = int4(v.Load(int4(v_1, int(1), 0)));
+  return res;
+}
+
+void fragment_main() {
+  prevent_dce.Store4(0u, asuint(textureLoad_582015()));
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+  prevent_dce.Store4(0u, asuint(textureLoad_582015()));
+}
+
+VertexOutput vertex_main_inner() {
+  VertexOutput tint_symbol = (VertexOutput)0;
+  tint_symbol.pos = (0.0f).xxxx;
+  tint_symbol.prevent_dce = textureLoad_582015();
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
+}
+
+vertex_main_outputs vertex_main() {
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
+}
+