Pipeline overridable constants: Metal backend

Also gate Dawn metal behind MacOS 10.12+

Bug: dawn:1136, dawn:1181
Change-Id: Id7bfaa2953b1acf08f37e6a08ddeadd9cde44657
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/67421
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
diff --git a/src/dawn_native/vulkan/UtilsVulkan.cpp b/src/dawn_native/vulkan/UtilsVulkan.cpp
index 87d896d..6e316c5 100644
--- a/src/dawn_native/vulkan/UtilsVulkan.cpp
+++ b/src/dawn_native/vulkan/UtilsVulkan.cpp
@@ -201,7 +201,7 @@
     VkSpecializationInfo* GetVkSpecializationInfo(
         const ProgrammableStage& programmableStage,
         VkSpecializationInfo* specializationInfo,
-        std::vector<SpecializationDataEntry>* specializationDataEntries,
+        std::vector<OverridableConstantScalar>* specializationDataEntries,
         std::vector<VkSpecializationMapEntry>* specializationMapEntries) {
         ASSERT(specializationInfo);
         ASSERT(specializationDataEntries);
@@ -224,10 +224,10 @@
             specializationMapEntries->push_back(
                 VkSpecializationMapEntry{moduleConstant.id,
                                          static_cast<uint32_t>(specializationDataEntries->size() *
-                                                               sizeof(SpecializationDataEntry)),
-                                         sizeof(SpecializationDataEntry)});
+                                                               sizeof(OverridableConstantScalar)),
+                                         sizeof(OverridableConstantScalar)});
 
-            SpecializationDataEntry entry{};
+            OverridableConstantScalar entry{};
             switch (moduleConstant.type) {
                 case EntryPointMetadata::OverridableConstant::Type::Boolean:
                     entry.b = static_cast<int32_t>(value);
@@ -250,7 +250,7 @@
         specializationInfo->mapEntryCount = static_cast<uint32_t>(specializationMapEntries->size());
         specializationInfo->pMapEntries = specializationMapEntries->data();
         specializationInfo->dataSize =
-            specializationDataEntries->size() * sizeof(SpecializationDataEntry);
+            specializationDataEntries->size() * sizeof(OverridableConstantScalar);
         specializationInfo->pData = specializationDataEntries->data();
 
         return specializationInfo;