diff --git a/src/kosmickrisp/bridge/mtl_format.h b/src/kosmickrisp/bridge/mtl_format.h index 5a2577c5a28..6e1aec3f8be 100644 --- a/src/kosmickrisp/bridge/mtl_format.h +++ b/src/kosmickrisp/bridge/mtl_format.h @@ -94,24 +94,24 @@ enum mtl_pixel_format { /* Compressed formats. */ /* S3TC/DXT */ - MTL_PIXEL_FORMAT_BC1_RGBA = 130, - MTL_PIXEL_FORMAT_BC1_RGBA_SRGB = 131, - MTL_PIXEL_FORMAT_BC2_RGBA = 132, - MTL_PIXEL_FORMAT_BC2_RGBA_SRGB = 133, - MTL_PIXEL_FORMAT_BC3_RGBA = 134, - MTL_PIXEL_FORMAT_BC3_RGBA_SRGB = 135, + MTL_PIXEL_FORMAT_DXT1_RGBA = 130, + MTL_PIXEL_FORMAT_DXT1_SRGBA = 131, + MTL_PIXEL_FORMAT_DXT3_RGBA = 132, + MTL_PIXEL_FORMAT_DXT3_SRGBA = 133, + MTL_PIXEL_FORMAT_DXT5_RGBA = 134, + MTL_PIXEL_FORMAT_DXT5_SRGBA = 135, /* RGTC */ - MTL_PIXEL_FORMAT_BC4_R_UNORM = 140, - MTL_PIXEL_FORMAT_BC4_R_SNORM = 141, - MTL_PIXEL_FORMAT_BC5_RG_UNORM = 142, - MTL_PIXEL_FORMAT_BC5_RG_SNORM = 143, + MTL_PIXEL_FORMAT_RGTC1_UNORM = 140, + MTL_PIXEL_FORMAT_RGTC1_SNORM = 141, + MTL_PIXEL_FORMAT_RGTC2_UNORM = 142, + MTL_PIXEL_FORMAT_RGTC2_SNORM = 143, /* BPTC */ - MTL_PIXEL_FORMAT_BC6H_RGB_FLOAT = 150, - MTL_PIXEL_FORMAT_BC6H_RGBU_FLOAT = 151, - MTL_PIXEL_FORMAT_BC7_RGBA_UNORM = 152, - MTL_PIXEL_FORMAT_BC7_RGBA_SRGB = 153, + MTL_PIXEL_FORMAT_BPTC_RGB_FLOAT = 150, + MTL_PIXEL_FORMAT_BPTC_RGB_UFLOAT = 151, + MTL_PIXEL_FORMAT_BPTC_RGBA_UNORM = 152, + MTL_PIXEL_FORMAT_BPTC_SRGBA = 153, /* PVRTC */ MTL_PIXEL_FORMAT_PVRTC_RGB_2BPP = 160, diff --git a/src/kosmickrisp/vulkan/kk_format.c b/src/kosmickrisp/vulkan/kk_format.c index 1a0347d5ac6..c68415e06a1 100644 --- a/src/kosmickrisp/vulkan/kk_format.c +++ b/src/kosmickrisp/vulkan/kk_format.c @@ -263,7 +263,27 @@ static const struct kk_va_format kk_vf_formats[] = { MTL_FMT_NATIVE(ETC2_RGB8A1, MTL_FMT_FS(64), MTL_FMT_TB_NONE), MTL_FMT_NATIVE(ETC2_SRGB8A1, MTL_FMT_FS(64), MTL_FMT_TB_NONE), - // Compressed PVRTC, HDR ASTC, BC TODO_KOSMICKRISP + // BC/DXT formats + MTL_FMT_NATIVE(DXT1_RGBA, MTL_FMT_FS(64), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(DXT1_SRGBA, MTL_FMT_FS(64), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(DXT3_RGBA, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(DXT3_SRGBA, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(DXT5_RGBA, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(DXT5_SRGBA, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + + // RGTC formats + MTL_FMT_NATIVE(RGTC1_UNORM, MTL_FMT_FS(64), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(RGTC1_SNORM, MTL_FMT_FS(64), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(RGTC2_UNORM, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(RGTC2_SNORM, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + + // BPTC formats + MTL_FMT_NATIVE(BPTC_RGB_FLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(BPTC_RGB_UFLOAT, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(BPTC_RGBA_UNORM, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + MTL_FMT_NATIVE(BPTC_SRGBA, MTL_FMT_FS(128), MTL_FMT_TB_NONE), + + // Compressed PVRTC, HDR ASTC, TODO_KOSMICKRISP // YUV formats TODO_KOSMICKRISP // Extended range and wide color formats TODO_KOSMICKRISP diff --git a/src/kosmickrisp/vulkan/kk_physical_device.c b/src/kosmickrisp/vulkan/kk_physical_device.c index 4b44cfe1cc8..08513308f66 100644 --- a/src/kosmickrisp/vulkan/kk_physical_device.c +++ b/src/kosmickrisp/vulkan/kk_physical_device.c @@ -265,6 +265,7 @@ kk_get_device_features( .samplerYcbcrConversion = true, .textureCompressionETC2 = true, .textureCompressionASTC_LDR = true, + .textureCompressionBC = true, /* VK_EXT_mutable_descriptor_type */ .mutableDescriptorType = true,