From 40003975700e4c75cda615b9ea2c70734a7e7164 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Thu, 25 Nov 2021 16:56:41 +0100 Subject: [PATCH] vkd3d: Remove legacy format compatibility info. Signed-off-by: Philip Rebohle --- libs/vkd3d/utils.c | 141 ------------------------------------- libs/vkd3d/vkd3d_private.h | 3 - 2 files changed, 144 deletions(-) diff --git a/libs/vkd3d/utils.c b/libs/vkd3d/utils.c index 79a836de..1ad1caa3 100644 --- a/libs/vkd3d/utils.c +++ b/libs/vkd3d/utils.c @@ -386,105 +386,6 @@ dxgi_format_compatibility_list[] = {DXGI_FORMAT_BC7_UNORM}}, }; -static const struct vkd3d_format_compatibility_info -{ - DXGI_FORMAT format; - DXGI_FORMAT typeless_format; -} -vkd3d_format_compatibility_info[] = -{ - /* DXGI_FORMAT_R32G32B32A32_TYPELESS */ - {DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_R32G32B32A32_TYPELESS}, - {DXGI_FORMAT_R32G32B32A32_SINT, DXGI_FORMAT_R32G32B32A32_TYPELESS}, - {DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_TYPELESS}, - /* DXGI_FORMAT_R32G32B32_TYPELESS */ - {DXGI_FORMAT_R32G32B32_UINT, DXGI_FORMAT_R32G32B32_TYPELESS}, - {DXGI_FORMAT_R32G32B32_SINT, DXGI_FORMAT_R32G32B32_TYPELESS}, - {DXGI_FORMAT_R32G32B32_FLOAT, DXGI_FORMAT_R32G32B32_TYPELESS}, - /* DXGI_FORMAT_R16G16B16A16_TYPELESS */ - {DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_TYPELESS}, - {DXGI_FORMAT_R16G16B16A16_SNORM, DXGI_FORMAT_R16G16B16A16_TYPELESS}, - {DXGI_FORMAT_R16G16B16A16_UINT, DXGI_FORMAT_R16G16B16A16_TYPELESS}, - {DXGI_FORMAT_R16G16B16A16_SINT, DXGI_FORMAT_R16G16B16A16_TYPELESS}, - {DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_R16G16B16A16_TYPELESS}, - /* DXGI_FORMAT_R32G32_TYPELESS */ - {DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_R32G32_TYPELESS}, - {DXGI_FORMAT_R32G32_SINT, DXGI_FORMAT_R32G32_TYPELESS}, - {DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_R32G32_TYPELESS}, - /* DXGI_FORMAT_R32G8X24_TYPELESS */ - {DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, DXGI_FORMAT_R32G8X24_TYPELESS}, - {DXGI_FORMAT_X32_TYPELESS_G8X24_UINT, DXGI_FORMAT_R32G8X24_TYPELESS}, - {DXGI_FORMAT_D32_FLOAT_S8X24_UINT, DXGI_FORMAT_R32G8X24_TYPELESS}, - /* DXGI_FORMAT_R10G10B10A2_TYPELESS */ - {DXGI_FORMAT_R10G10B10A2_UINT, DXGI_FORMAT_R10G10B10A2_TYPELESS}, - {DXGI_FORMAT_R10G10B10A2_UNORM, DXGI_FORMAT_R10G10B10A2_TYPELESS}, - /* DXGI_FORMAT_R8G8B8A8_TYPELESS */ - {DXGI_FORMAT_R8G8B8A8_UINT, DXGI_FORMAT_R8G8B8A8_TYPELESS}, - {DXGI_FORMAT_R8G8B8A8_SINT, DXGI_FORMAT_R8G8B8A8_TYPELESS}, - {DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R8G8B8A8_TYPELESS}, - {DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, DXGI_FORMAT_R8G8B8A8_TYPELESS}, - {DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_TYPELESS}, - /* DXGI_FORMAT_R16G16_TYPELESS */ - {DXGI_FORMAT_R16G16_UNORM, DXGI_FORMAT_R16G16_TYPELESS}, - {DXGI_FORMAT_R16G16_SNORM, DXGI_FORMAT_R16G16_TYPELESS}, - {DXGI_FORMAT_R16G16_UINT, DXGI_FORMAT_R16G16_TYPELESS}, - {DXGI_FORMAT_R16G16_SINT, DXGI_FORMAT_R16G16_TYPELESS}, - {DXGI_FORMAT_R16G16_FLOAT, DXGI_FORMAT_R16G16_TYPELESS}, - /* DXGI_FORMAT_R32_TYPELESS */ - {DXGI_FORMAT_D32_FLOAT, DXGI_FORMAT_R32_TYPELESS}, - {DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R32_TYPELESS}, - {DXGI_FORMAT_R32_UINT, DXGI_FORMAT_R32_TYPELESS}, - {DXGI_FORMAT_R32_SINT, DXGI_FORMAT_R32_TYPELESS}, - /* DXGI_FORMAT_R24G8_TYPELESS */ - {DXGI_FORMAT_R24_UNORM_X8_TYPELESS, DXGI_FORMAT_R24G8_TYPELESS}, - {DXGI_FORMAT_X24_TYPELESS_G8_UINT, DXGI_FORMAT_R24G8_TYPELESS}, - {DXGI_FORMAT_D24_UNORM_S8_UINT, DXGI_FORMAT_R24G8_TYPELESS}, - /* DXGI_FORMAT_R8G8_TYPELESS */ - {DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_R8G8_TYPELESS}, - {DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_TYPELESS}, - {DXGI_FORMAT_R8G8_UINT, DXGI_FORMAT_R8G8_TYPELESS}, - {DXGI_FORMAT_R8G8_SINT, DXGI_FORMAT_R8G8_TYPELESS}, - /* DXGI_FORMAT_R16_TYPELESS */ - {DXGI_FORMAT_D16_UNORM, DXGI_FORMAT_R16_TYPELESS}, - {DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_TYPELESS}, - {DXGI_FORMAT_R16_SNORM, DXGI_FORMAT_R16_TYPELESS}, - {DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_TYPELESS}, - {DXGI_FORMAT_R16_SINT, DXGI_FORMAT_R16_TYPELESS}, - {DXGI_FORMAT_R16_FLOAT, DXGI_FORMAT_R16_TYPELESS}, - /* DXGI_FORMAT_R8_TYPELESS */ - {DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_TYPELESS}, - {DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_R8_TYPELESS}, - {DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_TYPELESS}, - {DXGI_FORMAT_R8_SINT, DXGI_FORMAT_R8_TYPELESS}, - /* DXGI_FORMAT_BC1_TYPELESS */ - {DXGI_FORMAT_BC1_UNORM_SRGB, DXGI_FORMAT_BC1_TYPELESS}, - {DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC1_TYPELESS}, - /* DXGI_FORMAT_BC2_TYPELESS */ - {DXGI_FORMAT_BC2_UNORM_SRGB, DXGI_FORMAT_BC2_TYPELESS}, - {DXGI_FORMAT_BC2_UNORM, DXGI_FORMAT_BC2_TYPELESS}, - /* DXGI_FORMAT_BC3_TYPELESS */ - {DXGI_FORMAT_BC3_UNORM_SRGB, DXGI_FORMAT_BC3_TYPELESS}, - {DXGI_FORMAT_BC3_UNORM, DXGI_FORMAT_BC3_TYPELESS}, - /* DXGI_FORMAT_BC4_TYPELESS */ - {DXGI_FORMAT_BC4_UNORM, DXGI_FORMAT_BC4_TYPELESS}, - {DXGI_FORMAT_BC4_SNORM, DXGI_FORMAT_BC4_TYPELESS}, - /* DXGI_FORMAT_BC5_TYPELESS */ - {DXGI_FORMAT_BC5_UNORM, DXGI_FORMAT_BC5_TYPELESS}, - {DXGI_FORMAT_BC5_SNORM, DXGI_FORMAT_BC5_TYPELESS}, - /* DXGI_FORMAT_BC6H_TYPELESS */ - {DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_TYPELESS}, - {DXGI_FORMAT_BC6H_SF16, DXGI_FORMAT_BC6H_TYPELESS}, - /* DXGI_FORMAT_BC7_TYPELESS */ - {DXGI_FORMAT_BC7_UNORM_SRGB, DXGI_FORMAT_BC7_TYPELESS}, - {DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_TYPELESS}, - /* DXGI_FORMAT_B8G8R8A8_TYPELESS */ - {DXGI_FORMAT_B8G8R8A8_UNORM_SRGB, DXGI_FORMAT_B8G8R8A8_TYPELESS}, - {DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_B8G8R8A8_TYPELESS}, - /* DXGI_FORMAT_B8G8R8X8_TYPELESS */ - {DXGI_FORMAT_B8G8R8X8_UNORM_SRGB, DXGI_FORMAT_B8G8R8X8_TYPELESS}, - {DXGI_FORMAT_B8G8R8X8_UNORM, DXGI_FORMAT_B8G8R8X8_TYPELESS}, -}; - void vkd3d_format_compatibility_list_add_format(struct vkd3d_format_compatibility_list *list, VkFormat vk_format) { unsigned int i; @@ -712,48 +613,6 @@ VkFormat vkd3d_internal_get_vk_format(const struct d3d12_device *device, DXGI_FO return VK_FORMAT_UNDEFINED; } -DXGI_FORMAT vkd3d_get_typeless_format(const struct d3d12_device *device, DXGI_FORMAT dxgi_format) -{ - const struct vkd3d_format *format = vkd3d_get_format(device, dxgi_format, true); - unsigned int i; - - if (!format) - return DXGI_FORMAT_UNKNOWN; - - if (format->type == VKD3D_FORMAT_TYPE_TYPELESS) - return dxgi_format; - - for (i = 0; i < ARRAY_SIZE(vkd3d_format_compatibility_info); ++i) - { - if (vkd3d_format_compatibility_info[i].format == dxgi_format) - return vkd3d_format_compatibility_info[i].typeless_format; - } - - return DXGI_FORMAT_UNKNOWN; -} - -const struct vkd3d_format *vkd3d_find_uint_format(const struct d3d12_device *device, DXGI_FORMAT dxgi_format) -{ - DXGI_FORMAT typeless_format = DXGI_FORMAT_UNKNOWN; - const struct vkd3d_format *vkd3d_format; - unsigned int i; - - if (!(typeless_format = vkd3d_get_typeless_format(device, dxgi_format))) - return NULL; - - for (i = 0; i < ARRAY_SIZE(vkd3d_format_compatibility_info); ++i) - { - if (vkd3d_format_compatibility_info[i].typeless_format != typeless_format) - continue; - - vkd3d_format = vkd3d_get_format(device, vkd3d_format_compatibility_info[i].format, false); - if (vkd3d_format->type == VKD3D_FORMAT_TYPE_UINT) - return vkd3d_format; - } - - return NULL; -} - void vkd3d_format_copy_data(const struct vkd3d_format *format, const uint8_t *src, unsigned int src_row_pitch, unsigned int src_slice_pitch, uint8_t *dst, unsigned int dst_row_pitch, unsigned int dst_slice_pitch, unsigned int w, unsigned int h, unsigned int d) diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index f4f10d7a..5e1d650b 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -3113,9 +3113,6 @@ void vkd3d_format_copy_data(const struct vkd3d_format *format, const uint8_t *sr const struct vkd3d_format *vkd3d_get_format(const struct d3d12_device *device, DXGI_FORMAT dxgi_format, bool depth_stencil); -DXGI_FORMAT vkd3d_get_typeless_format(const struct d3d12_device *device, DXGI_FORMAT dxgi_format); -const struct vkd3d_format *vkd3d_find_uint_format(const struct d3d12_device *device, - DXGI_FORMAT dxgi_format); VkFormat vkd3d_internal_get_vk_format(const struct d3d12_device *device, DXGI_FORMAT dxgi_format); struct vkd3d_format_footprint vkd3d_format_footprint_for_plane(const struct vkd3d_format *format, unsigned int plane_idx);