GPU/HW: Don't crash when switching to incompatible renderer

This commit is contained in:
Connor McLaughlin
2019-11-04 01:57:08 +10:00
parent a397979d72
commit 5d26c2177f
5 changed files with 15 additions and 13 deletions

View File

@ -20,17 +20,17 @@ GPU_HW_D3D11::~GPU_HW_D3D11()
bool GPU_HW_D3D11::Initialize(HostDisplay* host_display, System* system, DMA* dma,
InterruptController* interrupt_controller, Timers* timers)
{
SetCapabilities();
if (!GPU_HW::Initialize(host_display, system, dma, interrupt_controller, timers))
return false;
if (host_display->GetRenderAPI() != HostDisplay::RenderAPI::D3D11)
{
Log_ErrorPrintf("Host render API is incompatible");
return false;
}
SetCapabilities();
if (!GPU_HW::Initialize(host_display, system, dma, interrupt_controller, timers))
return false;
m_device = static_cast<ID3D11Device*>(host_display->GetHostRenderDevice());
m_context = static_cast<ID3D11DeviceContext*>(host_display->GetHostRenderContext());
if (!m_device || !m_context)