From 3433a42e427bcd8f38babf4d01d57f14b6b09e3e Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sat, 25 Feb 2023 12:59:22 +1000 Subject: [PATCH] GS/DX12: Fix incorrect pipeline RT format --- pcsx2/GS/Renderers/DX12/GSDevice12.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pcsx2/GS/Renderers/DX12/GSDevice12.cpp b/pcsx2/GS/Renderers/DX12/GSDevice12.cpp index 7cedab379c..3a87ea946d 100644 --- a/pcsx2/GS/Renderers/DX12/GSDevice12.cpp +++ b/pcsx2/GS/Renderers/DX12/GSDevice12.cpp @@ -1563,10 +1563,13 @@ GSDevice12::ComPtr GSDevice12::CreateTFXPipeline(const Pipe gpb.SetRasterizationState(D3D12_FILL_MODE_SOLID, D3D12_CULL_MODE_NONE, false); if (p.rt) { - gpb.SetRenderTarget(0, - IsDATEModePrimIDInit(p.ps.date) ? DXGI_FORMAT_R32_FLOAT : - p.ps.hdr ? DXGI_FORMAT_R32G32B32A32_FLOAT : - DXGI_FORMAT_R8G8B8A8_UNORM); + const GSTexture::Format format = IsDATEModePrimIDInit(p.ps.date) ? + GSTexture::Format::PrimID : + (p.ps.hdr ? GSTexture::Format::HDRColor : GSTexture::Format::Color); + + DXGI_FORMAT native_format; + LookupNativeFormat(format, nullptr, nullptr, &native_format, nullptr); + gpb.SetRenderTarget(0, native_format); } if (p.ds) gpb.SetDepthStencilFormat(DXGI_FORMAT_D32_FLOAT_S8X24_UINT);