Rename UniformConstant to Handle.

The UniformConstant storage class was renamed to Handle in the WGSL
spec. This CL updates Tint internals to match.


Bug: tint:1138
Change-Id: I93ec581575955ab6830eb8aea44f74dbc28e9ef5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88280
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/ast/storage_class.cc b/src/tint/ast/storage_class.cc
index 00d6d92..d181855 100644
--- a/src/tint/ast/storage_class.cc
+++ b/src/tint/ast/storage_class.cc
@@ -30,8 +30,8 @@
       return "uniform";
     case StorageClass::kWorkgroup:
       return "workgroup";
-    case StorageClass::kUniformConstant:
-      return "uniform_constant";
+    case StorageClass::kHandle:
+      return "handle";
     case StorageClass::kStorage:
       return "storage";
     case StorageClass::kPrivate:
diff --git a/src/tint/ast/storage_class.h b/src/tint/ast/storage_class.h
index dc7a94a..5052f36 100644
--- a/src/tint/ast/storage_class.h
+++ b/src/tint/ast/storage_class.h
@@ -27,7 +27,7 @@
   kOutput,
   kUniform,
   kWorkgroup,
-  kUniformConstant,
+  kHandle,
   kStorage,
   kPrivate,
   kFunction
diff --git a/src/tint/reader/spirv/parser_impl.cc b/src/tint/reader/spirv/parser_impl.cc
index 6cf8e7a..4b7e0b6 100644
--- a/src/tint/reader/spirv/parser_impl.cc
+++ b/src/tint/reader/spirv/parser_impl.cc
@@ -1494,7 +1494,7 @@
       case ast::StorageClass::kInput:
       case ast::StorageClass::kOutput:
       case ast::StorageClass::kUniform:
-      case ast::StorageClass::kUniformConstant:
+      case ast::StorageClass::kHandle:
       case ast::StorageClass::kStorage:
       case ast::StorageClass::kWorkgroup:
       case ast::StorageClass::kPrivate:
@@ -1632,7 +1632,7 @@
 
   // Handle variables (textures and samplers) are always in the handle
   // storage class, so we don't mention the storage class.
-  if (sc == ast::StorageClass::kUniformConstant) {
+  if (sc == ast::StorageClass::kHandle) {
     sc = ast::StorageClass::kNone;
   }
 
@@ -2535,8 +2535,7 @@
   }
 
   // Form the pointer type.
-  auto* result =
-      ty_.Pointer(ast_store_type, ast::StorageClass::kUniformConstant);
+  auto* result = ty_.Pointer(ast_store_type, ast::StorageClass::kHandle);
   // Remember it for later.
   handle_type_[&var] = result;
   return result;
diff --git a/src/tint/resolver/function_validation_test.cc b/src/tint/resolver/function_validation_test.cc
index d694f0e..4b69e5e 100644
--- a/src/tint/resolver/function_validation_test.cc
+++ b/src/tint/resolver/function_validation_test.cc
@@ -821,7 +821,7 @@
                     TestParams{ast::StorageClass::kOutput, false},
                     TestParams{ast::StorageClass::kUniform, false},
                     TestParams{ast::StorageClass::kWorkgroup, true},
-                    TestParams{ast::StorageClass::kUniformConstant, false},
+                    TestParams{ast::StorageClass::kHandle, false},
                     TestParams{ast::StorageClass::kStorage, false},
                     TestParams{ast::StorageClass::kPrivate, true},
                     TestParams{ast::StorageClass::kFunction, true}));
diff --git a/src/tint/resolver/resolver.cc b/src/tint/resolver/resolver.cc
index c2e3c09..21f4bf0 100644
--- a/src/tint/resolver/resolver.cc
+++ b/src/tint/resolver/resolver.cc
@@ -365,7 +365,7 @@
       // If the store type is a texture type or a sampler type, then the
       // variable declaration must not have a storage class attribute. The
       // storage class will always be handle.
-      storage_class = ast::StorageClass::kUniformConstant;
+      storage_class = ast::StorageClass::kHandle;
     }
   }
 
