Mesa (main): dzn: Fix -Wswitch warnings

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 29 20:05:20 UTC 2022


Module: Mesa
Branch: main
Commit: 4290c3d5b5f765c125ce529fcc870c735a774bd6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4290c3d5b5f765c125ce529fcc870c735a774bd6

Author: Boris Brezillon <boris.brezillon at collabora.com>
Date:   Tue Jun 28 14:52:50 2022 +0200

dzn: Fix -Wswitch warnings

Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250>

---

 src/microsoft/vulkan/dzn_image.c | 11 ++++++++++-
 src/microsoft/vulkan/meson.build |  1 +
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/microsoft/vulkan/dzn_image.c b/src/microsoft/vulkan/dzn_image.c
index de44fa8e18e..b907f513d90 100644
--- a/src/microsoft/vulkan/dzn_image.c
+++ b/src/microsoft/vulkan/dzn_image.c
@@ -519,6 +519,8 @@ dzn_image_get_rtv_desc(const struct dzn_image *image,
       rtv_desc.Texture3D.WSize =
          range->layerCount == VK_REMAINING_ARRAY_LAYERS ? -1 : layer_count;
       break;
+   default:
+      unreachable("Invalid ViewDimension");
    }
 
    return rtv_desc;
@@ -529,6 +531,14 @@ dzn_image_layout_to_state(const struct dzn_image *image,
                           VkImageLayout layout,
                           VkImageAspectFlagBits aspect)
 {
+   /* Handle VK_IMAGE_LAYOUT_SUBPASS_SELF_DEPENDENCY_MESA separately to
+    * silence -Wswitch warnings (VK_IMAGE_LAYOUT_SUBPASS_SELF_DEPENDENCY_MESA is
+    * not part of the official VkImageLayout enum, it's a define in
+    * vk_render_pass.h)
+    */
+   if (layout == VK_IMAGE_LAYOUT_SUBPASS_SELF_DEPENDENCY_MESA)
+      return D3D12_RESOURCE_STATE_COMMON;
+
    D3D12_RESOURCE_STATES shaders_access =
       (image->desc.Flags & D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE) ?
       0 : D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE;
@@ -537,7 +547,6 @@ dzn_image_layout_to_state(const struct dzn_image *image,
    case VK_IMAGE_LAYOUT_PREINITIALIZED:
    case VK_IMAGE_LAYOUT_UNDEFINED:
    case VK_IMAGE_LAYOUT_GENERAL:
-   case VK_IMAGE_LAYOUT_SUBPASS_SELF_DEPENDENCY_MESA:
       /* YOLO! */
    case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR:
       return D3D12_RESOURCE_STATE_COMMON;
diff --git a/src/microsoft/vulkan/meson.build b/src/microsoft/vulkan/meson.build
index f47b791345c..74da9673e98 100644
--- a/src/microsoft/vulkan/meson.build
+++ b/src/microsoft/vulkan/meson.build
@@ -67,6 +67,7 @@ if cc.get_argument_syntax() != 'msvc'
     '-Werror=unused-but-set-variable',
     '-Werror=unused-value',
     '-Werror=format',
+    '-Werror=switch',
   ]
 endif
 



More information about the mesa-commit mailing list