vkd3d: Introduce new format compatibility table.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
This commit is contained in:
parent
6a7eee33b5
commit
42b8fc3338
|
@ -153,6 +153,239 @@ static const struct vkd3d_format vkd3d_depth_stencil_formats[] =
|
|||
#undef SINT
|
||||
#undef UINT
|
||||
|
||||
static const struct vkd3d_format_compatibility_info_2
|
||||
{
|
||||
DXGI_FORMAT image_format;
|
||||
DXGI_FORMAT view_formats[VKD3D_MAX_COMPATIBLE_FORMAT_COUNT];
|
||||
DXGI_FORMAT uint_format; /* for ClearUAVUint */
|
||||
}
|
||||
vkd3d_format_compatibility_info_2[] =
|
||||
{
|
||||
{DXGI_FORMAT_R32G32B32A32_TYPELESS,
|
||||
{DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_R32G32B32A32_SINT},
|
||||
DXGI_FORMAT_R32G32B32A32_UINT},
|
||||
{DXGI_FORMAT_R32G32B32A32_FLOAT, {},
|
||||
DXGI_FORMAT_R32G32B32A32_UINT},
|
||||
{DXGI_FORMAT_R32G32B32A32_UINT,
|
||||
{DXGI_FORMAT_R32G32B32A32_SINT},
|
||||
DXGI_FORMAT_R32G32B32A32_UINT},
|
||||
{DXGI_FORMAT_R32G32B32A32_SINT,
|
||||
{DXGI_FORMAT_R32G32B32A32_UINT},
|
||||
DXGI_FORMAT_R32G32B32A32_UINT},
|
||||
|
||||
{DXGI_FORMAT_R32G32B32_TYPELESS,
|
||||
{DXGI_FORMAT_R32G32B32_FLOAT, DXGI_FORMAT_R32G32B32_UINT, DXGI_FORMAT_R32G32B32_SINT},
|
||||
DXGI_FORMAT_R32G32B32_UINT},
|
||||
{DXGI_FORMAT_R32G32B32_FLOAT, {},
|
||||
DXGI_FORMAT_R32G32B32_UINT},
|
||||
{DXGI_FORMAT_R32G32B32_UINT,
|
||||
{DXGI_FORMAT_R32G32B32_SINT},
|
||||
DXGI_FORMAT_R32G32B32_UINT},
|
||||
{DXGI_FORMAT_R32G32B32_SINT,
|
||||
{DXGI_FORMAT_R32G32B32_UINT},
|
||||
DXGI_FORMAT_R32G32B32_UINT},
|
||||
|
||||
{DXGI_FORMAT_R16G16B16A16_TYPELESS,
|
||||
{DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_SNORM, DXGI_FORMAT_R16G16B16A16_UINT, DXGI_FORMAT_R16G16B16A16_SINT},
|
||||
DXGI_FORMAT_R16G16B16A16_UINT},
|
||||
{DXGI_FORMAT_R16G16B16A16_FLOAT, {},
|
||||
DXGI_FORMAT_R16G16B16A16_UINT},
|
||||
{DXGI_FORMAT_R16G16B16A16_UINT,
|
||||
{DXGI_FORMAT_R16G16B16A16_SINT, DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_SNORM},
|
||||
DXGI_FORMAT_R16G16B16A16_UINT},
|
||||
{DXGI_FORMAT_R16G16B16A16_SINT,
|
||||
{DXGI_FORMAT_R16G16B16A16_UINT, DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_SNORM},
|
||||
DXGI_FORMAT_R16G16B16A16_UINT},
|
||||
{DXGI_FORMAT_R16G16B16A16_UNORM,
|
||||
{DXGI_FORMAT_R16G16B16A16_UINT, DXGI_FORMAT_R16G16B16A16_SINT},
|
||||
DXGI_FORMAT_R16G16B16A16_UINT},
|
||||
{DXGI_FORMAT_R16G16B16A16_SNORM,
|
||||
{DXGI_FORMAT_R16G16B16A16_UINT, DXGI_FORMAT_R16G16B16A16_SINT},
|
||||
DXGI_FORMAT_R16G16B16A16_UINT},
|
||||
|
||||
{DXGI_FORMAT_R32G32_TYPELESS,
|
||||
{DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_R32G32_SINT},
|
||||
DXGI_FORMAT_R32G32_UINT},
|
||||
{DXGI_FORMAT_R32G32_FLOAT, {},
|
||||
DXGI_FORMAT_R32G32_UINT},
|
||||
{DXGI_FORMAT_R32G32_UINT,
|
||||
{DXGI_FORMAT_R32G32_SINT},
|
||||
DXGI_FORMAT_R32G32_UINT},
|
||||
{DXGI_FORMAT_R32G32_SINT,
|
||||
{DXGI_FORMAT_R32G32_UINT},
|
||||
DXGI_FORMAT_R32G32_UINT},
|
||||
|
||||
{DXGI_FORMAT_R10G10B10A2_TYPELESS,
|
||||
{DXGI_FORMAT_R10G10B10A2_UNORM, DXGI_FORMAT_R10G10B10A2_UINT},
|
||||
DXGI_FORMAT_R10G10B10A2_UINT},
|
||||
{DXGI_FORMAT_R10G10B10A2_UINT,
|
||||
{DXGI_FORMAT_R10G10B10A2_UNORM},
|
||||
DXGI_FORMAT_R10G10B10A2_UINT},
|
||||
{DXGI_FORMAT_R10G10B10A2_UNORM,
|
||||
{DXGI_FORMAT_R10G10B10A2_UINT},
|
||||
DXGI_FORMAT_R10G10B10A2_UINT},
|
||||
|
||||
{DXGI_FORMAT_R11G11B10_FLOAT, {},
|
||||
DXGI_FORMAT_R32_UINT},
|
||||
|
||||
{DXGI_FORMAT_R8G8_TYPELESS,
|
||||
{DXGI_FORMAT_R8G8_UINT, DXGI_FORMAT_R8G8_SINT, DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_SNORM},
|
||||
DXGI_FORMAT_R8G8_UINT},
|
||||
{DXGI_FORMAT_R8G8_UINT,
|
||||
{DXGI_FORMAT_R8G8_SINT, DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_SNORM},
|
||||
DXGI_FORMAT_R8G8_UINT},
|
||||
{DXGI_FORMAT_R8G8_SINT,
|
||||
{DXGI_FORMAT_R8G8_UINT, DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_SNORM},
|
||||
DXGI_FORMAT_R8G8_UINT},
|
||||
{DXGI_FORMAT_R8G8_UNORM,
|
||||
{DXGI_FORMAT_R8G8_UINT, DXGI_FORMAT_R8G8_SINT},
|
||||
DXGI_FORMAT_R8G8_UINT},
|
||||
{DXGI_FORMAT_R8G8_SNORM,
|
||||
{DXGI_FORMAT_R8G8_UINT, DXGI_FORMAT_R8G8_SINT},
|
||||
DXGI_FORMAT_R8G8_UINT},
|
||||
|
||||
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
|
||||
{DXGI_FORMAT_R8G8B8A8_UINT, DXGI_FORMAT_R8G8B8A8_SINT, DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, DXGI_FORMAT_R8G8B8A8_SNORM},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
{DXGI_FORMAT_R8G8B8A8_UINT,
|
||||
{DXGI_FORMAT_R8G8B8A8_SINT, DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, DXGI_FORMAT_R8G8B8A8_SNORM},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
{DXGI_FORMAT_R8G8B8A8_SINT,
|
||||
{DXGI_FORMAT_R8G8B8A8_UINT, DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, DXGI_FORMAT_R8G8B8A8_SNORM},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
{DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
|
||||
{DXGI_FORMAT_R8G8B8A8_UINT, DXGI_FORMAT_R8G8B8A8_SINT, DXGI_FORMAT_R8G8B8A8_UNORM},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
{DXGI_FORMAT_R8G8B8A8_UNORM,
|
||||
{DXGI_FORMAT_R8G8B8A8_UINT, DXGI_FORMAT_R8G8B8A8_SINT, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
{DXGI_FORMAT_R8G8B8A8_SNORM,
|
||||
{DXGI_FORMAT_R8G8B8A8_UINT, DXGI_FORMAT_R8G8B8A8_SINT},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
|
||||
{DXGI_FORMAT_R16G16_TYPELESS,
|
||||
{DXGI_FORMAT_R16G16_FLOAT, DXGI_FORMAT_R16G16_UINT, DXGI_FORMAT_R16G16_SINT, DXGI_FORMAT_R16G16_UNORM, DXGI_FORMAT_R16G16_SNORM},
|
||||
DXGI_FORMAT_R16G16_UINT},
|
||||
{DXGI_FORMAT_R16G16_FLOAT, {},
|
||||
DXGI_FORMAT_R16G16_UINT},
|
||||
{DXGI_FORMAT_R16G16_UINT,
|
||||
{DXGI_FORMAT_R16G16_SINT, DXGI_FORMAT_R16G16_UNORM, DXGI_FORMAT_R16G16_SNORM},
|
||||
DXGI_FORMAT_R16G16_UINT},
|
||||
{DXGI_FORMAT_R16G16_SINT,
|
||||
{DXGI_FORMAT_R16G16_UINT, DXGI_FORMAT_R16G16_UNORM, DXGI_FORMAT_R16G16_SNORM},
|
||||
DXGI_FORMAT_R16G16_UINT},
|
||||
{DXGI_FORMAT_R16G16_UNORM,
|
||||
{DXGI_FORMAT_R16G16_UINT, DXGI_FORMAT_R16G16_SINT},
|
||||
DXGI_FORMAT_R16G16_UINT},
|
||||
{DXGI_FORMAT_R16G16_SNORM,
|
||||
{DXGI_FORMAT_R16G16_UINT, DXGI_FORMAT_R16G16_SINT},
|
||||
DXGI_FORMAT_R16G16_UINT},
|
||||
|
||||
{DXGI_FORMAT_R32_TYPELESS,
|
||||
{DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R32_UINT, DXGI_FORMAT_R32_SINT},
|
||||
DXGI_FORMAT_R32_UINT},
|
||||
{DXGI_FORMAT_R32_FLOAT, {},
|
||||
DXGI_FORMAT_R32_UINT},
|
||||
{DXGI_FORMAT_R32_UINT,
|
||||
{DXGI_FORMAT_R32_SINT},
|
||||
DXGI_FORMAT_R32_UINT},
|
||||
{DXGI_FORMAT_R32_SINT,
|
||||
{DXGI_FORMAT_R32_UINT},
|
||||
DXGI_FORMAT_R32_UINT},
|
||||
|
||||
{DXGI_FORMAT_R16_TYPELESS,
|
||||
{DXGI_FORMAT_R16_FLOAT, DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_SINT, DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_SNORM},
|
||||
DXGI_FORMAT_R16_UINT},
|
||||
{DXGI_FORMAT_R16_FLOAT, {},
|
||||
DXGI_FORMAT_R16_UINT},
|
||||
{DXGI_FORMAT_R16_UINT,
|
||||
{DXGI_FORMAT_R16_SINT, DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_SNORM},
|
||||
DXGI_FORMAT_R16_UINT},
|
||||
{DXGI_FORMAT_R16_SINT,
|
||||
{DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_SNORM},
|
||||
DXGI_FORMAT_R16_UINT},
|
||||
{DXGI_FORMAT_R16_UNORM,
|
||||
{DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_SINT},
|
||||
DXGI_FORMAT_R16_UINT},
|
||||
{DXGI_FORMAT_R16_SNORM,
|
||||
{DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_SINT},
|
||||
DXGI_FORMAT_R16_UINT},
|
||||
|
||||
{DXGI_FORMAT_R8_TYPELESS,
|
||||
{DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_SINT, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_A8_UNORM},
|
||||
DXGI_FORMAT_R8_UINT},
|
||||
{DXGI_FORMAT_R8_UINT,
|
||||
{DXGI_FORMAT_R8_SINT, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_A8_UNORM},
|
||||
DXGI_FORMAT_R8_UINT},
|
||||
{DXGI_FORMAT_R8_SINT,
|
||||
{DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_A8_UNORM},
|
||||
DXGI_FORMAT_R8_UINT},
|
||||
{DXGI_FORMAT_R8_UNORM,
|
||||
{DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_SINT, DXGI_FORMAT_A8_UNORM},
|
||||
DXGI_FORMAT_R8_UINT},
|
||||
{DXGI_FORMAT_R8_SNORM,
|
||||
{DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_SINT},
|
||||
DXGI_FORMAT_R8_UINT},
|
||||
{DXGI_FORMAT_A8_UNORM,
|
||||
{DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_SINT, DXGI_FORMAT_R8_UNORM},
|
||||
DXGI_FORMAT_R8_UINT},
|
||||
|
||||
{DXGI_FORMAT_B8G8R8A8_TYPELESS,
|
||||
{DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_B8G8R8A8_UNORM_SRGB},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
{DXGI_FORMAT_B8G8R8A8_UNORM,
|
||||
{DXGI_FORMAT_B8G8R8A8_UNORM_SRGB},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
{DXGI_FORMAT_B8G8R8A8_UNORM_SRGB,
|
||||
{DXGI_FORMAT_B8G8R8A8_UNORM},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
|
||||
{DXGI_FORMAT_B8G8R8X8_TYPELESS,
|
||||
{DXGI_FORMAT_B8G8R8X8_UNORM, DXGI_FORMAT_B8G8R8X8_UNORM_SRGB},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
{DXGI_FORMAT_B8G8R8X8_UNORM,
|
||||
{DXGI_FORMAT_B8G8R8X8_UNORM_SRGB},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
{DXGI_FORMAT_B8G8R8X8_UNORM_SRGB,
|
||||
{DXGI_FORMAT_B8G8R8X8_UNORM},
|
||||
DXGI_FORMAT_R8G8B8A8_UINT},
|
||||
|
||||
{DXGI_FORMAT_BC1_TYPELESS,
|
||||
{DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC1_UNORM_SRGB}},
|
||||
{DXGI_FORMAT_BC1_UNORM,
|
||||
{DXGI_FORMAT_BC1_UNORM_SRGB}},
|
||||
{DXGI_FORMAT_BC1_UNORM_SRGB,
|
||||
{DXGI_FORMAT_BC1_UNORM}},
|
||||
|
||||
{DXGI_FORMAT_BC2_TYPELESS,
|
||||
{DXGI_FORMAT_BC2_UNORM, DXGI_FORMAT_BC2_UNORM_SRGB}},
|
||||
{DXGI_FORMAT_BC2_UNORM,
|
||||
{DXGI_FORMAT_BC2_UNORM_SRGB}},
|
||||
{DXGI_FORMAT_BC2_UNORM_SRGB,
|
||||
{DXGI_FORMAT_BC2_UNORM}},
|
||||
|
||||
{DXGI_FORMAT_BC3_TYPELESS,
|
||||
{DXGI_FORMAT_BC3_UNORM, DXGI_FORMAT_BC3_UNORM_SRGB}},
|
||||
{DXGI_FORMAT_BC3_UNORM,
|
||||
{DXGI_FORMAT_BC3_UNORM_SRGB}},
|
||||
{DXGI_FORMAT_BC3_UNORM_SRGB,
|
||||
{DXGI_FORMAT_BC3_UNORM}},
|
||||
|
||||
{DXGI_FORMAT_BC4_TYPELESS,
|
||||
{DXGI_FORMAT_BC4_UNORM, DXGI_FORMAT_BC4_SNORM}},
|
||||
{DXGI_FORMAT_BC5_TYPELESS,
|
||||
{DXGI_FORMAT_BC5_UNORM, DXGI_FORMAT_BC5_SNORM}},
|
||||
{DXGI_FORMAT_BC6H_TYPELESS,
|
||||
{DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16}},
|
||||
|
||||
{DXGI_FORMAT_BC7_TYPELESS,
|
||||
{DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB}},
|
||||
{DXGI_FORMAT_BC7_UNORM,
|
||||
{DXGI_FORMAT_BC7_UNORM_SRGB}},
|
||||
{DXGI_FORMAT_BC7_UNORM_SRGB,
|
||||
{DXGI_FORMAT_BC7_UNORM}},
|
||||
};
|
||||
|
||||
static const struct vkd3d_format_compatibility_info
|
||||
{
|
||||
DXGI_FORMAT format;
|
||||
|
|
Loading…
Reference in New Issue