anv: enable VK_EXT_ycbcr_2plane_444_formats

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31352>
This commit is contained in:
Dylan Baker 2024-09-24 11:53:58 -07:00 committed by Marge Bot
parent 6aca12c51d
commit f8273555d3
3 changed files with 18 additions and 1 deletions

View file

@ -503,7 +503,7 @@ Vulkan 1.3 -- all DONE: anv, lvp, nvk, radv, tu, vn, v3dv
VK_EXT_texel_buffer_alignment DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_EXT_texture_compression_astc_hdr DONE (vn)
VK_EXT_tooling_info DONE (anv, hasvk, nvk, pvr, radv, tu, v3dv, vn)
VK_EXT_ycbcr_2plane_444_formats DONE (lvp, nvk, vn)
VK_EXT_ycbcr_2plane_444_formats DONE (anv, lvp, nvk, vn)
Khronos extensions that are not part of any Vulkan version:

View file

@ -324,6 +324,17 @@ static const struct anv_format _4444_formats[] = {
fmt_unsupported(VK_FORMAT_A4B4G4R4_UNORM_PACK16),
};
static const struct anv_format _2plane_444_formats[] = {
ycbcr_fmt(VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 2, true, false,
ycbcr_plane(0, ISL_FORMAT_R8_UNORM, RGBA),
ycbcr_plane(0, ISL_FORMAT_R8G8_UNORM, RGBA)),
fmt_unsupported(VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16),
fmt_unsupported(VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16),
ycbcr_fmt(VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 2, true, false,
ycbcr_plane(0, ISL_FORMAT_R16_UNORM, RGBA),
ycbcr_plane(1, ISL_FORMAT_R16G16_UNORM, RGBA)),
};
static const struct anv_format ycbcr_formats[] = {
ycbcr_fmt(VK_FORMAT_G8B8G8R8_422_UNORM, 1, true, false,
ycbcr_plane(0, ISL_FORMAT_YCRCB_NORMAL, RGBA)),
@ -418,6 +429,8 @@ static const struct {
.n_formats = ARRAY_SIZE(ycbcr_formats), },
[_VK_KHR_maintenance5_number] = { .formats = maintenance5_formats,
.n_formats = ARRAY_SIZE(maintenance5_formats), },
[_VK_EXT_ycbcr_2plane_444_formats_number] = { .formats = _2plane_444_formats,
.n_formats = ARRAY_SIZE(_2plane_444_formats), },
};
const struct anv_format *

View file

@ -275,6 +275,7 @@ get_device_extensions(const struct anv_physical_device *device,
.EXT_transform_feedback = true,
.EXT_vertex_attribute_divisor = true,
.EXT_vertex_input_dynamic_state = true,
.EXT_ycbcr_2plane_444_formats = true,
.EXT_ycbcr_image_arrays = true,
.AMD_buffer_marker = true,
.AMD_texture_gather_bias_lod = device->info.ver >= 20,
@ -663,6 +664,9 @@ get_features(const struct anv_physical_device *pdevice,
/* VK_EXT_ycbcr_image_arrays */
.ycbcrImageArrays = true,
/* VK_EXT_ycbcr_2plane_444_formats */
.ycbcr2plane444Formats = true,
/* VK_EXT_extended_dynamic_state */
.extendedDynamicState = true,