anv: Rework depth/stencil early return in anv_get_format_plane
authorJason Ekstrand <jason@jlekstrand.net>
Fri, 30 Jul 2021 11:42:33 +0000 (06:42 -0500)
committerMarge Bot <eric+marge@anholt.net>
Mon, 9 Aug 2021 16:07:23 +0000 (16:07 +0000)
The comment about modifiers is bogus because we check the modifier
before this check and return early.  Also, there's no reason why we need
to check the requested aspect when we could check the format itself.
anv_image_aspect_to_plane will ensure that the requested aspect is one
that actually exists.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12141>

src/intel/vulkan/anv_formats.c

index b77871b..911460d 100644 (file)
@@ -488,15 +488,8 @@ anv_get_format_aspect(const struct intel_device_info *devinfo,
    if (tiling == VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT)
       return plane_format;
 
-   if (aspect & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) {
-      assert(vk_format_aspects(vk_format) &
-             (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT));
-
-      /* There's no reason why we strictly can't support depth or stencil with
-       * modifiers but there's also no reason why we should.
-       */
+   if (vk_format_is_depth_or_stencil(vk_format))
       return plane_format;
-   }
 
    assert((aspect & ~VK_IMAGE_ASPECT_ANY_COLOR_BIT_ANV) == 0);