anv: set Y/4 tiling for video decode images
authorDave Airlie <airlied@redhat.com>
Wed, 24 Nov 2021 02:42:12 +0000 (12:42 +1000)
committerMarge Bot <emma+marge@anholt.net>
Wed, 8 Feb 2023 02:56:28 +0000 (02:56 +0000)
The video decode hw only works with Y/4 tiled images.

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

src/intel/vulkan/anv_formats.c

index bf14ad7..8c85cfb 100644 (file)
@@ -1004,6 +1004,12 @@ anv_get_image_format_properties(
       isl_mod_info = isl_drm_modifier_get_info(vk_mod_info->drmFormatModifier);
       if (isl_mod_info == NULL)
          goto unsupported;
+
+      /* only allow Y-tiling/Tile4 for video decode. */
+      if (info->usage & VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR) {
+         if (isl_mod_info->tiling != ISL_TILING_Y0 && isl_mod_info->tiling != ISL_TILING_4)
+            goto unsupported;
+      }
    }
 
    assert(format->vk_format == info->format);