diff --git a/src/tint/writer/glsl/generator_impl.cc b/src/tint/writer/glsl/generator_impl.cc
index f0ffc53..0daf65e 100644
--- a/src/tint/writer/glsl/generator_impl.cc
+++ b/src/tint/writer/glsl/generator_impl.cc
@@ -1303,9 +1303,10 @@
         }
       }
       out << ")";
-      // textureSize() on sampler2dArray returns the array size in the
+      // textureSize() on array samplers returns the array size in the
       // final component, so strip it out.
-      if (texture_type->dim() == ast::TextureDimension::k2dArray) {
+      if (texture_type->dim() == ast::TextureDimension::k2dArray ||
+          texture_type->dim() == ast::TextureDimension::kCubeArray) {
         out << ".xy";
       }
       return true;
diff --git a/test/tint/builtins/gen/textureDimensions/221f22.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/221f22.wgsl.expected.glsl
index e94b6af..d98cab1 100644
--- a/test/tint/builtins/gen/textureDimensions/221f22.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/221f22.wgsl.expected.glsl
@@ -4,7 +4,7 @@
 
 uniform highp isamplerCubeArray arg_0_1;
 void textureDimensions_221f22() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 vec4 vertex_main() {
@@ -31,7 +31,7 @@
 
 uniform highp isamplerCubeArray arg_0_1;
 void textureDimensions_221f22() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void fragment_main() {
@@ -53,7 +53,7 @@
 
 uniform highp isamplerCubeArray arg_0_1;
 void textureDimensions_221f22() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void compute_main() {
diff --git a/test/tint/builtins/gen/textureDimensions/4152a6.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/4152a6.wgsl.expected.glsl
index 04f0869..25170ca 100644
--- a/test/tint/builtins/gen/textureDimensions/4152a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/4152a6.wgsl.expected.glsl
@@ -4,7 +4,7 @@
 
 uniform highp usamplerCubeArray arg_0_1;
 void textureDimensions_4152a6() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 vec4 vertex_main() {
@@ -31,7 +31,7 @@
 
 uniform highp usamplerCubeArray arg_0_1;
 void textureDimensions_4152a6() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void fragment_main() {
@@ -53,7 +53,7 @@
 
 uniform highp usamplerCubeArray arg_0_1;
 void textureDimensions_4152a6() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void compute_main() {
diff --git a/test/tint/builtins/gen/textureDimensions/50a9ee.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/50a9ee.wgsl.expected.glsl
index 61d47e0..02b83e4 100644
--- a/test/tint/builtins/gen/textureDimensions/50a9ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/50a9ee.wgsl.expected.glsl
@@ -4,7 +4,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_50a9ee() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 vec4 vertex_main() {
@@ -31,7 +31,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_50a9ee() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void fragment_main() {
@@ -53,7 +53,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_50a9ee() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void compute_main() {
diff --git a/test/tint/builtins/gen/textureDimensions/8f20bf.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/8f20bf.wgsl.expected.glsl
index 192b65f..9276c34 100644
--- a/test/tint/builtins/gen/textureDimensions/8f20bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/8f20bf.wgsl.expected.glsl
@@ -4,7 +4,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_8f20bf() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 vec4 vertex_main() {
@@ -31,7 +31,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_8f20bf() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void fragment_main() {
@@ -53,7 +53,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_8f20bf() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void compute_main() {
diff --git a/test/tint/builtins/gen/textureDimensions/90340b.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/90340b.wgsl.expected.glsl
index c524db9..e8a38c8 100644
--- a/test/tint/builtins/gen/textureDimensions/90340b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/90340b.wgsl.expected.glsl
@@ -4,7 +4,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_90340b() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 vec4 vertex_main() {
@@ -31,7 +31,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_90340b() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void fragment_main() {
@@ -53,7 +53,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_90340b() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void compute_main() {
diff --git a/test/tint/builtins/gen/textureDimensions/a01845.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/a01845.wgsl.expected.glsl
index 1be537d..5449a07 100644
--- a/test/tint/builtins/gen/textureDimensions/a01845.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/a01845.wgsl.expected.glsl
@@ -4,7 +4,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_a01845() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 vec4 vertex_main() {
@@ -31,7 +31,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_a01845() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void fragment_main() {
@@ -53,7 +53,7 @@
 
 uniform highp samplerCubeArray arg_0_1;
 void textureDimensions_a01845() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void compute_main() {
diff --git a/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl
index 0e70b6c..3da3b8e 100644
--- a/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-../../src/tint/writer/glsl/generator_impl.cc:2571 internal compiler error: Multiplanar external texture transform was not run.
+../../src/tint/writer/glsl/generator_impl.cc:2572 internal compiler error: Multiplanar external texture transform was not run.
 
 
 ********************************************************************
diff --git a/test/tint/builtins/gen/textureDimensions/d83c45.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/d83c45.wgsl.expected.glsl
index 74f97fd..faa5564 100644
--- a/test/tint/builtins/gen/textureDimensions/d83c45.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/d83c45.wgsl.expected.glsl
@@ -4,7 +4,7 @@
 
 uniform highp usamplerCubeArray arg_0_1;
 void textureDimensions_d83c45() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 vec4 vertex_main() {
@@ -31,7 +31,7 @@
 
 uniform highp usamplerCubeArray arg_0_1;
 void textureDimensions_d83c45() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void fragment_main() {
@@ -53,7 +53,7 @@
 
 uniform highp usamplerCubeArray arg_0_1;
 void textureDimensions_d83c45() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void compute_main() {
diff --git a/test/tint/builtins/gen/textureDimensions/e927be.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/e927be.wgsl.expected.glsl
index f579795..ac71e97 100644
--- a/test/tint/builtins/gen/textureDimensions/e927be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/e927be.wgsl.expected.glsl
@@ -4,7 +4,7 @@
 
 uniform highp isamplerCubeArray arg_0_1;
 void textureDimensions_e927be() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 vec4 vertex_main() {
@@ -31,7 +31,7 @@
 
 uniform highp isamplerCubeArray arg_0_1;
 void textureDimensions_e927be() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void fragment_main() {
@@ -53,7 +53,7 @@
 
 uniform highp isamplerCubeArray arg_0_1;
 void textureDimensions_e927be() {
-  ivec2 res = textureSize(arg_0_1, 0);
+  ivec2 res = textureSize(arg_0_1, 0).xy;
 }
 
 void compute_main() {
diff --git a/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl b/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl
index 0e70b6c..3da3b8e 100644
--- a/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-../../src/tint/writer/glsl/generator_impl.cc:2571 internal compiler error: Multiplanar external texture transform was not run.
+../../src/tint/writer/glsl/generator_impl.cc:2572 internal compiler error: Multiplanar external texture transform was not run.
 
 
 ********************************************************************
diff --git a/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl b/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl
index 0e70b6c..3da3b8e 100644
--- a/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 SKIP: FAILED
 
-../../src/tint/writer/glsl/generator_impl.cc:2571 internal compiler error: Multiplanar external texture transform was not run.
+../../src/tint/writer/glsl/generator_impl.cc:2572 internal compiler error: Multiplanar external texture transform was not run.
 
 
 ********************************************************************
diff --git a/test/tint/unittest/reader/spirv/ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.glsl b/test/tint/unittest/reader/spirv/ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.glsl
index 8c3d294..c124d09 100644
--- a/test/tint/unittest/reader/spirv/ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.glsl
+++ b/test/tint/unittest/reader/spirv/ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.glsl
@@ -22,7 +22,7 @@
   vec2 coords12 = vf12;
   vec3 coords123 = vf123;
   vec4 coords1234 = vf1234;
-  ivec3 x_99 = ivec3(textureSize(x_20_1, i1).xy, textureSize(x_20_1, 0).z);
+  ivec3 x_99 = ivec3(textureSize(x_20_1, i1).xy.xy, textureSize(x_20_1, 0).z);
   return;
 }
 
diff --git a/test/tint/unittest/reader/spirv/ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm.expected.glsl b/test/tint/unittest/reader/spirv/ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm.expected.glsl
index 8c3d294..c124d09 100644
--- a/test/tint/unittest/reader/spirv/ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm.expected.glsl
+++ b/test/tint/unittest/reader/spirv/ImageQuerySizeLod_Arrayed_SignedResult_SignedLevel_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm.expected.glsl
@@ -22,7 +22,7 @@
   vec2 coords12 = vf12;
   vec3 coords123 = vf123;
   vec4 coords1234 = vf1234;
-  ivec3 x_99 = ivec3(textureSize(x_20_1, i1).xy, textureSize(x_20_1, 0).z);
+  ivec3 x_99 = ivec3(textureSize(x_20_1, i1).xy.xy, textureSize(x_20_1, 0).z);
   return;
 }
 
