From 4ec634e0255eaacbea222fc606d480419deeaab4 Mon Sep 17 00:00:00 2001 From: Tanner Van De Walle Date: Fri, 5 Jun 2026 17:45:58 -0700 Subject: [PATCH] D3D9On12: pass nullptr to transient ResidencySet::Open (TL API change) --- src/9on12Device.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/9on12Device.cpp b/src/9on12Device.cpp index 9bbb943..287fc98 100644 --- a/src/9on12Device.cpp +++ b/src/9on12Device.cpp @@ -305,7 +305,9 @@ namespace D3D9on12 // 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();