diff --git a/docs/features.txt b/docs/features.txt index 6a56320065f..1f192f2046a 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -511,7 +511,7 @@ Vulkan 1.3 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, radv, tu, vn, v3dv VK_EXT_shader_demote_to_helper_invocation DONE (anv, hasvk, kk, lvp, nvk, panvk, radv, tu, v3dv, vn) VK_EXT_subgroup_size_control DONE (anv, dzn, hasvk, kk, lvp, nvk, panvk/v10+, 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 (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_ycbcr_2plane_444_formats DONE (anv, lvp, nvk, panvk/v10+, radv, vn) diff --git a/src/kosmickrisp/bridge/mtl_format.h b/src/kosmickrisp/bridge/mtl_format.h index 6e1aec3f8be..2507937c270 100644 --- a/src/kosmickrisp/bridge/mtl_format.h +++ b/src/kosmickrisp/bridge/mtl_format.h @@ -168,20 +168,20 @@ enum mtl_pixel_format { MTL_PIXEL_FORMAT_ASTC_12x12 = 218, /* ASTC HDR (High Dynamic Range) */ - MTL_PIXEL_FORMAT_ASTC_4x4_HDR = 222, - MTL_PIXEL_FORMAT_ASTC_5x4_HDR = 223, - MTL_PIXEL_FORMAT_ASTC_5x5_HDR = 224, - MTL_PIXEL_FORMAT_ASTC_6x5_HDR = 225, - MTL_PIXEL_FORMAT_ASTC_6x6_HDR = 226, - MTL_PIXEL_FORMAT_ASTC_8x5_HDR = 228, - MTL_PIXEL_FORMAT_ASTC_8x6_HDR = 229, - MTL_PIXEL_FORMAT_ASTC_8x8_HDR = 230, - MTL_PIXEL_FORMAT_ASTC_10x5_HDR = 231, - MTL_PIXEL_FORMAT_ASTC_10x6_HDR = 232, - MTL_PIXEL_FORMAT_ASTC_10x8_HDR = 233, - MTL_PIXEL_FORMAT_ASTC_10x10_HDR = 234, - MTL_PIXEL_FORMAT_ASTC_12x10_HDR = 235, - MTL_PIXEL_FORMAT_ASTC_12x12_HDR = 236, + MTL_PIXEL_FORMAT_ASTC_4x4_FLOAT = 222, + MTL_PIXEL_FORMAT_ASTC_5x4_FLOAT = 223, + MTL_PIXEL_FORMAT_ASTC_5x5_FLOAT = 224, + MTL_PIXEL_FORMAT_ASTC_6x5_FLOAT = 225, + MTL_PIXEL_FORMAT_ASTC_6x6_FLOAT = 226, + MTL_PIXEL_FORMAT_ASTC_8x5_FLOAT = 228, + MTL_PIXEL_FORMAT_ASTC_8x6_FLOAT = 229, + MTL_PIXEL_FORMAT_ASTC_8x8_FLOAT = 230, + MTL_PIXEL_FORMAT_ASTC_10x5_FLOAT = 231, + MTL_PIXEL_FORMAT_ASTC_10x6_FLOAT = 232, + MTL_PIXEL_FORMAT_ASTC_10x8_FLOAT = 233, + MTL_PIXEL_FORMAT_ASTC_10x10_FLOAT = 234, + MTL_PIXEL_FORMAT_ASTC_12x10_FLOAT = 235, + MTL_PIXEL_FORMAT_ASTC_12x12_FLOAT = 236, /* YUV */ MTL_PIXEL_FORMAT_GBGR422 = 240, diff --git a/src/kosmickrisp/vulkan/kk_format.c b/src/kosmickrisp/vulkan/kk_format.c index 17517932c82..adc65ef4bbc 100644 --- a/src/kosmickrisp/vulkan/kk_format.c +++ b/src/kosmickrisp/vulkan/kk_format.c @@ -259,6 +259,21 @@ static const struct kk_va_format kk_vf_formats[] = { MTL_FMT_NATIVE(ASTC_12x10_SRGB, MTL_FMT_FS(128), MTL_FMT_TB_NONE), MTL_FMT_NATIVE(ASTC_12x12_SRGB, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_4x4_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_5x4_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_5x5_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_6x5_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_6x6_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_8x5_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_8x6_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_8x8_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_10x5_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_10x6_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_10x8_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_10x10_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_12x10_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(ASTC_12x12_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + // EAC/ETC formats MTL_FMT_NATIVE(ETC2_R11_UNORM, MTL_FMT_FS(64), MTL_FMT_TB_NONE), MTL_FMT_NATIVE(ETC2_R11_SNORM, MTL_FMT_FS(64), MTL_FMT_TB_NONE), diff --git a/src/kosmickrisp/vulkan/kk_physical_device.c b/src/kosmickrisp/vulkan/kk_physical_device.c index b9494595c87..301a6f5a948 100644 --- a/src/kosmickrisp/vulkan/kk_physical_device.c +++ b/src/kosmickrisp/vulkan/kk_physical_device.c @@ -110,7 +110,7 @@ kk_get_device_extensions(const struct kk_instance *instance, .EXT_shader_stencil_export = true, .EXT_subgroup_size_control = true, .EXT_texel_buffer_alignment = false, - .EXT_texture_compression_astc_hdr = false, + .EXT_texture_compression_astc_hdr = true, .EXT_tooling_info = true, .EXT_ycbcr_2plane_444_formats = false, @@ -271,6 +271,7 @@ kk_get_device_features( .shaderZeroInitializeWorkgroupMemory = true, .subgroupSizeControl = true, .synchronization2 = true, + .textureCompressionASTC_HDR = true, .vulkanMemoryModel = true, .vulkanMemoryModelDeviceScope = true,