From 4f7fbb3580a142ae83d2f055b54b4003ea3e0544 Mon Sep 17 00:00:00 2001 From: cdozdil Date: Wed, 22 Jan 2025 23:35:49 +0300 Subject: [PATCH] add checks before using dx12 device array --- OptiScaler/inputs/FSR2_Dx12.cpp | 4 ++-- OptiScaler/inputs/FSR3_Dx12.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OptiScaler/inputs/FSR2_Dx12.cpp b/OptiScaler/inputs/FSR2_Dx12.cpp index 7637f364..98be8bbe 100644 --- a/OptiScaler/inputs/FSR2_Dx12.cpp +++ b/OptiScaler/inputs/FSR2_Dx12.cpp @@ -374,7 +374,7 @@ static Fsr212::FfxErrorCode ffxFsr2ContextCreate_Dx12(Fsr212::FfxFsr2Context* co // if still no device use latest created one // Might fixed TLOU but FMF2 still crashes - if (_d3d12Device == nullptr) + if (_d3d12Device == nullptr && State::Instance().d3d12Devices.size() > 0) _d3d12Device = State::Instance().d3d12Devices[State::Instance().d3d12Devices.size() - 1]; if (_d3d12Device == nullptr) @@ -454,7 +454,7 @@ static Fsr212::FfxErrorCode ffxFsr2ContextCreate_Pattern_Dx12(Fsr212::FfxFsr2Con // if still no device use latest created one // Might fixed TLOU but FMF2 still crashes - if (_d3d12Device == nullptr) + if (_d3d12Device == nullptr && State::Instance().d3d12Devices.size() > 0) _d3d12Device = State::Instance().d3d12Devices[State::Instance().d3d12Devices.size() - 1]; if (_d3d12Device == nullptr) diff --git a/OptiScaler/inputs/FSR3_Dx12.cpp b/OptiScaler/inputs/FSR3_Dx12.cpp index ea40a228..ae89a973 100644 --- a/OptiScaler/inputs/FSR3_Dx12.cpp +++ b/OptiScaler/inputs/FSR3_Dx12.cpp @@ -188,7 +188,7 @@ static Fsr3::FfxErrorCode ffxFsr3ContextCreate_Dx12(Fsr3::FfxFsr3UpscalerContext // if still no device use latest created one // Might fixed TLOU but FMF2 still crashes - if (_d3d12Device == nullptr) + if (_d3d12Device == nullptr && State::Instance().d3d12Devices.size() > 0) _d3d12Device = State::Instance().d3d12Devices[State::Instance().d3d12Devices.size() - 1]; if (_d3d12Device == nullptr)