[dxgi] Use VK_FORMAT_A8_UNORM if available

This commit is contained in:
Philip Rebohle 2023-08-23 16:36:58 +02:00
parent 64828e2c6c
commit 6a5ed02db3
1 changed files with 13 additions and 5 deletions

View File

@ -318,12 +318,10 @@ namespace dxvk {
VK_FORMAT_R8_UINT,
VK_IMAGE_ASPECT_COLOR_BIT },
// DXGI_FORMAT_A8_UNORM
{ VK_FORMAT_R8_UNORM,
{ VK_FORMAT_A8_UNORM_KHR,
VK_FORMAT_UNDEFINED,
VK_FORMAT_UNDEFINED,
VK_IMAGE_ASPECT_COLOR_BIT, 0,
{ VK_COMPONENT_SWIZZLE_ZERO, VK_COMPONENT_SWIZZLE_ZERO,
VK_COMPONENT_SWIZZLE_ZERO, VK_COMPONENT_SWIZZLE_R }},
VK_FORMAT_R8_UINT,
VK_IMAGE_ASPECT_COLOR_BIT, 0 },
// DXGI_FORMAT_R1_UNORM
{ }, // Unsupported
// DXGI_FORMAT_R9G9B9E5_SHAREDEXP
@ -860,6 +858,16 @@ namespace dxvk {
RemapDepthFormat(DXGI_FORMAT_X24_TYPELESS_G8_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT);
RemapDepthFormat(DXGI_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT);
}
// Map A8_UNORM to R8_UNORM with appropriate swizzles if necessary
if (!CheckImageFormatSupport(device, VK_FORMAT_A8_UNORM_KHR,
VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT |
VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT |
VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT)) {
RemapColorFormat(DXGI_FORMAT_A8_UNORM, VK_FORMAT_R8_UNORM,
{ VK_COMPONENT_SWIZZLE_ZERO, VK_COMPONENT_SWIZZLE_ZERO,
VK_COMPONENT_SWIZZLE_ZERO, VK_COMPONENT_SWIZZLE_R });
}
}