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}));