kk: Expose 4444 and ycbcr 2plane 444 formats
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Extensions:
- VK_EXT_4444_formats
- VK_EXT_ycbcr_2plane_444_formats

Features:
- formatA4R4G4B4
- formatA4B4G4R4
- ycbcr2plane444Formats

Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38831>
This commit is contained in:
Aitor Camacho 2025-12-04 03:35:31 +09:00 committed by Marge Bot
parent 4a58046caa
commit 6d6634e805
3 changed files with 22 additions and 5 deletions

View file

@ -500,7 +500,7 @@ Vulkan 1.3 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, radv, tu, vn, v3dv
VK_KHR_shader_terminate_invocation DONE (anv, hasvk, kk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_KHR_synchronization2 DONE (anv, dzn, hasvk, kk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_KHR_zero_initialize_workgroup_memory DONE (anv, hasvk, kk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_EXT_4444_formats DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_EXT_4444_formats DONE (anv, hasvk, kk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_EXT_extended_dynamic_state DONE (anv, hasvk, kk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_EXT_extended_dynamic_state2 DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_EXT_image_robustness DONE (anv, hasvk, kk, lvp, nvk, panvk, radv, tu, v3dv, vn)
@ -513,7 +513,7 @@ Vulkan 1.3 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, radv, tu, vn, v3dv
VK_EXT_texel_buffer_alignment DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_EXT_texture_compression_astc_hdr DONE (kk, panvk, vn)
VK_EXT_tooling_info DONE (anv, hasvk, kk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_EXT_ycbcr_2plane_444_formats DONE (anv, lvp, nvk, panvk/v10+, radv, vn)
VK_EXT_ycbcr_2plane_444_formats DONE (anv, kk, lvp, nvk, panvk/v10+, radv, vn)
Vulkan 1.4 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, radv/gfx8+, tu/a7xx+, vn

View file

@ -120,6 +120,14 @@
.alpha = PIPE_SWIZZLE_X, \
}
#define MTL_SWIZZLE_GBAR \
.unswizzle = { \
.red = PIPE_SWIZZLE_Y, \
.green = PIPE_SWIZZLE_Z, \
.blue = PIPE_SWIZZLE_W, \
.alpha = PIPE_SWIZZLE_X, \
}
#define MTL_SWIZZLE_BGRA \
.unswizzle = { \
.red = PIPE_SWIZZLE_Z, \
@ -213,12 +221,14 @@ static const struct kk_va_format kk_vf_formats[] = {
* required by Vulkan, we can just disable it.
*/
/* MTL_FMT_NATIVE(A1B5G5R5_UNORM, MTL_FMT_FCBMRS(16), MTL_FMT_TB_NONE), */
MTL_FMT_NATIVE(B5G5R5A1_UNORM, MTL_FMT_FCBMRS(16), MTL_FMT_TB_NONE),
MTL_FMT_NATIVE(A4B4G4R4_UNORM, MTL_FMT_FCBMRS(16), MTL_FMT_TB_NONE),
MTL_FMT(R4G4B4A4_UNORM, A4B4G4R4_UNORM, MTL_SWIZZLE_ABGR, MTL_FMT_FCBMRS(16),
MTL_FMT_TB_NONE, false),
MTL_FMT(A4R4G4B4_UNORM, A4B4G4R4_UNORM, MTL_SWIZZLE_BGRA, MTL_FMT_FCBMRS(16),
MTL_FMT_TB_NONE, false),
MTL_FMT_NATIVE(B5G5R5A1_UNORM, MTL_FMT_FCBMRS(16), MTL_FMT_TB_NONE),
MTL_FMT(B4G4R4A4_UNORM, A4B4G4R4_UNORM, MTL_SWIZZLE_GBAR, MTL_FMT_FCBMRS(16),
MTL_FMT_TB_NONE, false),
// 32-bit packed formats
MTL_FMT_NATIVE(R10G10B10A2_UNORM, MTL_FMT_ALL_NO_ATOMIC(32), MTL_FMT_TB_WR),

View file

@ -98,7 +98,7 @@ kk_get_device_extensions(const struct kk_instance *instance,
.KHR_shader_terminate_invocation = true,
.KHR_synchronization2 = true,
.KHR_zero_initialize_workgroup_memory = true,
.EXT_4444_formats = false,
.EXT_4444_formats = true,
.EXT_extended_dynamic_state = true,
.EXT_extended_dynamic_state2 = false,
.EXT_image_robustness = true,
@ -112,7 +112,7 @@ kk_get_device_extensions(const struct kk_instance *instance,
.EXT_texel_buffer_alignment = false,
.EXT_texture_compression_astc_hdr = true,
.EXT_tooling_info = true,
.EXT_ycbcr_2plane_444_formats = false,
.EXT_ycbcr_2plane_444_formats = true,
/* Vulkan 1.4 */
.KHR_load_store_op_none = true,
@ -297,6 +297,10 @@ kk_get_device_features(
.workgroupMemoryExplicitLayout8BitAccess = true,
.workgroupMemoryExplicitLayout16BitAccess = true,
/* EXT_4444_formats */
.formatA4R4G4B4 = true,
.formatA4B4G4R4 = true,
/* VK_EXT_shader_replicated_composites */
.shaderReplicatedComposites = true,
@ -307,6 +311,9 @@ kk_get_device_features(
.shaderBufferFloat32Atomics = true,
.shaderBufferFloat32AtomicAdd = true,
.shaderSharedFloat32Atomics = true,
/* EXT_ycbcr_2plane_444_formats */
.ycbcr2plane444Formats = true,
};
}