Fix Texture1DTo2D not appending .x for builtin as a call statement

Remove the early return for call statement case, but always
append .x to builtin::kTextureDimensions in Texture1DTo2D
transform.

Bug: tint:2060
Change-Id: Ic3c0c1abc2c4fcba290b723f01029c6b3f039547
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/157062
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
diff --git a/src/dawn/tests/end2end/StorageTextureTests.cpp b/src/dawn/tests/end2end/StorageTextureTests.cpp
index ff0b802..7da7872 100644
--- a/src/dawn/tests/end2end/StorageTextureTests.cpp
+++ b/src/dawn/tests/end2end/StorageTextureTests.cpp
@@ -784,9 +784,6 @@
 
 // Verify 1D write-only storage textures work correctly.
 TEST_P(StorageTextureTests, Writeonly1DStorageTexture) {
-    // TODO(crbug.com/tint/2060): shader compile error for glsl writer.
-    DAWN_TEST_UNSUPPORTED_IF(IsOpenGL() || IsOpenGLES());
-
     constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint;
 
     // Prepare the write-only storage texture.
diff --git a/src/tint/lang/glsl/writer/ast_raise/texture_1d_to_2d.cc b/src/tint/lang/glsl/writer/ast_raise/texture_1d_to_2d.cc
index 4dc3480..df5452a 100644
--- a/src/tint/lang/glsl/writer/ast_raise/texture_1d_to_2d.cc
+++ b/src/tint/lang/glsl/writer/ast_raise/texture_1d_to_2d.cc
@@ -154,11 +154,6 @@
             }
 
             if (builtin->Fn() == wgsl::BuiltinFn::kTextureDimensions) {
-                // If this textureDimensions() call is in a CallStatement, we can leave it
-                // unmodified since the return value will be dropped on the floor anyway.
-                if (call->Stmt()->Declaration()->Is<ast::CallStatement>()) {
-                    return nullptr;
-                }
                 auto* new_call = ctx.CloneWithoutTransform(c);
                 return ctx.dst->MemberAccessor(new_call, "x");
             }
diff --git a/src/tint/lang/glsl/writer/ast_raise/texture_1d_to_2d_test.cc b/src/tint/lang/glsl/writer/ast_raise/texture_1d_to_2d_test.cc
index 35de36b..7441fe3 100644
--- a/src/tint/lang/glsl/writer/ast_raise/texture_1d_to_2d_test.cc
+++ b/src/tint/lang/glsl/writer/ast_raise/texture_1d_to_2d_test.cc
@@ -153,17 +153,21 @@
 
 TEST_F(Texture1DTo2DTest, Global1DDeclAndTextureDimensionsInCallStmt) {
     auto* src = R"(
-@group(0) @binding(0) var t : texture_1d<f32>;
+@group(0) @binding(0) var st : texture_storage_1d<r32uint, write>;
+
+@group(0) @binding(1) var t : texture_1d<f32>;
 
 fn main() {
-  _ = textureDimensions(t);
+  textureStore(st, clamp(5, 0, i32((textureDimensions(st) - 1))), vec4u(0, 0, 0, 0));
 }
 )";
     auto* expect = R"(
-@group(0) @binding(0) var t : texture_2d<f32>;
+@group(0) @binding(0) var st : texture_storage_2d<r32uint, write>;
+
+@group(0) @binding(1) var t : texture_2d<f32>;
 
 fn main() {
-  _ = textureDimensions(t).x;
+  textureStore(st, vec2<i32>(clamp(5, 0, i32((textureDimensions(st).x - 1))), 0), vec4u(0, 0, 0, 0));
 }
 )";