summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3DCommon/D3DCommon.cpp
diff options
context:
space:
mode:
authorAdmiral H. Curtiss <pikachu025@gmail.com>2023-06-08 15:28:15 +0200
committerGitHub <noreply@github.com>2023-06-08 15:28:15 +0200
commit3dbdf0472d4f0e9900c39c883034ede911c33020 (patch)
treec5c7fd2a1d91087a9b16d74aa3a54d96a2c984f9 /Source/Core/VideoBackends/D3DCommon/D3DCommon.cpp
parente4636ad0a2f04c606f995d656706cbd83a40fb1d (diff)
parentcdc53c046b47e8aaef70637dfdc8dffc22b5e4ac (diff)
Merge pull request #11901 from Filoppi/add_texture_types
Video: add R10B10G10A2 and R16G16B16A16F texture types
Diffstat (limited to 'Source/Core/VideoBackends/D3DCommon/D3DCommon.cpp')
-rw-r--r--Source/Core/VideoBackends/D3DCommon/D3DCommon.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/D3DCommon/D3DCommon.cpp b/Source/Core/VideoBackends/D3DCommon/D3DCommon.cpp
index 69014d8f2e..18406c2142 100644
--- a/Source/Core/VideoBackends/D3DCommon/D3DCommon.cpp
+++ b/Source/Core/VideoBackends/D3DCommon/D3DCommon.cpp
@@ -136,6 +136,10 @@ DXGI_FORMAT GetDXGIFormatForAbstractFormat(AbstractTextureFormat format, bool ty
return typeless ? DXGI_FORMAT_R8G8B8A8_TYPELESS : DXGI_FORMAT_R8G8B8A8_UNORM;
case AbstractTextureFormat::BGRA8:
return typeless ? DXGI_FORMAT_B8G8R8A8_TYPELESS : DXGI_FORMAT_B8G8R8A8_UNORM;
+ case AbstractTextureFormat::RGB10_A2:
+ return typeless ? DXGI_FORMAT_R10G10B10A2_TYPELESS : DXGI_FORMAT_R10G10B10A2_UNORM;
+ case AbstractTextureFormat::RGBA16F:
+ return typeless ? DXGI_FORMAT_R16G16B16A16_TYPELESS : DXGI_FORMAT_R16G16B16A16_FLOAT;
case AbstractTextureFormat::R16:
return typeless ? DXGI_FORMAT_R16_TYPELESS : DXGI_FORMAT_R16_UNORM;
case AbstractTextureFormat::R32F:
@@ -169,6 +173,10 @@ DXGI_FORMAT GetSRVFormatForAbstractFormat(AbstractTextureFormat format)
return DXGI_FORMAT_R8G8B8A8_UNORM;
case AbstractTextureFormat::BGRA8:
return DXGI_FORMAT_B8G8R8A8_UNORM;
+ case AbstractTextureFormat::RGB10_A2:
+ return DXGI_FORMAT_R10G10B10A2_UNORM;
+ case AbstractTextureFormat::RGBA16F:
+ return DXGI_FORMAT_R16G16B16A16_FLOAT;
case AbstractTextureFormat::R16:
return DXGI_FORMAT_R16_UNORM;
case AbstractTextureFormat::R32F:
@@ -195,6 +203,10 @@ DXGI_FORMAT GetRTVFormatForAbstractFormat(AbstractTextureFormat format, bool int
return integer ? DXGI_FORMAT_R8G8B8A8_UINT : DXGI_FORMAT_R8G8B8A8_UNORM;
case AbstractTextureFormat::BGRA8:
return DXGI_FORMAT_B8G8R8A8_UNORM;
+ case AbstractTextureFormat::RGB10_A2:
+ return DXGI_FORMAT_R10G10B10A2_UNORM;
+ case AbstractTextureFormat::RGBA16F:
+ return DXGI_FORMAT_R16G16B16A16_FLOAT;
case AbstractTextureFormat::R16:
return integer ? DXGI_FORMAT_R16_UINT : DXGI_FORMAT_R16_UNORM;
case AbstractTextureFormat::R32F:
@@ -235,6 +247,14 @@ AbstractTextureFormat GetAbstractFormatForDXGIFormat(DXGI_FORMAT format)
case DXGI_FORMAT_B8G8R8A8_TYPELESS:
return AbstractTextureFormat::BGRA8;
+ case DXGI_FORMAT_R10G10B10A2_UNORM:
+ case DXGI_FORMAT_R10G10B10A2_TYPELESS:
+ return AbstractTextureFormat::RGB10_A2;
+
+ case DXGI_FORMAT_R16G16B16A16_FLOAT:
+ case DXGI_FORMAT_R16G16B16A16_TYPELESS:
+ return AbstractTextureFormat::RGBA16F;
+
case DXGI_FORMAT_R16_UINT:
case DXGI_FORMAT_R16_UNORM:
case DXGI_FORMAT_R16_TYPELESS: