mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 13:50:11 +01:00
kk: Expose 4444 and ycbcr 2plane 444 formats
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:
parent
4a58046caa
commit
6d6634e805
3 changed files with 22 additions and 5 deletions
|
|
@ -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_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_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_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_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_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)
|
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_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_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_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
|
Vulkan 1.4 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, radv/gfx8+, tu/a7xx+, vn
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -120,6 +120,14 @@
|
||||||
.alpha = PIPE_SWIZZLE_X, \
|
.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 \
|
#define MTL_SWIZZLE_BGRA \
|
||||||
.unswizzle = { \
|
.unswizzle = { \
|
||||||
.red = PIPE_SWIZZLE_Z, \
|
.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.
|
* required by Vulkan, we can just disable it.
|
||||||
*/
|
*/
|
||||||
/* MTL_FMT_NATIVE(A1B5G5R5_UNORM, MTL_FMT_FCBMRS(16), MTL_FMT_TB_NONE), */
|
/* 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_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(R4G4B4A4_UNORM, A4B4G4R4_UNORM, MTL_SWIZZLE_ABGR, MTL_FMT_FCBMRS(16),
|
||||||
MTL_FMT_TB_NONE, false),
|
MTL_FMT_TB_NONE, false),
|
||||||
MTL_FMT(A4R4G4B4_UNORM, A4B4G4R4_UNORM, MTL_SWIZZLE_BGRA, MTL_FMT_FCBMRS(16),
|
MTL_FMT(A4R4G4B4_UNORM, A4B4G4R4_UNORM, MTL_SWIZZLE_BGRA, MTL_FMT_FCBMRS(16),
|
||||||
MTL_FMT_TB_NONE, false),
|
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
|
// 32-bit packed formats
|
||||||
MTL_FMT_NATIVE(R10G10B10A2_UNORM, MTL_FMT_ALL_NO_ATOMIC(32), MTL_FMT_TB_WR),
|
MTL_FMT_NATIVE(R10G10B10A2_UNORM, MTL_FMT_ALL_NO_ATOMIC(32), MTL_FMT_TB_WR),
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ kk_get_device_extensions(const struct kk_instance *instance,
|
||||||
.KHR_shader_terminate_invocation = true,
|
.KHR_shader_terminate_invocation = true,
|
||||||
.KHR_synchronization2 = true,
|
.KHR_synchronization2 = true,
|
||||||
.KHR_zero_initialize_workgroup_memory = true,
|
.KHR_zero_initialize_workgroup_memory = true,
|
||||||
.EXT_4444_formats = false,
|
.EXT_4444_formats = true,
|
||||||
.EXT_extended_dynamic_state = true,
|
.EXT_extended_dynamic_state = true,
|
||||||
.EXT_extended_dynamic_state2 = false,
|
.EXT_extended_dynamic_state2 = false,
|
||||||
.EXT_image_robustness = true,
|
.EXT_image_robustness = true,
|
||||||
|
|
@ -112,7 +112,7 @@ kk_get_device_extensions(const struct kk_instance *instance,
|
||||||
.EXT_texel_buffer_alignment = false,
|
.EXT_texel_buffer_alignment = false,
|
||||||
.EXT_texture_compression_astc_hdr = true,
|
.EXT_texture_compression_astc_hdr = true,
|
||||||
.EXT_tooling_info = true,
|
.EXT_tooling_info = true,
|
||||||
.EXT_ycbcr_2plane_444_formats = false,
|
.EXT_ycbcr_2plane_444_formats = true,
|
||||||
|
|
||||||
/* Vulkan 1.4 */
|
/* Vulkan 1.4 */
|
||||||
.KHR_load_store_op_none = true,
|
.KHR_load_store_op_none = true,
|
||||||
|
|
@ -297,6 +297,10 @@ kk_get_device_features(
|
||||||
.workgroupMemoryExplicitLayout8BitAccess = true,
|
.workgroupMemoryExplicitLayout8BitAccess = true,
|
||||||
.workgroupMemoryExplicitLayout16BitAccess = true,
|
.workgroupMemoryExplicitLayout16BitAccess = true,
|
||||||
|
|
||||||
|
/* EXT_4444_formats */
|
||||||
|
.formatA4R4G4B4 = true,
|
||||||
|
.formatA4B4G4R4 = true,
|
||||||
|
|
||||||
/* VK_EXT_shader_replicated_composites */
|
/* VK_EXT_shader_replicated_composites */
|
||||||
.shaderReplicatedComposites = true,
|
.shaderReplicatedComposites = true,
|
||||||
|
|
||||||
|
|
@ -307,6 +311,9 @@ kk_get_device_features(
|
||||||
.shaderBufferFloat32Atomics = true,
|
.shaderBufferFloat32Atomics = true,
|
||||||
.shaderBufferFloat32AtomicAdd = true,
|
.shaderBufferFloat32AtomicAdd = true,
|
||||||
.shaderSharedFloat32Atomics = true,
|
.shaderSharedFloat32Atomics = true,
|
||||||
|
|
||||||
|
/* EXT_ycbcr_2plane_444_formats */
|
||||||
|
.ycbcr2plane444Formats = true,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue