vkd3d: Remove legacy format compatibility info.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
This commit is contained in:
parent
0de25ac3cd
commit
4000397570
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue