From 1cc51c1ed8971c787674f15c2cb5eaf1e4ea2517 Mon Sep 17 00:00:00 2001 From: Tanner Van De Walle Date: Fri, 5 Jun 2026 17:45:58 -0700 Subject: [PATCH] D3D11On12: pass nullptr to transient ResidencySet::Open (TL API change) --- src/device.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/device.cpp b/src/device.cpp index d63d07e..ca65f6a 100644 --- a/src/device.cpp +++ b/src/device.cpp @@ -1146,7 +1146,9 @@ namespace D3D11On12 // Ensure that the resource is resident after the waits on the callers queue are satisfied. auto pResidencySet = std::make_unique(); - pResidencySet->Open((UINT)D3D12TranslationLayer::COMMAND_LIST_TYPE::MAX_VALID); + // Transient set: lifetime is bounded to this call frame, so it cannot race with a destroyed + // Resource via ResidencyManager::EndTrackingObject. Pass nullptr to skip manager registration. + pResidencySet->Open((UINT)D3D12TranslationLayer::COMMAND_LIST_TYPE::MAX_VALID, nullptr); pResidencySet->Insert(pResidencyHandle); pResidencySet->Close();