diff --git a/src/tint/lang/glsl/writer/raise/shader_io.cc b/src/tint/lang/glsl/writer/raise/shader_io.cc
index a13a9c6..bf1bf7a 100644
--- a/src/tint/lang/glsl/writer/raise/shader_io.cc
+++ b/src/tint/lang/glsl/writer/raise/shader_io.cc
@@ -128,10 +128,18 @@
             if (io.attributes.builtin) {
                 name << GLSLBuiltinToString(*io.attributes.builtin, addrspace);
 
-                if (io.attributes.builtin == core::BuiltinValue::kSampleMask) {
-                    ptr = ty.ptr(addrspace, ty.array(ty.i32(), 1), access);
-                } else {
-                    ptr = ty.ptr(addrspace, io.type, access);
+                switch (io.attributes.builtin.value()) {
+                    case core::BuiltinValue::kSampleMask:
+                        ptr = ty.ptr(addrspace, ty.array(ty.i32(), 1), access);
+                        break;
+                    case core::BuiltinValue::kVertexIndex:
+                    case core::BuiltinValue::kInstanceIndex:
+                    case core::BuiltinValue::kSampleIndex:
+                        ptr = ty.ptr(addrspace, ty.i32(), access);
+                        break;
+                    default:
+                        ptr = ty.ptr(addrspace, io.type, access);
+                        break;
                 }
             } else {
                 name << ir.NameOf(func).Name();
