diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h index 511c9473637..442c0fc08ed 100644 --- a/src/intel/isl/isl.h +++ b/src/intel/isl/isl.h @@ -1116,6 +1116,7 @@ typedef uint64_t isl_surf_usage_flags_t; #define ISL_SURF_USAGE_STAGING_BIT (1u << 14) #define ISL_SURF_USAGE_CPB_BIT (1u << 15) #define ISL_SURF_USAGE_PROTECTED_BIT (1u << 16) +#define ISL_SURF_USAGE_VIDEO_DECODE_BIT (1u << 17) /** @} */ /** diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index eeb8cde5d3d..717ad98d3fa 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -226,6 +226,10 @@ choose_isl_surf_usage(VkImageCreateFlags vk_create_flags, if (vk_usage & VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR) isl_usage |= ISL_SURF_USAGE_CPB_BIT; + if (vk_usage & VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR || + vk_usage & VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR) + isl_usage |= ISL_SURF_USAGE_VIDEO_DECODE_BIT; + if (vk_create_flags & VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT) isl_usage |= ISL_SURF_USAGE_CUBE_BIT;