Examples: DirectX9: Handle loss of D3D9 device (D3DERR_DEVICELOST). (#1464)

features/sdl_renderer3_multiviewports
omar ago%!(EXTRA string=8 years)
parent 7e2d0d734c
commit e000ee0116
  1. 10
      examples/directx9_example/main.cpp

@ -154,7 +154,15 @@ int main(int, char**)
ImGui::Render(); ImGui::Render();
g_pd3dDevice->EndScene(); g_pd3dDevice->EndScene();
} }
g_pd3dDevice->Present(NULL, NULL, NULL, NULL); HRESULT result = g_pd3dDevice->Present(NULL, NULL, NULL, NULL);
// Handle loss of D3D9 device
if (result == D3DERR_DEVICELOST && g_pd3dDevice->TestCooperativeLevel() == D3DERR_DEVICENOTRESET)
{
ImGui_ImplDX9_InvalidateDeviceObjects();
g_pd3dDevice->Reset(&g_d3dpp);
ImGui_ImplDX9_CreateDeviceObjects();
}
} }
ImGui_ImplDX9_Shutdown(); ImGui_ImplDX9_Shutdown();

Loading…
Cancel
Save