SwapChainVk: Fix missed FIFO_RELAXED_KHR handling.

Using wgpu::PresentMode::FifoRelaxed would crash because it was missing
from a switch and a table.

Bug: 42241264
Change-Id: I698112545f511f65c1e19977e8c7d29d031fd7f2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/189340
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn/native/vulkan/SwapChainVk.cpp b/src/dawn/native/vulkan/SwapChainVk.cpp
index 3d1a186..4cc38c8 100644
--- a/src/dawn/native/vulkan/SwapChainVk.cpp
+++ b/src/dawn/native/vulkan/SwapChainVk.cpp
@@ -68,6 +68,7 @@
 uint32_t MinImageCountForPresentMode(VkPresentModeKHR mode) {
     switch (mode) {
         case VK_PRESENT_MODE_FIFO_KHR:
+        case VK_PRESENT_MODE_FIFO_RELAXED_KHR:
         case VK_PRESENT_MODE_IMMEDIATE_KHR:
             return 2;
         case VK_PRESENT_MODE_MAILBOX_KHR:
@@ -264,9 +265,10 @@
         };
 
         VkPresentModeKHR targetMode = ToVulkanPresentMode(GetPresentMode());
-        const std::array<VkPresentModeKHR, 3> kPresentModeFallbacks = {
+        const std::array<VkPresentModeKHR, 4> kPresentModeFallbacks = {
             VK_PRESENT_MODE_IMMEDIATE_KHR,
             VK_PRESENT_MODE_MAILBOX_KHR,
+            VK_PRESENT_MODE_FIFO_RELAXED_KHR,
             VK_PRESENT_MODE_FIFO_KHR,
         };