Pipeline constants: validate if any uninitialized overridable constants exist

Now an overridable constant need to be initialized, either via value specified
in shader, or via constant entry from pipeline stage. Otherwise it is invalid.

Together fix the bool 32bit initialize problem on vulkan and re-enable the
overridable constants shader test, and use assigning to _ instead of
ignore() in tests.

Bug: dawn:1041
Change-Id: I49e7885c8d6134647b09926ceb15234ac21ee35d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/67560
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn_native/vulkan/UtilsVulkan.cpp b/src/dawn_native/vulkan/UtilsVulkan.cpp
index 5d90290..87d896d 100644
--- a/src/dawn_native/vulkan/UtilsVulkan.cpp
+++ b/src/dawn_native/vulkan/UtilsVulkan.cpp
@@ -215,11 +215,11 @@
             programmableStage.module->GetEntryPoint(programmableStage.entryPoint);
 
         for (const auto& pipelineConstant : programmableStage.constants) {
-            const std::string& name = pipelineConstant.first;
+            const std::string& identifier = pipelineConstant.first;
             double value = pipelineConstant.second;
 
-            // This is already validated so `name` must exist
-            const auto& moduleConstant = entryPointMetaData.overridableConstants.at(name);
+            // This is already validated so `identifier` must exist
+            const auto& moduleConstant = entryPointMetaData.overridableConstants.at(identifier);
 
             specializationMapEntries->push_back(
                 VkSpecializationMapEntry{moduleConstant.id,
@@ -230,7 +230,7 @@
             SpecializationDataEntry entry{};
             switch (moduleConstant.type) {
                 case EntryPointMetadata::OverridableConstant::Type::Boolean:
-                    entry.b = static_cast<bool>(value);
+                    entry.b = static_cast<int32_t>(value);
                     break;
                 case EntryPointMetadata::OverridableConstant::Type::Float32:
                     entry.f32 = static_cast<float>(value);