diff --git a/OptiScaler/resource_tracking/ResTrack_dx12.cpp b/OptiScaler/resource_tracking/ResTrack_dx12.cpp index ca96be25..7019d956 100644 --- a/OptiScaler/resource_tracking/ResTrack_dx12.cpp +++ b/OptiScaler/resource_tracking/ResTrack_dx12.cpp @@ -1420,10 +1420,9 @@ void ResTrack_Dx12::hkDrawInstanced(ID3D12GraphicsCommandList* This, UINT Vertex if (Config::Instance()->FGHudfixDisableDI.value_or_default()) break; + std::lock_guard lock(_drawMutex); for (auto& [key, val] : val0) { - std::lock_guard lock(_drawMutex); - val.captureInfo |= CaptureInfo::DrawInstanced; if (Hudfix_Dx12::CheckForHudless(This, &val, val.state)) @@ -1531,11 +1530,10 @@ void ResTrack_Dx12::hkDrawIndexedInstanced(ID3D12GraphicsCommandList* This, UINT if (Config::Instance()->FGHudfixDisableDII.value_or_default()) break; + std::lock_guard lock(_drawMutex); for (auto& [key, val] : val0) { // LOG_DEBUG("Waiting _drawMutex {:X}", (size_t)val.buffer); - std::lock_guard lock(_drawMutex); - val.captureInfo |= CaptureInfo::DrawIndexedInstanced; if (Hudfix_Dx12::CheckForHudless(This, &val, val.state)) @@ -1714,11 +1712,10 @@ void ResTrack_Dx12::hkDispatch(ID3D12GraphicsCommandList* This, UINT ThreadGroup if (Config::Instance()->FGHudfixDisableDispatch.value_or_default()) break; + std::lock_guard lock(_drawMutex); for (auto& [key, val] : val0) { // LOG_DEBUG("Waiting _drawMutex {:X}", (size_t)val.buffer); - std::lock_guard lock(_drawMutex); - val.captureInfo |= CaptureInfo::Dispatch; if (Hudfix_Dx12::CheckForHudless(This, &val, val.state)) {