From c22fb717d6ba6ddcbb0fead6c0cfac234e60fba7 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 28 Feb 2022 11:32:33 +0000 Subject: [PATCH] Fix detection of fatal errors better during initialisation --- renderdoc/replay/replay_controller.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/renderdoc/replay/replay_controller.cpp b/renderdoc/replay/replay_controller.cpp index 3bb021c5f..10d33dd65 100644 --- a/renderdoc/replay/replay_controller.cpp +++ b/renderdoc/replay/replay_controller.cpp @@ -2149,6 +2149,8 @@ ReplayStatus ReplayController::PostCreateInit(IReplayDriver *device, RDCFile *rd ReplayStatus status = m_pDevice->ReadLogInitialisation(rdc, false); FatalErrorCheck(); + if(m_FatalError != ReplayStatus::Succeeded) + return m_FatalError; m_pDevice->SetPipelineStates(&m_D3D11PipelineState, &m_D3D12PipelineState, &m_GLPipelineState, &m_VulkanPipelineState); @@ -2168,7 +2170,10 @@ ReplayStatus ReplayController::PostCreateInit(IReplayDriver *device, RDCFile *rd m_FrameRecord = m_pDevice->GetFrameRecord(); FatalErrorCheck(); - if(m_FrameRecord.actionList.empty() || m_FatalError != ReplayStatus::Succeeded) + if(m_FatalError != ReplayStatus::Succeeded) + return m_FatalError; + + if(m_FrameRecord.actionList.empty()) return ReplayStatus::APIReplayFailed; m_Actions.clear();