Rename builtin constant_id to override
There are no downstream usages, so we can skip deprecation. Allowing
the ID to be omitted will be done in a separate patch.
Fixed: tint:754
Change-Id: I3bd6de4d0f426fc3c66708bfd5b411a4051b375b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/49581
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/BUILD.gn b/src/BUILD.gn
index 0cdaac4..8c321d6 100644
--- a/src/BUILD.gn
+++ b/src/BUILD.gn
@@ -292,8 +292,6 @@
"ast/call_statement.h",
"ast/case_statement.cc",
"ast/case_statement.h",
- "ast/constant_id_decoration.cc",
- "ast/constant_id_decoration.h",
"ast/constructor_expression.cc",
"ast/constructor_expression.h",
"ast/continue_statement.cc",
@@ -346,6 +344,8 @@
"ast/multisampled_texture.h",
"ast/node.cc",
"ast/node.h",
+ "ast/override_decoration.cc",
+ "ast/override_decoration.h",
"ast/pipeline_stage.cc",
"ast/pipeline_stage.h",
"ast/pointer.cc",
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index dbb4681..11b363b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -74,8 +74,6 @@
ast/call_statement.h
ast/case_statement.cc
ast/case_statement.h
- ast/constant_id_decoration.cc
- ast/constant_id_decoration.h
ast/constructor_expression.cc
ast/constructor_expression.h
ast/continue_statement.cc
@@ -128,6 +126,8 @@
ast/multisampled_texture.h
ast/node.cc
ast/node.h
+ ast/override_decoration.cc
+ ast/override_decoration.h
ast/pipeline_stage.cc
ast/pipeline_stage.h
ast/pointer.cc
@@ -479,7 +479,6 @@
ast/call_expression_test.cc
ast/call_statement_test.cc
ast/case_statement_test.cc
- ast/constant_id_decoration_test.cc
ast/continue_statement_test.cc
ast/depth_texture_test.cc
ast/discard_statement_test.cc
@@ -503,6 +502,7 @@
ast/module_clone_test.cc
ast/module_test.cc
ast/multisampled_texture_test.cc
+ ast/override_decoration_test.cc
ast/pointer_test.cc
ast/return_statement_test.cc
ast/sampled_texture_test.cc
diff --git a/src/ast/binding_decoration_test.cc b/src/ast/binding_decoration_test.cc
index 8f32660..4b4b29f 100644
--- a/src/ast/binding_decoration_test.cc
+++ b/src/ast/binding_decoration_test.cc
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/test_helper.h"
namespace tint {
@@ -30,7 +30,7 @@
Decoration* d = create<BindingDecoration>(2);
EXPECT_TRUE(d->Is<BindingDecoration>());
EXPECT_FALSE(d->Is<BuiltinDecoration>());
- EXPECT_FALSE(d->Is<ConstantIdDecoration>());
+ EXPECT_FALSE(d->Is<OverrideDecoration>());
EXPECT_FALSE(d->Is<LocationDecoration>());
EXPECT_FALSE(d->Is<GroupDecoration>());
}
diff --git a/src/ast/builtin_decoration_test.cc b/src/ast/builtin_decoration_test.cc
index 90f4670..e11b231 100644
--- a/src/ast/builtin_decoration_test.cc
+++ b/src/ast/builtin_decoration_test.cc
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/test_helper.h"
namespace tint {
@@ -30,7 +30,7 @@
Decoration* d = create<BuiltinDecoration>(Builtin::kFragDepth);
EXPECT_FALSE(d->Is<BindingDecoration>());
EXPECT_TRUE(d->Is<BuiltinDecoration>());
- EXPECT_FALSE(d->Is<ConstantIdDecoration>());
+ EXPECT_FALSE(d->Is<OverrideDecoration>());
EXPECT_FALSE(d->Is<LocationDecoration>());
EXPECT_FALSE(d->Is<GroupDecoration>());
}
diff --git a/src/ast/constant_id_decoration.cc b/src/ast/constant_id_decoration.cc
deleted file mode 100644
index 64f145e..0000000
--- a/src/ast/constant_id_decoration.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2020 The Tint Authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "src/ast/constant_id_decoration.h"
-
-#include "src/program_builder.h"
-
-TINT_INSTANTIATE_TYPEINFO(tint::ast::ConstantIdDecoration);
-
-namespace tint {
-namespace ast {
-
-ConstantIdDecoration::ConstantIdDecoration(ProgramID program_id,
- const Source& source,
- uint32_t val)
- : Base(program_id, source), value_(val) {}
-
-ConstantIdDecoration::~ConstantIdDecoration() = default;
-
-void ConstantIdDecoration::to_str(const sem::Info&,
- std::ostream& out,
- size_t indent) const {
- make_indent(out, indent);
- out << "ConstantIdDecoration{" << value_ << "}" << std::endl;
-}
-
-ConstantIdDecoration* ConstantIdDecoration::Clone(CloneContext* ctx) const {
- // Clone arguments outside of create() call to have deterministic ordering
- auto src = ctx->Clone(source());
- return ctx->dst->create<ConstantIdDecoration>(src, value_);
-}
-
-} // namespace ast
-} // namespace tint
diff --git a/src/ast/group_decoration_test.cc b/src/ast/group_decoration_test.cc
index 9dfbdd4..79999c1 100644
--- a/src/ast/group_decoration_test.cc
+++ b/src/ast/group_decoration_test.cc
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/test_helper.h"
namespace tint {
@@ -30,7 +30,7 @@
Decoration* d = create<GroupDecoration>(2);
EXPECT_FALSE(d->Is<BindingDecoration>());
EXPECT_FALSE(d->Is<BuiltinDecoration>());
- EXPECT_FALSE(d->Is<ConstantIdDecoration>());
+ EXPECT_FALSE(d->Is<OverrideDecoration>());
EXPECT_FALSE(d->Is<LocationDecoration>());
EXPECT_TRUE(d->Is<GroupDecoration>());
}
diff --git a/src/ast/location_decoration_test.cc b/src/ast/location_decoration_test.cc
index fae40f9..3b72d75 100644
--- a/src/ast/location_decoration_test.cc
+++ b/src/ast/location_decoration_test.cc
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/test_helper.h"
namespace tint {
@@ -30,7 +30,7 @@
Decoration* d = create<LocationDecoration>(2);
EXPECT_FALSE(d->Is<BindingDecoration>());
EXPECT_FALSE(d->Is<BuiltinDecoration>());
- EXPECT_FALSE(d->Is<ConstantIdDecoration>());
+ EXPECT_FALSE(d->Is<OverrideDecoration>());
EXPECT_TRUE(d->Is<LocationDecoration>());
EXPECT_FALSE(d->Is<GroupDecoration>());
}
diff --git a/src/ast/override_decoration.cc b/src/ast/override_decoration.cc
new file mode 100644
index 0000000..c50a993
--- /dev/null
+++ b/src/ast/override_decoration.cc
@@ -0,0 +1,45 @@
+// Copyright 2020 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "src/ast/override_decoration.h"
+
+#include "src/program_builder.h"
+
+TINT_INSTANTIATE_TYPEINFO(tint::ast::OverrideDecoration);
+
+namespace tint {
+namespace ast {
+
+OverrideDecoration::OverrideDecoration(ProgramID program_id,
+ const Source& source,
+ uint32_t val)
+ : Base(program_id, source), value_(val) {}
+
+OverrideDecoration::~OverrideDecoration() = default;
+
+void OverrideDecoration::to_str(const sem::Info&,
+ std::ostream& out,
+ size_t indent) const {
+ make_indent(out, indent);
+ out << "OverrideDecoration{" << value_ << "}" << std::endl;
+}
+
+OverrideDecoration* OverrideDecoration::Clone(CloneContext* ctx) const {
+ // Clone arguments outside of create() call to have deterministic ordering
+ auto src = ctx->Clone(source());
+ return ctx->dst->create<OverrideDecoration>(src, value_);
+}
+
+} // namespace ast
+} // namespace tint
diff --git a/src/ast/constant_id_decoration.h b/src/ast/override_decoration.h
similarity index 72%
rename from src/ast/constant_id_decoration.h
rename to src/ast/override_decoration.h
index 9261e01..b2f8b3b 100644
--- a/src/ast/constant_id_decoration.h
+++ b/src/ast/override_decoration.h
@@ -12,27 +12,25 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef SRC_AST_CONSTANT_ID_DECORATION_H_
-#define SRC_AST_CONSTANT_ID_DECORATION_H_
+#ifndef SRC_AST_OVERRIDE_DECORATION_H_
+#define SRC_AST_OVERRIDE_DECORATION_H_
#include "src/ast/decoration.h"
namespace tint {
namespace ast {
-/// A constant id decoration
-class ConstantIdDecoration : public Castable<ConstantIdDecoration, Decoration> {
+/// An override decoration
+class OverrideDecoration : public Castable<OverrideDecoration, Decoration> {
public:
/// constructor
/// @param program_id the identifier of the program that owns this node
/// @param source the source of this decoration
- /// @param val the constant_id value
- ConstantIdDecoration(ProgramID program_id,
- const Source& source,
- uint32_t val);
- ~ConstantIdDecoration() override;
+ /// @param val the override value
+ OverrideDecoration(ProgramID program_id, const Source& source, uint32_t val);
+ ~OverrideDecoration() override;
- /// @returns the constant id value
+ /// @returns the override id value
uint32_t value() const { return value_; }
/// Outputs the decoration to the given stream
@@ -47,7 +45,7 @@
/// `ctx`.
/// @param ctx the clone context
/// @return the newly cloned node
- ConstantIdDecoration* Clone(CloneContext* ctx) const override;
+ OverrideDecoration* Clone(CloneContext* ctx) const override;
private:
uint32_t const value_;
@@ -56,4 +54,4 @@
} // namespace ast
} // namespace tint
-#endif // SRC_AST_CONSTANT_ID_DECORATION_H_
+#endif // SRC_AST_OVERRIDE_DECORATION_H_
diff --git a/src/ast/constant_id_decoration_test.cc b/src/ast/override_decoration_test.cc
similarity index 67%
rename from src/ast/constant_id_decoration_test.cc
rename to src/ast/override_decoration_test.cc
index 1dd9bf0..b5529cf 100644
--- a/src/ast/constant_id_decoration_test.cc
+++ b/src/ast/override_decoration_test.cc
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/test_helper.h"
@@ -20,25 +20,25 @@
namespace ast {
namespace {
-using ConstantIdDecorationTest = TestHelper;
+using OverrideDecorationTest = TestHelper;
-TEST_F(ConstantIdDecorationTest, Creation) {
- auto* d = create<ConstantIdDecoration>(12);
+TEST_F(OverrideDecorationTest, Creation) {
+ auto* d = create<OverrideDecoration>(12);
EXPECT_EQ(12u, d->value());
}
-TEST_F(ConstantIdDecorationTest, Is) {
- Decoration* d = create<ConstantIdDecoration>(27);
+TEST_F(OverrideDecorationTest, Is) {
+ Decoration* d = create<OverrideDecoration>(27);
EXPECT_FALSE(d->Is<BindingDecoration>());
EXPECT_FALSE(d->Is<BuiltinDecoration>());
- EXPECT_TRUE(d->Is<ConstantIdDecoration>());
+ EXPECT_TRUE(d->Is<OverrideDecoration>());
EXPECT_FALSE(d->Is<LocationDecoration>());
EXPECT_FALSE(d->Is<GroupDecoration>());
}
-TEST_F(ConstantIdDecorationTest, ToStr) {
- auto* d = create<ConstantIdDecoration>(1200);
- EXPECT_EQ(str(d), R"(ConstantIdDecoration{1200}
+TEST_F(OverrideDecorationTest, ToStr) {
+ auto* d = create<OverrideDecoration>(1200);
+ EXPECT_EQ(str(d), R"(OverrideDecoration{1200}
)");
}
diff --git a/src/ast/variable.cc b/src/ast/variable.cc
index 69a2964..9d62164 100644
--- a/src/ast/variable.cc
+++ b/src/ast/variable.cc
@@ -14,7 +14,7 @@
#include "src/ast/variable.h"
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/program_builder.h"
#include "src/sem/variable.h"
@@ -63,7 +63,7 @@
}
uint32_t Variable::constant_id() const {
- if (auto* cid = GetDecoration<ConstantIdDecoration>(decorations_)) {
+ if (auto* cid = GetDecoration<OverrideDecoration>(decorations_)) {
return cid->value();
}
TINT_ASSERT(false);
diff --git a/src/ast/variable.h b/src/ast/variable.h
index 281c8b4..66c3cd7 100644
--- a/src/ast/variable.h
+++ b/src/ast/variable.h
@@ -146,8 +146,8 @@
/// @returns the binding point information for the variable
BindingPoint binding_point() const;
- /// @returns the constant_id value for the variable. Assumes that this
- /// variable has a constant ID decoration.
+ /// @returns the pipeline constant id value for the variable. Assumes that
+ /// this variable has an override decoration.
uint32_t constant_id() const;
/// Clones this node and all transitive child nodes using the `CloneContext`
diff --git a/src/ast/variable_test.cc b/src/ast/variable_test.cc
index c7bfd5f..a837701 100644
--- a/src/ast/variable_test.cc
+++ b/src/ast/variable_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "gtest/gtest-spi.h"
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/test_helper.h"
namespace tint {
@@ -115,13 +115,13 @@
DecorationList{
create<LocationDecoration>(1),
create<BuiltinDecoration>(Builtin::kPosition),
- create<ConstantIdDecoration>(1200),
+ create<OverrideDecoration>(1200),
});
auto& decorations = var->decorations();
EXPECT_TRUE(ast::HasDecoration<ast::LocationDecoration>(decorations));
EXPECT_TRUE(ast::HasDecoration<ast::BuiltinDecoration>(decorations));
- EXPECT_TRUE(ast::HasDecoration<ast::ConstantIdDecoration>(decorations));
+ EXPECT_TRUE(ast::HasDecoration<ast::OverrideDecoration>(decorations));
auto* location = ast::GetDecoration<ast::LocationDecoration>(decorations);
ASSERT_NE(nullptr, location);
@@ -172,7 +172,7 @@
TEST_F(VariableTest, ConstantId) {
auto* var = Var("my_var", ty.i32(), StorageClass::kFunction, nullptr,
DecorationList{
- create<ConstantIdDecoration>(1200),
+ create<OverrideDecoration>(1200),
});
EXPECT_EQ(var->constant_id(), 1200u);
diff --git a/src/inspector/inspector.cc b/src/inspector/inspector.cc
index d1b38e9..578c07f 100644
--- a/src/inspector/inspector.cc
+++ b/src/inspector/inspector.cc
@@ -17,9 +17,9 @@
#include <utility>
#include "src/ast/bool_literal.h"
-#include "src/ast/constant_id_decoration.h"
#include "src/ast/float_literal.h"
#include "src/ast/module.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/ast/sint_literal.h"
#include "src/ast/uint_literal.h"
@@ -273,7 +273,7 @@
std::map<uint32_t, Scalar> Inspector::GetConstantIDs() {
std::map<uint32_t, Scalar> result;
for (auto* var : program_->AST().GlobalVariables()) {
- if (!ast::HasDecoration<ast::ConstantIdDecoration>(var->decorations())) {
+ if (!ast::HasDecoration<ast::OverrideDecoration>(var->decorations())) {
continue;
}
diff --git a/src/inspector/inspector_test.cc b/src/inspector/inspector_test.cc
index 15324a6..ff4eb84 100644
--- a/src/inspector/inspector_test.cc
+++ b/src/inspector/inspector_test.cc
@@ -14,7 +14,7 @@
#include "gtest/gtest.h"
#include "src/ast/call_statement.h"
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/stage_decoration.h"
#include "src/ast/struct_block_decoration.h"
#include "src/ast/workgroup_decoration.h"
@@ -151,7 +151,7 @@
}
GlobalConst(name, type, constructor,
ast::DecorationList{
- create<ast::ConstantIdDecoration>(id),
+ create<ast::OverrideDecoration>(id),
});
}
diff --git a/src/reader/spirv/namer.cc b/src/reader/spirv/namer.cc
index 67450d1..b459712 100644
--- a/src/reader/spirv/namer.cc
+++ b/src/reader/spirv/namer.cc
@@ -28,32 +28,32 @@
const char* kWGSLReservedWords[] = {
// Please keep this list sorted
- "array", "as", "asm",
- "bf16", "binding", "block",
- "bool", "break", "builtin",
- "case", "cast", "compute",
- "const", "constant_id", "continue",
- "default", "discard", "do",
- "else", "elseif", "entry_point",
- "enum", "f16", "f32",
- "fallthrough", "false", "fn",
- "for", "fragment", "i16",
- "i32", "i64", "i8",
- "if", "image", "import",
- "in", "let", "location",
- "loop", "mat2x2", "mat2x3",
- "mat2x4", "mat3x2", "mat3x3",
- "mat3x4", "mat4x2", "mat4x3",
- "mat4x4", "offset", "out",
- "premerge", "private", "ptr",
- "regardless", "return", "set",
- "storage", "struct", "switch",
- "true", "type", "typedef",
- "u16", "u32", "u64",
- "u8", "uniform", "uniform_constant",
- "unless", "using", "var",
- "vec2", "vec3", "vec4",
- "vertex", "void", "while",
+ "array", "as", "asm",
+ "bf16", "binding", "block",
+ "bool", "break", "builtin",
+ "case", "cast", "compute",
+ "const", "continue", "default",
+ "discard", "do", "else",
+ "elseif", "entry_point", "enum",
+ "f16", "f32", "fallthrough",
+ "false", "fn", "for",
+ "fragment", "i16", "i32",
+ "i64", "i8", "if",
+ "image", "import", "in",
+ "let", "location", "loop",
+ "mat2x2", "mat2x3", "mat2x4",
+ "mat3x2", "mat3x3", "mat3x4",
+ "mat4x2", "mat4x3", "mat4x4",
+ "offset", "out", "override",
+ "premerge", "private", "ptr",
+ "regardless", "return", "set",
+ "storage", "struct", "switch",
+ "true", "type", "typedef",
+ "u16", "u32", "u64",
+ "u8", "uniform", "uniform_constant",
+ "unless", "using", "var",
+ "vec2", "vec3", "vec4",
+ "vertex", "void", "while",
"workgroup",
};
diff --git a/src/reader/spirv/namer_test.cc b/src/reader/spirv/namer_test.cc
index 2ef9943..28f0b8c 100644
--- a/src/reader/spirv/namer_test.cc
+++ b/src/reader/spirv/namer_test.cc
@@ -372,32 +372,32 @@
SpvNamerReservedWordTest,
::testing::ValuesIn(std::vector<std::string>{
// Please keep this list sorted.
- "array", "as", "asm",
- "bf16", "binding", "block",
- "bool", "break", "builtin",
- "case", "cast", "compute",
- "const", "constant_id", "continue",
- "default", "discard", "do",
- "else", "elseif", "entry_point",
- "enum", "f16", "f32",
- "fallthrough", "false", "fn",
- "for", "fragment", "i16",
- "i32", "i64", "i8",
- "if", "image", "import",
- "in", "let", "location",
- "loop", "mat2x2", "mat2x3",
- "mat2x4", "mat3x2", "mat3x3",
- "mat3x4", "mat4x2", "mat4x3",
- "mat4x4", "offset", "out",
- "premerge", "private", "ptr",
- "regardless", "return", "set",
- "storage", "struct", "switch",
- "true", "type", "typedef",
- "u16", "u32", "u64",
- "u8", "uniform", "uniform_constant",
- "unless", "using", "var",
- "vec2", "vec3", "vec4",
- "vertex", "void", "while",
+ "array", "as", "asm",
+ "bf16", "binding", "block",
+ "bool", "break", "builtin",
+ "case", "cast", "compute",
+ "const", "continue", "default",
+ "discard", "do", "else",
+ "elseif", "entry_point", "enum",
+ "f16", "f32", "fallthrough",
+ "false", "fn", "for",
+ "fragment", "i16", "i32",
+ "i64", "i8", "if",
+ "image", "import", "in",
+ "let", "location", "loop",
+ "mat2x2", "mat2x3", "mat2x4",
+ "mat3x2", "mat3x3", "mat3x4",
+ "mat4x2", "mat4x3", "mat4x4",
+ "offset", "out", "override",
+ "premerge", "private", "ptr",
+ "regardless", "return", "set",
+ "storage", "struct", "switch",
+ "true", "type", "typedef",
+ "u16", "u32", "u64",
+ "u8", "uniform", "uniform_constant",
+ "unless", "using", "var",
+ "vec2", "vec3", "vec4",
+ "vertex", "void", "while",
"workgroup",
}));
diff --git a/src/reader/spirv/parser_impl.cc b/src/reader/spirv/parser_impl.cc
index dd0e0fa..fe246ba 100644
--- a/src/reader/spirv/parser_impl.cc
+++ b/src/reader/spirv/parser_impl.cc
@@ -21,7 +21,7 @@
#include "source/opt/build_module.h"
#include "src/ast/bitcast_expression.h"
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/struct_block_decoration.h"
#include "src/reader/spirv/function.h"
#include "src/sem/access_control_type.h"
@@ -1157,7 +1157,7 @@
ast::DecorationList spec_id_decos;
for (const auto& deco : GetDecorationsFor(inst.result_id())) {
if ((deco.size() == 2) && (deco[0] == SpvDecorationSpecId)) {
- auto* cid = create<ast::ConstantIdDecoration>(Source{}, deco[1]);
+ auto* cid = create<ast::OverrideDecoration>(Source{}, deco[1]);
spec_id_decos.push_back(cid);
break;
}
diff --git a/src/reader/spirv/parser_impl_module_var_test.cc b/src/reader/spirv/parser_impl_module_var_test.cc
index 9279b2b..67ca1f6 100644
--- a/src/reader/spirv/parser_impl_module_var_test.cc
+++ b/src/reader/spirv/parser_impl_module_var_test.cc
@@ -1851,7 +1851,7 @@
EXPECT_THAT(module_str, HasSubstr(R"(
VariableConst{
Decorations{
- ConstantIdDecoration{12}
+ OverrideDecoration{12}
}
myconst
none
@@ -1876,7 +1876,7 @@
EXPECT_THAT(module_str, HasSubstr(R"(
VariableConst{
Decorations{
- ConstantIdDecoration{12}
+ OverrideDecoration{12}
}
myconst
none
@@ -1901,7 +1901,7 @@
EXPECT_THAT(module_str, HasSubstr(R"(
VariableConst{
Decorations{
- ConstantIdDecoration{12}
+ OverrideDecoration{12}
}
myconst
none
@@ -1926,7 +1926,7 @@
EXPECT_THAT(module_str, HasSubstr(R"(
VariableConst{
Decorations{
- ConstantIdDecoration{12}
+ OverrideDecoration{12}
}
myconst
none
@@ -1951,7 +1951,7 @@
EXPECT_THAT(module_str, HasSubstr(R"(
VariableConst{
Decorations{
- ConstantIdDecoration{12}
+ OverrideDecoration{12}
}
myconst
none
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index 99d7548..a49f475 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -20,13 +20,13 @@
#include "src/ast/bitcast_expression.h"
#include "src/ast/break_statement.h"
#include "src/ast/call_statement.h"
-#include "src/ast/constant_id_decoration.h"
#include "src/ast/continue_statement.h"
#include "src/ast/discard_statement.h"
#include "src/ast/external_texture.h"
#include "src/ast/fallthrough_statement.h"
#include "src/ast/if_statement.h"
#include "src/ast/loop_statement.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/return_statement.h"
#include "src/ast/stage_decoration.h"
#include "src/ast/struct_block_decoration.h"
@@ -121,9 +121,9 @@
const char kBindingDecoration[] = "binding";
const char kBlockDecoration[] = "block";
const char kBuiltinDecoration[] = "builtin";
-const char kConstantIdDecoration[] = "constant_id";
const char kGroupDecoration[] = "group";
const char kLocationDecoration[] = "location";
+const char kOverrideDecoration[] = "override";
const char kOffsetDecoration[] = "offset"; // DEPRECATED
const char kSizeDecoration[] = "size";
const char kAlignDecoration[] = "align";
@@ -139,8 +139,8 @@
auto s = t.to_str();
return s == kAccessDecoration || s == kAlignDecoration ||
s == kBindingDecoration || s == kBlockDecoration ||
- s == kBuiltinDecoration || s == kConstantIdDecoration ||
- s == kGroupDecoration || s == kLocationDecoration ||
+ s == kBuiltinDecoration || s == kGroupDecoration ||
+ s == kLocationDecoration || s == kOverrideDecoration ||
s == kOffsetDecoration || s == kSetDecoration ||
s == kSizeDecoration || s == kStageDecoration ||
s == kStrideDecoration || s == kWorkgroupSizeDecoration;
@@ -3102,14 +3102,14 @@
});
}
- if (s == kConstantIdDecoration) {
- const char* use = "constant_id decoration";
+ if (s == kOverrideDecoration) {
+ const char* use = "override decoration";
return expect_paren_block(use, [&]() -> Result {
auto val = expect_positive_sint(use);
if (val.errored)
return Failure::kErrored;
- return create<ast::ConstantIdDecoration>(t.source(), val.value);
+ return create<ast::OverrideDecoration>(t.source(), val.value);
});
}
diff --git a/src/reader/wgsl/parser_impl_global_constant_decl_test.cc b/src/reader/wgsl/parser_impl_global_constant_decl_test.cc
index 0cdfb90..f0317b6 100644
--- a/src/reader/wgsl/parser_impl_global_constant_decl_test.cc
+++ b/src/reader/wgsl/parser_impl_global_constant_decl_test.cc
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
namespace tint {
@@ -45,7 +45,7 @@
EXPECT_TRUE(e->constructor()->Is<ast::ConstructorExpression>());
EXPECT_FALSE(
- ast::HasDecoration<ast::ConstantIdDecoration>(e.value->decorations()));
+ ast::HasDecoration<ast::OverrideDecoration>(e.value->decorations()));
}
TEST_F(ParserImplTest, GlobalConstantDecl_MissingEqual) {
@@ -100,8 +100,8 @@
EXPECT_EQ(p->error(), "1:14: unable to parse constant literal");
}
-TEST_F(ParserImplTest, GlobalConstantDec_ConstantId) {
- auto p = parser("[[constant_id(7)]] let a : f32 = 1.");
+TEST_F(ParserImplTest, GlobalConstantDec_Override_WithId) {
+ auto p = parser("[[override(7)]] let a : f32 = 1.");
auto decos = p->decoration_list();
EXPECT_FALSE(decos.errored);
EXPECT_TRUE(decos.matched);
@@ -118,20 +118,20 @@
EXPECT_TRUE(e->declared_type()->Is<sem::F32>());
EXPECT_EQ(e->source().range.begin.line, 1u);
- EXPECT_EQ(e->source().range.begin.column, 24u);
+ EXPECT_EQ(e->source().range.begin.column, 21u);
EXPECT_EQ(e->source().range.end.line, 1u);
- EXPECT_EQ(e->source().range.end.column, 25u);
+ EXPECT_EQ(e->source().range.end.column, 22u);
ASSERT_NE(e->constructor(), nullptr);
EXPECT_TRUE(e->constructor()->Is<ast::ConstructorExpression>());
EXPECT_TRUE(
- ast::HasDecoration<ast::ConstantIdDecoration>(e.value->decorations()));
+ ast::HasDecoration<ast::OverrideDecoration>(e.value->decorations()));
EXPECT_EQ(e.value->constant_id(), 7u);
}
-TEST_F(ParserImplTest, GlobalConstantDec_ConstantId_Missing) {
- auto p = parser("[[constant_id()]] let a : f32 = 1.");
+TEST_F(ParserImplTest, GlobalConstantDec_Override_MissingId) {
+ auto p = parser("[[override()]] let a : f32 = 1.");
auto decos = p->decoration_list();
EXPECT_TRUE(decos.errored);
EXPECT_FALSE(decos.matched);
@@ -143,11 +143,11 @@
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(),
- "1:15: expected signed integer literal for constant_id decoration");
+ "1:12: expected signed integer literal for override decoration");
}
-TEST_F(ParserImplTest, GlobalConstantDec_ConstantId_Invalid) {
- auto p = parser("[[constant_id(-7)]] let a : f32 = 1.");
+TEST_F(ParserImplTest, GlobalConstantDec_Override_InvalidId) {
+ auto p = parser("[[override(-7)]] let a : f32 = 1.");
auto decos = p->decoration_list();
EXPECT_TRUE(decos.errored);
EXPECT_FALSE(decos.matched);
@@ -158,10 +158,10 @@
ASSERT_NE(e.value, nullptr);
EXPECT_TRUE(p->has_error());
- EXPECT_EQ(p->error(), "1:15: constant_id decoration must be positive");
+ EXPECT_EQ(p->error(), "1:12: override decoration must be positive");
}
-TEST_F(ParserImplTest, GlobalConstantDec_ConstantId_Const) {
+TEST_F(ParserImplTest, GlobalConstantDec_Const) {
auto p = parser("const a : i32 = 1");
auto decos = p->decoration_list();
EXPECT_FALSE(decos.errored);
diff --git a/src/resolver/decoration_validation_test.cc b/src/resolver/decoration_validation_test.cc
index a6862a0..a482070 100644
--- a/src/resolver/decoration_validation_test.cc
+++ b/src/resolver/decoration_validation_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/ast/access_decoration.h"
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/return_statement.h"
#include "src/ast/stage_decoration.h"
#include "src/ast/struct_block_decoration.h"
@@ -64,7 +64,7 @@
case DecorationKind::kBuiltin:
return builder.Builtin(source, ast::Builtin::kPosition);
case DecorationKind::kConstantId:
- return builder.create<ast::ConstantIdDecoration>(source, 0u);
+ return builder.create<ast::OverrideDecoration>(source, 0u);
case DecorationKind::kGroup:
return builder.create<ast::GroupDecoration>(source, 1u);
case DecorationKind::kLocation:
diff --git a/src/resolver/resolver.cc b/src/resolver/resolver.cc
index 3e21014..471552b 100644
--- a/src/resolver/resolver.cc
+++ b/src/resolver/resolver.cc
@@ -24,7 +24,6 @@
#include "src/ast/bitcast_expression.h"
#include "src/ast/break_statement.h"
#include "src/ast/call_statement.h"
-#include "src/ast/constant_id_decoration.h"
#include "src/ast/continue_statement.h"
#include "src/ast/depth_texture.h"
#include "src/ast/discard_statement.h"
@@ -33,6 +32,7 @@
#include "src/ast/internal_decoration.h"
#include "src/ast/loop_statement.h"
#include "src/ast/matrix.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/pointer.h"
#include "src/ast/return_statement.h"
#include "src/ast/sampled_texture.h"
@@ -401,7 +401,7 @@
Mark(deco);
if (!(deco->Is<ast::BindingDecoration>() ||
deco->Is<ast::BuiltinDecoration>() ||
- deco->Is<ast::ConstantIdDecoration>() ||
+ deco->Is<ast::OverrideDecoration>() ||
deco->Is<ast::GroupDecoration>() ||
deco->Is<ast::LocationDecoration>())) {
diagnostics_.add_error("decoration is not valid for variables",
diff --git a/src/transform/bound_array_accessors_test.cc b/src/transform/bound_array_accessors_test.cc
index bda6258..c8cb2b4 100644
--- a/src/transform/bound_array_accessors_test.cc
+++ b/src/transform/bound_array_accessors_test.cc
@@ -499,7 +499,7 @@
// TODO(dsinclair): Implement when constant_id exists
TEST_F(BoundArrayAccessorsTest, DISABLED_Vector_Constant_Id_Clamps) {
- // [[constant_id(1300)]] let idx : i32;
+ // [[override(1300)]] let idx : i32;
// var a : vec3<f32>
// var b : f32 = a[idx]
//
@@ -508,7 +508,7 @@
// TODO(dsinclair): Implement when constant_id exists
TEST_F(BoundArrayAccessorsTest, DISABLED_Array_Constant_Id_Clamps) {
- // [[constant_id(1300)]] let idx : i32;
+ // [[override(1300)]] let idx : i32;
// var a : array<f32, 4>
// var b : f32 = a[idx]
//
@@ -517,7 +517,7 @@
// TODO(dsinclair): Implement when constant_id exists
TEST_F(BoundArrayAccessorsTest, DISABLED_Matrix_Column_Constant_Id_Clamps) {
- // [[constant_id(1300)]] let idx : i32;
+ // [[override(1300)]] let idx : i32;
// var a : mat3x2<f32>
// var b : f32 = a[idx][1]
//
@@ -526,7 +526,7 @@
// TODO(dsinclair): Implement when constant_id exists
TEST_F(BoundArrayAccessorsTest, DISABLED_Matrix_Row_Constant_Id_Clamps) {
- // [[constant_id(1300)]] let idx : i32;
+ // [[override(1300)]] let idx : i32;
// var a : mat3x2<f32>
// var b : f32 = a[1][idx]
//
diff --git a/src/writer/hlsl/generator_impl.cc b/src/writer/hlsl/generator_impl.cc
index 98e8592..ffdef07 100644
--- a/src/writer/hlsl/generator_impl.cc
+++ b/src/writer/hlsl/generator_impl.cc
@@ -18,9 +18,9 @@
#include <vector>
#include "src/ast/call_statement.h"
-#include "src/ast/constant_id_decoration.h"
#include "src/ast/fallthrough_statement.h"
#include "src/ast/internal_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/variable_decl_statement.h"
#include "src/sem/access_control_type.h"
#include "src/sem/array.h"
@@ -2681,7 +2681,7 @@
make_indent(out);
for (auto* d : var->decorations()) {
- if (!d->Is<ast::ConstantIdDecoration>()) {
+ if (!d->Is<ast::OverrideDecoration>()) {
diagnostics_.add_error("Decorated const values not valid");
return false;
}
@@ -2703,7 +2703,7 @@
auto* sem = builder_.Sem().Get(var);
auto* type = sem->Type();
- if (ast::HasDecoration<ast::ConstantIdDecoration>(var->decorations())) {
+ if (ast::HasDecoration<ast::OverrideDecoration>(var->decorations())) {
auto const_id = var->constant_id();
out << "#ifndef WGSL_SPEC_CONSTANT_" << const_id << std::endl;
diff --git a/src/writer/hlsl/generator_impl_module_constant_test.cc b/src/writer/hlsl/generator_impl_module_constant_test.cc
index 405b916..1f9a206 100644
--- a/src/writer/hlsl/generator_impl_module_constant_test.cc
+++ b/src/writer/hlsl/generator_impl_module_constant_test.cc
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/writer/hlsl/test_helper.h"
namespace tint {
@@ -35,7 +35,7 @@
TEST_F(HlslGeneratorImplTest_ModuleConstant, Emit_SpecConstant) {
auto* var = Const("pos", ty.f32(), Expr(3.0f),
ast::DecorationList{
- create<ast::ConstantIdDecoration>(23),
+ create<ast::OverrideDecoration>(23),
});
WrapInFunction(Decl(var));
@@ -53,7 +53,7 @@
TEST_F(HlslGeneratorImplTest_ModuleConstant, Emit_SpecConstant_NoConstructor) {
auto* var = Const("pos", ty.f32(), nullptr,
ast::DecorationList{
- create<ast::ConstantIdDecoration>(23),
+ create<ast::OverrideDecoration>(23),
});
WrapInFunction(Decl(var));
diff --git a/src/writer/hlsl/generator_impl_workgroup_var_test.cc b/src/writer/hlsl/generator_impl_workgroup_var_test.cc
index 9fdd5b4..ca73fdd 100644
--- a/src/writer/hlsl/generator_impl_workgroup_var_test.cc
+++ b/src/writer/hlsl/generator_impl_workgroup_var_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "gmock/gmock.h"
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/stage_decoration.h"
#include "src/writer/hlsl/test_helper.h"
diff --git a/src/writer/msl/generator_impl.cc b/src/writer/msl/generator_impl.cc
index fc31953..e0378a0 100644
--- a/src/writer/msl/generator_impl.cc
+++ b/src/writer/msl/generator_impl.cc
@@ -21,10 +21,10 @@
#include "src/ast/bool_literal.h"
#include "src/ast/call_statement.h"
-#include "src/ast/constant_id_decoration.h"
#include "src/ast/fallthrough_statement.h"
#include "src/ast/float_literal.h"
#include "src/ast/module.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/sint_literal.h"
#include "src/ast/uint_literal.h"
#include "src/ast/variable_decl_statement.h"
@@ -2250,7 +2250,7 @@
make_indent();
for (auto* d : var->decorations()) {
- if (!d->Is<ast::ConstantIdDecoration>()) {
+ if (!d->Is<ast::OverrideDecoration>()) {
diagnostics_.add_error("Decorated const values not valid");
return false;
}
@@ -2269,7 +2269,7 @@
out_ << " " << program_->Symbols().NameFor(var->symbol());
}
- if (ast::HasDecoration<ast::ConstantIdDecoration>(var->decorations())) {
+ if (ast::HasDecoration<ast::OverrideDecoration>(var->decorations())) {
out_ << " [[function_constant(" << var->constant_id() << ")]]";
} else if (var->constructor() != nullptr) {
out_ << " = ";
diff --git a/src/writer/msl/generator_impl_module_constant_test.cc b/src/writer/msl/generator_impl_module_constant_test.cc
index c793214..a939ee2 100644
--- a/src/writer/msl/generator_impl_module_constant_test.cc
+++ b/src/writer/msl/generator_impl_module_constant_test.cc
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/writer/msl/test_helper.h"
namespace tint {
@@ -35,7 +35,7 @@
TEST_F(MslGeneratorImplTest, Emit_SpecConstant) {
auto* var = Const("pos", ty.f32(), Expr(3.f),
ast::DecorationList{
- create<ast::ConstantIdDecoration>(23),
+ create<ast::OverrideDecoration>(23),
});
WrapInFunction(Decl(var));
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index b99323e..98f10e3 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -19,8 +19,8 @@
#include "spirv/unified1/GLSL.std.450.h"
#include "src/ast/call_statement.h"
-#include "src/ast/constant_id_decoration.h"
#include "src/ast/fallthrough_statement.h"
+#include "src/ast/override_decoration.h"
#include "src/sem/array.h"
#include "src/sem/call.h"
#include "src/sem/depth_texture_type.h"
@@ -745,12 +745,12 @@
} else if (!type_no_ac->Is<sem::Sampler>()) {
// Certain cases require us to generate a constructor value.
//
- // 1- ConstantId's must be attached to the OpConstant, if we have a
- // variable with a constant_id that doesn't have a constructor we make
- // one
+ // 1- Pipeline constant IDs must be attached to the OpConstant, if we have a
+ // variable with an override attribute that doesn't have a constructor we
+ // make one
// 2- If we don't have a constructor and we're an Output or Private variable
// then WGSL requires an initializer.
- if (ast::HasDecoration<ast::ConstantIdDecoration>(var->decorations())) {
+ if (ast::HasDecoration<ast::OverrideDecoration>(var->decorations())) {
if (type_no_ac->Is<sem::F32>()) {
ast::FloatLiteral l(ProgramID(), Source{}, 0.0f);
init_id = GenerateLiteralIfNeeded(var, &l);
@@ -764,7 +764,7 @@
ast::BoolLiteral l(ProgramID(), Source{}, false);
init_id = GenerateLiteralIfNeeded(var, &l);
} else {
- error_ = "invalid type for constant_id, must be scalar";
+ error_ = "invalid type for pipeline constant ID, must be scalar";
return false;
}
if (init_id == 0) {
@@ -802,7 +802,7 @@
push_annot(spv::Op::OpDecorate, {Operand::Int(var_id),
Operand::Int(SpvDecorationDescriptorSet),
Operand::Int(group->value())});
- } else if (deco->Is<ast::ConstantIdDecoration>()) {
+ } else if (deco->Is<ast::OverrideDecoration>()) {
// Spec constants are handled elsewhere
} else {
error_ = "unknown decoration";
@@ -1492,8 +1492,7 @@
ast::Literal* lit) {
ScalarConstant constant;
- if (var &&
- ast::HasDecoration<ast::ConstantIdDecoration>(var->decorations())) {
+ if (var && ast::HasDecoration<ast::OverrideDecoration>(var->decorations())) {
constant.is_spec_op = true;
constant.constant_id = var->constant_id();
}
diff --git a/src/writer/spirv/builder_global_variable_test.cc b/src/writer/spirv/builder_global_variable_test.cc
index 53b0b5a..3551e36 100644
--- a/src/writer/spirv/builder_global_variable_test.cc
+++ b/src/writer/spirv/builder_global_variable_test.cc
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/stage_decoration.h"
#include "src/ast/struct_block_decoration.h"
#include "src/writer/spirv/spv_dump.h"
@@ -206,7 +206,7 @@
TEST_F(BuilderTest, GlobalVar_ConstantId_Bool) {
auto* v = Global("var", ty.bool_(), ast::StorageClass::kInput, Expr(true),
ast::DecorationList{
- create<ast::ConstantIdDecoration>(1200),
+ create<ast::OverrideDecoration>(1200),
});
spirv::Builder& b = Build();
@@ -226,7 +226,7 @@
TEST_F(BuilderTest, GlobalVar_ConstantId_Bool_NoConstructor) {
auto* v = Global("var", ty.bool_(), ast::StorageClass::kInput, nullptr,
ast::DecorationList{
- create<ast::ConstantIdDecoration>(1200),
+ create<ast::OverrideDecoration>(1200),
});
spirv::Builder& b = Build();
@@ -246,7 +246,7 @@
TEST_F(BuilderTest, GlobalVar_ConstantId_Scalar) {
auto* v = Global("var", ty.f32(), ast::StorageClass::kInput, Expr(2.f),
ast::DecorationList{
- create<ast::ConstantIdDecoration>(0),
+ create<ast::OverrideDecoration>(0),
});
spirv::Builder& b = Build();
@@ -266,7 +266,7 @@
TEST_F(BuilderTest, GlobalVar_ConstantId_Scalar_F32_NoConstructor) {
auto* v = Global("var", ty.f32(), ast::StorageClass::kInput, nullptr,
ast::DecorationList{
- create<ast::ConstantIdDecoration>(0),
+ create<ast::OverrideDecoration>(0),
});
spirv::Builder& b = Build();
@@ -286,7 +286,7 @@
TEST_F(BuilderTest, GlobalVar_ConstantId_Scalar_I32_NoConstructor) {
auto* v = Global("var", ty.i32(), ast::StorageClass::kInput, nullptr,
ast::DecorationList{
- create<ast::ConstantIdDecoration>(0),
+ create<ast::OverrideDecoration>(0),
});
spirv::Builder& b = Build();
@@ -306,7 +306,7 @@
TEST_F(BuilderTest, GlobalVar_ConstantId_Scalar_U32_NoConstructor) {
auto* v = Global("var", ty.u32(), ast::StorageClass::kInput, nullptr,
ast::DecorationList{
- create<ast::ConstantIdDecoration>(0),
+ create<ast::OverrideDecoration>(0),
});
spirv::Builder& b = Build();
diff --git a/src/writer/wgsl/generator_impl.cc b/src/writer/wgsl/generator_impl.cc
index 45477d3..b704841 100644
--- a/src/writer/wgsl/generator_impl.cc
+++ b/src/writer/wgsl/generator_impl.cc
@@ -22,7 +22,6 @@
#include "src/ast/bool.h"
#include "src/ast/bool_literal.h"
#include "src/ast/call_statement.h"
-#include "src/ast/constant_id_decoration.h"
#include "src/ast/depth_texture.h"
#include "src/ast/f32.h"
#include "src/ast/float_literal.h"
@@ -31,6 +30,7 @@
#include "src/ast/matrix.h"
#include "src/ast/module.h"
#include "src/ast/multisampled_texture.h"
+#include "src/ast/override_decoration.h"
#include "src/ast/pointer.h"
#include "src/ast/sampled_texture.h"
#include "src/ast/sint_literal.h"
@@ -811,8 +811,8 @@
out_ << "location(" << location->value() << ")";
} else if (auto* builtin = deco->As<ast::BuiltinDecoration>()) {
out_ << "builtin(" << builtin->value() << ")";
- } else if (auto* constant = deco->As<ast::ConstantIdDecoration>()) {
- out_ << "constant_id(" << constant->value() << ")";
+ } else if (auto* override_deco = deco->As<ast::OverrideDecoration>()) {
+ out_ << "override(" << override_deco->value() << ")";
} else if (auto* size = deco->As<ast::StructMemberSizeDecoration>()) {
out_ << "size(" << size->size() << ")";
} else if (auto* align = deco->As<ast::StructMemberAlignDecoration>()) {
diff --git a/src/writer/wgsl/generator_impl_variable_test.cc b/src/writer/wgsl/generator_impl_variable_test.cc
index 65ded54..055e085 100644
--- a/src/writer/wgsl/generator_impl_variable_test.cc
+++ b/src/writer/wgsl/generator_impl_variable_test.cc
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/constant_id_decoration.h"
+#include "src/ast/override_decoration.h"
#include "src/writer/wgsl/test_helper.h"
namespace tint {
@@ -62,7 +62,7 @@
create<ast::BindingDecoration>(0),
create<ast::GroupDecoration>(1),
Location(2),
- create<ast::ConstantIdDecoration>(42),
+ create<ast::OverrideDecoration>(42),
});
GeneratorImpl& gen = Build();
@@ -70,7 +70,7 @@
ASSERT_TRUE(gen.EmitVariable(v)) << gen.error();
EXPECT_EQ(
gen.result(),
- R"([[builtin(position), binding(0), group(1), location(2), constant_id(42)]] var<private> a : f32;
+ R"([[builtin(position), binding(0), group(1), location(2), override(42)]] var<private> a : f32;
)");
}
diff --git a/test/BUILD.gn b/test/BUILD.gn
index cd3e013..e999f6c54 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -187,7 +187,6 @@
"../src/ast/call_expression_test.cc",
"../src/ast/call_statement_test.cc",
"../src/ast/case_statement_test.cc",
- "../src/ast/constant_id_decoration_test.cc",
"../src/ast/continue_statement_test.cc",
"../src/ast/depth_texture_test.cc",
"../src/ast/discard_statement_test.cc",
@@ -209,6 +208,7 @@
"../src/ast/module_clone_test.cc",
"../src/ast/module_test.cc",
"../src/ast/multisampled_texture_test.cc",
+ "../src/ast/override_decoration_test.cc",
"../src/ast/pointer_test.cc",
"../src/ast/return_statement_test.cc",
"../src/ast/sampled_texture_test.cc",