From 50dfab27979cd85f4f7be3d0d574c055abd16954 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Fri, 10 Aug 2018 19:04:38 +0200 Subject: [PATCH] [dxgi] Re-enable SRGB-to-UNORM compatibility D3D11 is highly inconsistent here and seems to allow UNORM render target views for SRGB images, but not UAVs. --- src/dxgi/dxgi_format.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/dxgi/dxgi_format.cpp b/src/dxgi/dxgi_format.cpp index d9503883..e5746ce1 100644 --- a/src/dxgi/dxgi_format.cpp +++ b/src/dxgi/dxgi_format.cpp @@ -609,7 +609,8 @@ namespace dxvk { { VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_R8G8B8A8_SRGB }, // DXGI_FORMAT_R8G8B8A8_UNORM_SRGB - { }, + { VK_FORMAT_R8G8B8A8_UNORM, + VK_FORMAT_R8G8B8A8_SRGB }, // DXGI_FORMAT_R8G8B8A8_UINT { }, // DXGI_FORMAT_R8G8B8A8_SNORM @@ -713,7 +714,8 @@ namespace dxvk { { VK_FORMAT_BC1_RGBA_UNORM_BLOCK, VK_FORMAT_BC1_RGBA_SRGB_BLOCK }, // DXGI_FORMAT_BC1_UNORM_SRGB - { }, + { VK_FORMAT_BC1_RGBA_UNORM_BLOCK, + VK_FORMAT_BC1_RGBA_SRGB_BLOCK }, // DXGI_FORMAT_BC2_TYPELESS { VK_FORMAT_BC2_UNORM_BLOCK, VK_FORMAT_BC2_SRGB_BLOCK }, @@ -721,7 +723,8 @@ namespace dxvk { { VK_FORMAT_BC2_UNORM_BLOCK, VK_FORMAT_BC2_SRGB_BLOCK }, // DXGI_FORMAT_BC2_UNORM_SRGB - { }, + { VK_FORMAT_BC2_UNORM_BLOCK, + VK_FORMAT_BC2_SRGB_BLOCK }, // DXGI_FORMAT_BC3_TYPELESS { VK_FORMAT_BC3_UNORM_BLOCK, VK_FORMAT_BC3_SRGB_BLOCK }, @@ -729,7 +732,8 @@ namespace dxvk { { VK_FORMAT_BC3_UNORM_BLOCK, VK_FORMAT_BC3_SRGB_BLOCK }, // DXGI_FORMAT_BC3_UNORM_SRGB - { }, + { VK_FORMAT_BC3_UNORM_BLOCK, + VK_FORMAT_BC3_SRGB_BLOCK }, // DXGI_FORMAT_BC4_TYPELESS { VK_FORMAT_BC4_UNORM_BLOCK, VK_FORMAT_BC4_SNORM_BLOCK }, @@ -758,12 +762,14 @@ namespace dxvk { { VK_FORMAT_B8G8R8A8_UNORM, VK_FORMAT_B8G8R8A8_SRGB }, // DXGI_FORMAT_B8G8R8A8_UNORM_SRGB - { }, + { VK_FORMAT_B8G8R8A8_UNORM, + VK_FORMAT_B8G8R8A8_SRGB }, // DXGI_FORMAT_B8G8R8X8_TYPELESS { VK_FORMAT_B8G8R8A8_UNORM, VK_FORMAT_B8G8R8A8_SRGB }, // DXGI_FORMAT_B8G8R8X8_UNORM_SRGB - { }, + { VK_FORMAT_B8G8R8A8_UNORM, + VK_FORMAT_B8G8R8A8_SRGB }, // DXGI_FORMAT_BC6H_TYPELESS { VK_FORMAT_BC6H_UFLOAT_BLOCK, VK_FORMAT_BC6H_SFLOAT_BLOCK }, @@ -778,7 +784,8 @@ namespace dxvk { { VK_FORMAT_BC7_UNORM_BLOCK, VK_FORMAT_BC7_SRGB_BLOCK }, // DXGI_FORMAT_BC7_UNORM_SRGB - { }, + { VK_FORMAT_BC7_UNORM_BLOCK, + VK_FORMAT_BC7_SRGB_BLOCK }, // DXGI_FORMAT_AYUV { }, // Unsupported // DXGI_FORMAT_Y410