diff --git a/src/intel/vulkan/anv_video.c b/src/intel/vulkan/anv_video.c index 20536541033..fe84a0fcd8a 100644 --- a/src/intel/vulkan/anv_video.c +++ b/src/intel/vulkan/anv_video.c @@ -324,18 +324,35 @@ anv_GetPhysicalDeviceVideoFormatPropertiesKHR(VkPhysicalDevice physicalDevice, vk_outarray_append_typed(VkVideoFormatPropertiesKHR, &out, p) { p->format = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM; + p->imageCreateFlags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT; p->imageType = VK_IMAGE_TYPE_2D; p->imageTiling = VK_IMAGE_TILING_OPTIMAL; p->imageUsageFlags = pVideoFormatInfo->imageUsage; } + vk_outarray_append_typed(VkVideoFormatPropertiesKHR, &out, p) { + p->format = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM; + p->imageCreateFlags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT; + p->imageType = VK_IMAGE_TYPE_2D; + p->imageTiling = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT; + p->imageUsageFlags = pVideoFormatInfo->imageUsage; + } + if (need_10bit) { vk_outarray_append_typed(VkVideoFormatPropertiesKHR, &out, p) { p->format = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16; + p->imageCreateFlags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT; p->imageType = VK_IMAGE_TYPE_2D; p->imageTiling = VK_IMAGE_TILING_OPTIMAL; p->imageUsageFlags = pVideoFormatInfo->imageUsage; } + vk_outarray_append_typed(VkVideoFormatPropertiesKHR, &out, p) { + p->format = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16; + p->imageCreateFlags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT; + p->imageType = VK_IMAGE_TYPE_2D; + p->imageTiling = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT; + p->imageUsageFlags = pVideoFormatInfo->imageUsage; + } } return vk_outarray_status(&out);