diff options
| author | Glenn Rice <glennricster@gmail.com> | 2011-03-02 15:13:13 +0000 |
|---|---|---|
| committer | Glenn Rice <glennricster@gmail.com> | 2011-03-02 15:13:13 +0000 |
| commit | 3ffdcf1aecddd26ab1ef2b6cd84ca0150dd78ea5 (patch) | |
| tree | 6a05dbea55003d4c1bebe34ccfcfff2991b7ca8f /Source/Plugins/Plugin_VideoDX9/Src/main.cpp | |
| parent | a1055bf5bf18bd79a33d29f3c0db69f537f2e1d9 (diff) | |
Put the video prepare code back, and use the existence of the g_renderer to determine if video prepare has been run or not.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7274 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Plugins/Plugin_VideoDX9/Src/main.cpp')
| -rw-r--r-- | Source/Plugins/Plugin_VideoDX9/Src/main.cpp | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/Source/Plugins/Plugin_VideoDX9/Src/main.cpp b/Source/Plugins/Plugin_VideoDX9/Src/main.cpp index 6a98f37a02..37b3c7bb4d 100644 --- a/Source/Plugins/Plugin_VideoDX9/Src/main.cpp +++ b/Source/Plugins/Plugin_VideoDX9/Src/main.cpp @@ -159,6 +159,11 @@ bool VideoBackend::Initialize(void *&window_handle) OSD::AddMessage("Dolphin Direct3D9 Video Backend.", 5000); s_BackendInitialized = true; + return true; +} + +void VideoBackend::Video_Prepare() +{ // Better be safe... s_efbAccessRequested = FALSE; s_FifoShuttingDown = FALSE; @@ -179,11 +184,6 @@ bool VideoBackend::Initialize(void *&window_handle) PixelEngine::Init(); DLCache::Init(); - return true; -} - -void VideoBackend::Video_Prepare() -{ // Notify the core that the video backend is ready Core::Callback_CoreMessage(WM_USER_CREATE); } @@ -192,25 +192,29 @@ void VideoBackend::Shutdown() { s_BackendInitialized = false; - s_efbAccessRequested = FALSE; - s_FifoShuttingDown = FALSE; - s_swapRequested = FALSE; - - // VideoCommon - DLCache::Shutdown(); - Fifo_Shutdown(); - CommandProcessor::Shutdown(); - PixelShaderManager::Shutdown(); - VertexShaderManager::Shutdown(); - OpcodeDecoder_Shutdown(); - VertexLoaderManager::Shutdown(); - - // internal interfaces - PixelShaderCache::Shutdown(); - VertexShaderCache::Shutdown(); - delete g_vertex_manager; - delete g_texture_cache; - delete g_renderer; + if (g_renderer) + { + s_efbAccessRequested = FALSE; + s_FifoShuttingDown = FALSE; + s_swapRequested = FALSE; + + // VideoCommon + DLCache::Shutdown(); + Fifo_Shutdown(); + CommandProcessor::Shutdown(); + PixelShaderManager::Shutdown(); + VertexShaderManager::Shutdown(); + OpcodeDecoder_Shutdown(); + VertexLoaderManager::Shutdown(); + + // internal interfaces + PixelShaderCache::Shutdown(); + VertexShaderCache::Shutdown(); + delete g_vertex_manager; + delete g_texture_cache; + delete g_renderer; + g_renderer = NULL; + } D3D::Shutdown(); EmuWindow::Close(); } |
