[tint] Bump minimum MSL version to 2.3
Now that we require macOS 11.0 we can assume MSL 2.3.
Bug: 381117827
Change-Id: Idf492d9bcff3f3fba547e215f81886d3a731c25f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/223917
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/cmd/remote_compile/main.cc b/src/tint/cmd/remote_compile/main.cc
index 1366345..38aa37a 100644
--- a/src/tint/cmd/remote_compile/main.cc
+++ b/src/tint/cmd/remote_compile/main.cc
@@ -452,10 +452,7 @@
}
#if TINT_BUILD_MSL_WRITER && TINT_BUILD_IS_MAC
if (req.language == SourceLanguage::MSL) {
- auto version = tint::msl::validate::MslVersion::kMsl_2_2;
- if (req.version_major == 2 && req.version_minor == 3) {
- version = tint::msl::validate::MslVersion::kMsl_2_3;
- }
+ auto version = tint::msl::validate::MslVersion::kMsl_2_3;
auto result = tint::msl::validate::ValidateUsingMetal(req.source, version);
CompileResponse resp;
if (result.failed) {
diff --git a/src/tint/cmd/tint/main.cc b/src/tint/cmd/tint/main.cc
index 3986b8f..b691cbd 100644
--- a/src/tint/cmd/tint/main.cc
+++ b/src/tint/cmd/tint/main.cc
@@ -981,20 +981,8 @@
PrintHash(hash);
}
- // Default to validating against MSL 2.2, which corresponds to macOS 10.15.
- // Check for extensions that bump the requirements.
- auto msl_version = tint::msl::validate::MslVersion::kMsl_2_2;
- for (auto* enable : input_program.AST().Enables()) {
- if (enable->HasExtension(tint::wgsl::Extension::kChromiumExperimentalPixelLocal) ||
- enable->HasExtension(tint::wgsl::Extension::kChromiumExperimentalFramebufferFetch)) {
- msl_version = std::max(msl_version, tint::msl::validate::MslVersion::kMsl_2_3);
- }
- }
-
- // The correct behavior for platform demote to helper in metal 2.3+.
- if (options.disable_demote_to_helper) {
- msl_version = std::max(msl_version, tint::msl::validate::MslVersion::kMsl_2_3);
- }
+ // Default to validating against MSL 2.3, which corresponds to macOS 11.0.
+ auto msl_version = tint::msl::validate::MslVersion::kMsl_2_3;
if (options.validate && options.skip_hash.count(hash) == 0) {
tint::msl::validate::Result res;
diff --git a/src/tint/lang/msl/validate/validate.cc b/src/tint/lang/msl/validate/validate.cc
index 05dee69..a91365c 100644
--- a/src/tint/lang/msl/validate/validate.cc
+++ b/src/tint/lang/msl/validate/validate.cc
@@ -47,9 +47,6 @@
const char* version_str = nullptr;
switch (version) {
- case MslVersion::kMsl_2_2:
- version_str = "-std=macos-metal2.2";
- break;
case MslVersion::kMsl_2_3:
version_str = "-std=macos-metal2.3";
break;
diff --git a/src/tint/lang/msl/validate/validate.h b/src/tint/lang/msl/validate/validate.h
index 167aa52..cbcfe04 100644
--- a/src/tint/lang/msl/validate/validate.h
+++ b/src/tint/lang/msl/validate/validate.h
@@ -36,7 +36,6 @@
/// The version of MSL to validate against.
/// Note: these must kept be in ascending order
enum class MslVersion {
- kMsl_2_2,
kMsl_2_3,
};
diff --git a/src/tint/lang/msl/validate/validate_metal.mm b/src/tint/lang/msl/validate/validate_metal.mm
index 318d0f4..d548da8 100644
--- a/src/tint/lang/msl/validate/validate_metal.mm
+++ b/src/tint/lang/msl/validate/validate_metal.mm
@@ -50,9 +50,6 @@
MTLCompileOptions* compileOptions = [MTLCompileOptions new];
compileOptions.fastMathEnabled = true;
switch (version) {
- case MslVersion::kMsl_2_2:
- compileOptions.languageVersion = MTLLanguageVersion2_2;
- break;
case MslVersion::kMsl_2_3:
compileOptions.languageVersion = MTLLanguageVersion2_3;
break;
diff --git a/src/tint/lang/msl/writer/helper_test.h b/src/tint/lang/msl/writer/helper_test.h
index 714b24f..7fe349b 100644
--- a/src/tint/lang/msl/writer/helper_test.h
+++ b/src/tint/lang/msl/writer/helper_test.h
@@ -82,7 +82,7 @@
/// @returns true if generation and validation succeeded
bool Generate(
Options options = {},
- [[maybe_unused]] validate::MslVersion msl_version = validate::MslVersion::kMsl_2_2) {
+ [[maybe_unused]] validate::MslVersion msl_version = validate::MslVersion::kMsl_2_3) {
auto result = writer::Generate(mod, options);
if (result != Success) {
err_ = result.Failure().reason.Str();
diff --git a/src/tint/lang/msl/writer/type_test.cc b/src/tint/lang/msl/writer/type_test.cc
index dd6121d..3fee85d 100644
--- a/src/tint/lang/msl/writer/type_test.cc
+++ b/src/tint/lang/msl/writer/type_test.cc
@@ -1140,7 +1140,7 @@
b.Return(func);
});
- ASSERT_TRUE(Generate({}, validate::MslVersion::kMsl_2_3)) << err_ << output_.msl;
+ ASSERT_TRUE(Generate()) << err_ << output_.msl;
EXPECT_EQ(output_.msl, MetalHeader() + R"(
void foo() {
simdgroup_float8x8 a = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);
@@ -1156,7 +1156,7 @@
b.Return(func);
});
- ASSERT_TRUE(Generate({}, validate::MslVersion::kMsl_2_3)) << err_ << output_.msl;
+ ASSERT_TRUE(Generate()) << err_ << output_.msl;
EXPECT_EQ(output_.msl, MetalHeader() + R"(
void foo() {
simdgroup_half8x8 a = make_filled_simdgroup_matrix<half, 8, 8>(0.0h);
@@ -1173,7 +1173,7 @@
b.Return(func);
});
- ASSERT_TRUE(Generate({}, validate::MslVersion::kMsl_2_3)) << err_ << output_.msl;
+ ASSERT_TRUE(Generate()) << err_ << output_.msl;
EXPECT_EQ(output_.msl, MetalHeader() + R"(
void foo() {
simdgroup_float8x8 a = make_filled_simdgroup_matrix<float, 8, 8>(0.0f);