diff --git a/OptiScaler/format_transfer/FT_Dx12.cpp b/OptiScaler/format_transfer/FT_Dx12.cpp index eeda2d06..128754d4 100644 --- a/OptiScaler/format_transfer/FT_Dx12.cpp +++ b/OptiScaler/format_transfer/FT_Dx12.cpp @@ -295,11 +295,13 @@ FT_Dx12::FT_Dx12(std::string InName, ID3D12Device* InDevice, DXGI_FORMAT InForma computePsoDesc.pRootSignature = _rootSignature; computePsoDesc.Flags = D3D12_PIPELINE_STATE_FLAG_NONE; - if (InFormat == DXGI_FORMAT_R10G10B10A2_UNORM || InFormat == DXGI_FORMAT_R10G10B10A2_TYPELESS) + if (InFormat == DXGI_FORMAT_R10G10B10A2_UNORM || InFormat == DXGI_FORMAT_R10G10B10A2_TYPELESS || + InFormat == DXGI_FORMAT_R16G16B16A16_FLOAT || InFormat == DXGI_FORMAT_R11G11B10_FLOAT || + InFormat == DXGI_FORMAT_R32G32B32A32_FLOAT || InFormat == DXGI_FORMAT_R32G32B32_FLOAT) { computePsoDesc.CS = CD3DX12_SHADER_BYTECODE(reinterpret_cast(r10g10b10a2_cso), sizeof(r10g10b10a2_cso)); } - else if (InFormat == DXGI_FORMAT_R8G8B8A8_UNORM || InFormat == DXGI_FORMAT_R8G8B8A8_UNORM_SRGB || InFormat == DXGI_FORMAT_R8G8B8A8_TYPELESS) + else if (InFormat == DXGI_FORMAT_R8G8B8A8_TYPELESS || InFormat == DXGI_FORMAT_R8G8B8A8_UNORM_SRGB || InFormat == DXGI_FORMAT_R8G8B8A8_UNORM) { computePsoDesc.CS = CD3DX12_SHADER_BYTECODE(reinterpret_cast(r8g8b8a8_cso), sizeof(r8g8b8a8_cso)); }