Revert "Remove support for the set decoration."
This reverts commit 67beed1b94b148c72b74f703b0d5d3d4b9331c09.
Reason for revert: CTS Roll happened just before this fix landed in CTS.
Original change's description:
> Remove support for the set decoration.
>
> This CL removes the set decoration support, it has been replaced by the
> group decoration.
>
> Change-Id: Ib9ca94872d39e5da9dbe18bba3cae6d64320e55d
> Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/38824
> Auto-Submit: dan sinclair <dsinclair@chromium.org>
> Reviewed-by: Ben Clayton <bclayton@google.com>
> Commit-Queue: dan sinclair <dsinclair@chromium.org>
TBR=dneto@google.com,dsinclair@chromium.org,bclayton@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I89dec6d2663e18ac8e15ae3c7a5ffb443591f6b9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/39360
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index 89a33c2..8fc397b 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -137,6 +137,7 @@
const char kGroupDecoration[] = "group";
const char kLocationDecoration[] = "location";
const char kOffsetDecoration[] = "offset";
+const char kSetDecoration[] = "set";
const char kStageDecoration[] = "stage";
const char kStrideDecoration[] = "stride";
const char kWorkgroupSizeDecoration[] = "workgroup_size";
@@ -149,8 +150,9 @@
return s == kAccessDecoration || s == kBindingDecoration ||
s == kBlockDecoration || s == kBuiltinDecoration ||
s == kLocationDecoration || s == kOffsetDecoration ||
- s == kGroupDecoration || s == kStageDecoration ||
- s == kStrideDecoration || s == kWorkgroupSizeDecoration;
+ s == kSetDecoration || s == kGroupDecoration ||
+ s == kStageDecoration || s == kStrideDecoration ||
+ s == kWorkgroupSizeDecoration;
}
/// Enter-exit counters for block token types.
@@ -2851,7 +2853,7 @@
});
}
- if (s == kGroupDecoration) {
+ if (s == kSetDecoration || s == kGroupDecoration) {
const char* use = "group decoration";
return expect_paren_block(use, [&]() -> Result {
auto val = expect_positive_sint(use);
diff --git a/src/reader/wgsl/parser_impl_variable_decoration_test.cc b/src/reader/wgsl/parser_impl_variable_decoration_test.cc
index 128ec8a..9cf65ab 100644
--- a/src/reader/wgsl/parser_impl_variable_decoration_test.cc
+++ b/src/reader/wgsl/parser_impl_variable_decoration_test.cc
@@ -236,6 +236,22 @@
"1:9: expected signed integer literal for binding decoration");
}
+// DEPRECATED
+TEST_F(ParserImplTest, VariableDecoration_set) {
+ auto p = parser("set(4)");
+ auto deco = p->decoration();
+ EXPECT_TRUE(deco.matched);
+ EXPECT_FALSE(deco.errored);
+ ASSERT_NE(deco.value, nullptr);
+ auto* var_deco = deco.value->As<ast::VariableDecoration>();
+ ASSERT_FALSE(p->has_error());
+ ASSERT_NE(var_deco, nullptr);
+ ASSERT_TRUE(var_deco->Is<ast::GroupDecoration>());
+
+ auto* group = var_deco->As<ast::GroupDecoration>();
+ EXPECT_EQ(group->value(), 4u);
+}
+
TEST_F(ParserImplTest, VariableDecoration_group) {
auto p = parser("group(4)");
auto deco = p->decoration();