@@ -472,7 +472,7 @@
   switch (storage_class) {
     case ast::StorageClass::kStorage:
     case ast::StorageClass::kUniform:
-    case ast::StorageClass::kUniformConstant:
+    case ast::StorageClass::kHandle:
       return ast::Access::kRead;
     default:
       break;
diff --git a/src/tint/resolver/resolver_test.cc b/src/tint/resolver/resolver_test.cc
index e7c2fb4..a1967da 100644
--- a/src/tint/resolver/resolver_test.cc
+++ b/src/tint/resolver/resolver_test.cc
@@ -1765,8 +1765,7 @@
 
   EXPECT_TRUE(r()->Resolve()) << r()->error();
 
-  EXPECT_EQ(Sem().Get(var)->StorageClass(),
-            ast::StorageClass::kUniformConstant);
+  EXPECT_EQ(Sem().Get(var)->StorageClass(), ast::StorageClass::kHandle);
 }
 
 TEST_F(ResolverTest, StorageClass_SetForTexture) {
@@ -1779,8 +1778,7 @@
 
   EXPECT_TRUE(r()->Resolve()) << r()->error();
 
-  EXPECT_EQ(Sem().Get(var)->StorageClass(),
-            ast::StorageClass::kUniformConstant);
+  EXPECT_EQ(Sem().Get(var)->StorageClass(), ast::StorageClass::kHandle);
 }
 
 TEST_F(ResolverTest, StorageClass_DoesNotSetOnConst) {
diff --git a/src/tint/resolver/validation_test.cc b/src/tint/resolver/validation_test.cc
index 8b89f99..e7d0af4 100644
--- a/src/tint/resolver/validation_test.cc
+++ b/src/tint/resolver/validation_test.cc
@@ -320,7 +320,7 @@
 
 TEST_F(ResolverValidationTest, StorageClass_SamplerExplicitStorageClass) {
   auto* t = ty.sampler(ast::SamplerKind::kSampler);
-  Global(Source{{12, 34}}, "var", t, ast::StorageClass::kUniformConstant,
+  Global(Source{{12, 34}}, "var", t, ast::StorageClass::kHandle,
          ast::AttributeList{
              create<ast::BindingAttribute>(0),
              create<ast::GroupAttribute>(0),
@@ -335,7 +335,7 @@
 
 TEST_F(ResolverValidationTest, StorageClass_TextureExplicitStorageClass) {
   auto* t = ty.sampled_texture(ast::TextureDimension::k1d, ty.f32());
-  Global(Source{{12, 34}}, "var", t, ast::StorageClass::kUniformConstant,
+  Global(Source{{12, 34}}, "var", t, ast::StorageClass::kHandle,
          ast::AttributeList{
              create<ast::BindingAttribute>(0),
              create<ast::GroupAttribute>(0),
diff --git a/src/tint/resolver/validator.cc b/src/tint/resolver/validator.cc
index 2a24349..365fb25 100644
--- a/src/tint/resolver/validator.cc
+++ b/src/tint/resolver/validator.cc
@@ -562,7 +562,7 @@
   switch (var->StorageClass()) {
     case ast::StorageClass::kUniform:
     case ast::StorageClass::kStorage:
-    case ast::StorageClass::kUniformConstant: {
+    case ast::StorageClass::kHandle: {
       // https://gpuweb.github.io/gpuweb/wgsl/#resource-interface
       // Each resource variable must be declared with both group and binding
       // attributes.
diff --git a/src/tint/transform/module_scope_var_to_entry_point_param.cc b/src/tint/transform/module_scope_var_to_entry_point_param.cc
index b510d7d..fdfb3f9 100644
--- a/src/tint/transform/module_scope_var_to_entry_point_param.cc
+++ b/src/tint/transform/module_scope_var_to_entry_point_param.cc
@@ -165,7 +165,7 @@
         if (sc != ast::StorageClass::kPrivate &&
             sc != ast::StorageClass::kStorage &&
             sc != ast::StorageClass::kUniform &&
-            sc != ast::StorageClass::kUniformConstant &&
+            sc != ast::StorageClass::kHandle &&
             sc != ast::StorageClass::kWorkgroup) {
           TINT_ICE(Transform, ctx.dst->Diagnostics())
               << "unhandled module-scope storage class (" << sc << ")";
diff --git a/src/tint/writer/glsl/generator_impl.cc b/src/tint/writer/glsl/generator_impl.cc
index 5478964..40a9e2e 100644
--- a/src/tint/writer/glsl/generator_impl.cc
+++ b/src/tint/writer/glsl/generator_impl.cc
@@ -1948,7 +1948,7 @@
       return EmitUniformVariable(sem);
     case ast::StorageClass::kStorage:
       return EmitStorageVariable(sem);
-    case ast::StorageClass::kUniformConstant:
+    case ast::StorageClass::kHandle:
       return EmitHandleVariable(sem);
     case ast::StorageClass::kPrivate:
       return EmitPrivateVariable(sem);
@@ -2610,7 +2610,7 @@
       break;
     }
     case ast::StorageClass::kUniform:
-    case ast::StorageClass::kUniformConstant: {
+    case ast::StorageClass::kHandle: {
       out << "uniform ";
       break;
     }
diff --git a/src/tint/writer/hlsl/generator_impl.cc b/src/tint/writer/hlsl/generator_impl.cc
index c98b180..9b4fc51 100644
--- a/src/tint/writer/hlsl/generator_impl.cc
+++ b/src/tint/writer/hlsl/generator_impl.cc
@@ -2851,7 +2851,7 @@
       return EmitUniformVariable(sem);
     case ast::StorageClass::kStorage:
       return EmitStorageVariable(sem);
-    case ast::StorageClass::kUniformConstant:
+    case ast::StorageClass::kHandle:
       return EmitHandleVariable(sem);
     case ast::StorageClass::kPrivate:
       return EmitPrivateVariable(sem);
diff --git a/src/tint/writer/msl/generator_impl.cc b/src/tint/writer/msl/generator_impl.cc
index 0516f2f..f50ff15 100644
--- a/src/tint/writer/msl/generator_impl.cc
+++ b/src/tint/writer/msl/generator_impl.cc
@@ -2496,7 +2496,7 @@
   switch (sc) {
     case ast::StorageClass::kFunction:
     case ast::StorageClass::kPrivate:
-    case ast::StorageClass::kUniformConstant:
+    case ast::StorageClass::kHandle:
       out << "thread";
       return true;
     case ast::StorageClass::kWorkgroup:
@@ -2804,7 +2804,7 @@
 
   switch (var->StorageClass()) {
     case ast::StorageClass::kFunction:
-    case ast::StorageClass::kUniformConstant:
+    case ast::StorageClass::kHandle:
     case ast::StorageClass::kNone:
       break;
     case ast::StorageClass::kPrivate:
diff --git a/src/tint/writer/spirv/builder.cc b/src/tint/writer/spirv/builder.cc
index c944a69..c3c677b 100644
--- a/src/tint/writer/spirv/builder.cc
+++ b/src/tint/writer/spirv/builder.cc
@@ -4153,7 +4153,7 @@
       return SpvStorageClassUniform;
     case ast::StorageClass::kWorkgroup:
       return SpvStorageClassWorkgroup;
-    case ast::StorageClass::kUniformConstant:
+    case ast::StorageClass::kHandle:
       return SpvStorageClassUniformConstant;
     case ast::StorageClass::kStorage:
       return SpvStorageClassStorageBuffer;
diff --git a/src/tint/writer/spirv/builder_type_test.cc b/src/tint/writer/spirv/builder_type_test.cc
index 44e778b..e1c6422 100644
--- a/src/tint/writer/spirv/builder_type_test.cc
+++ b/src/tint/writer/spirv/builder_type_test.cc
@@ -545,8 +545,7 @@
         PtrData{ast::StorageClass::kOutput, SpvStorageClassOutput},
         PtrData{ast::StorageClass::kUniform, SpvStorageClassUniform},
         PtrData{ast::StorageClass::kWorkgroup, SpvStorageClassWorkgroup},
-        PtrData{ast::StorageClass::kUniformConstant,
-                SpvStorageClassUniformConstant},
+        PtrData{ast::StorageClass::kHandle, SpvStorageClassUniformConstant},
         PtrData{ast::StorageClass::kStorage, SpvStorageClassStorageBuffer},
         PtrData{ast::StorageClass::kPrivate, SpvStorageClassPrivate},
         PtrData{ast::StorageClass::kFunction, SpvStorageClassFunction}));