From 5fd3c8bca4eb2cc8a41de21cbc59d3db7200a9d0 Mon Sep 17 00:00:00 2001 From: cdozdil Date: Thu, 7 Aug 2025 13:56:07 +0300 Subject: [PATCH] Add streamline checks to Set cmdList methods --- .../resource_tracking/ResTrack_dx12.cpp | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/OptiScaler/resource_tracking/ResTrack_dx12.cpp b/OptiScaler/resource_tracking/ResTrack_dx12.cpp index 3c15d6d2..30e9e030 100644 --- a/OptiScaler/resource_tracking/ResTrack_dx12.cpp +++ b/OptiScaler/resource_tracking/ResTrack_dx12.cpp @@ -1950,8 +1950,13 @@ void ResTrack_Dx12::SetInputsCmdList(ID3D12GraphicsCommandList* cmdList) if (fg != nullptr && fg->IsActive()) { auto index = fg->GetIndex(); - LOG_DEBUG("_inputsCommandList[{}]: {:X}", index, (size_t) cmdList); - _inputsCommandList[index] = cmdList; + + ID3D12GraphicsCommandList* realCmdList = nullptr; + if (!CheckForRealObject(__FUNCTION__, cmdList, (IUnknown**) &realCmdList)) + realCmdList = cmdList; + + LOG_DEBUG("_inputsCommandList[{}]: {:X}", index, (size_t) realCmdList); + _inputsCommandList[index] = realCmdList; } } @@ -1961,7 +1966,14 @@ void ResTrack_Dx12::SetHudlessCmdList(ID3D12GraphicsCommandList* cmdList) if (fg != nullptr && fg->IsActive()) { auto index = fg->GetIndex(); - LOG_DEBUG("_hudlessCommandList[{}]: {:X}", index, (size_t) cmdList); - _hudlessCommandList[index] = cmdList; + + ID3D12GraphicsCommandList* realCmdList = nullptr; + if (!CheckForRealObject(__FUNCTION__, cmdList, (IUnknown**) &realCmdList)) + realCmdList = cmdList; + + LOG_DEBUG("_hudlessCommandList[{}]: {:X}", index, (size_t) realCmdList); + _hudlessCommandList[index] = realCmdList; + } +} } }