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();