mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Merge pull request #1309 from lioncash/render
video_core: Make the renderer global a unique_ptr
This commit is contained in:
		
						commit
						82087672b7
					
				
					 2 changed files with 10 additions and 6 deletions
				
			
		|  | @ -2,7 +2,10 @@ | |||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include <memory> | ||||
| 
 | ||||
| #include "common/emu_window.h" | ||||
| #include "common/make_unique.h" | ||||
| #include "common/logging/log.h" | ||||
| 
 | ||||
| #include "core/core.h" | ||||
|  | @ -19,7 +22,7 @@ | |||
| namespace VideoCore { | ||||
| 
 | ||||
| EmuWindow*                    g_emu_window = nullptr; ///< Frontend emulator window
 | ||||
| RendererBase*   g_renderer      = nullptr;     ///< Renderer plugin
 | ||||
| std::unique_ptr<RendererBase> g_renderer;             ///< Renderer plugin
 | ||||
| 
 | ||||
| std::atomic<bool> g_hw_renderer_enabled; | ||||
| std::atomic<bool> g_shader_jit_enabled; | ||||
|  | @ -29,7 +32,7 @@ void Init(EmuWindow* emu_window) { | |||
|     Pica::Init(); | ||||
| 
 | ||||
|     g_emu_window = emu_window; | ||||
|     g_renderer = new RendererOpenGL(); | ||||
|     g_renderer = Common::make_unique<RendererOpenGL>(); | ||||
|     g_renderer->SetWindow(g_emu_window); | ||||
|     g_renderer->Init(); | ||||
| 
 | ||||
|  | @ -40,7 +43,7 @@ void Init(EmuWindow* emu_window) { | |||
| void Shutdown() { | ||||
|     Pica::Shutdown(); | ||||
| 
 | ||||
|     delete g_renderer; | ||||
|     g_renderer.reset(); | ||||
| 
 | ||||
|     LOG_DEBUG(Render, "shutdown OK"); | ||||
| } | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
| #pragma once | ||||
| 
 | ||||
| #include <atomic> | ||||
| #include <memory> | ||||
| 
 | ||||
| class EmuWindow; | ||||
| class RendererBase; | ||||
|  | @ -29,7 +30,7 @@ static const int kScreenBottomHeight    = 240;  ///< 3DS bottom screen height | |||
| //  Video core renderer
 | ||||
| // ---------------------
 | ||||
| 
 | ||||
| extern RendererBase*   g_renderer;              ///< Renderer plugin
 | ||||
| extern std::unique_ptr<RendererBase> g_renderer;   ///< Renderer plugin
 | ||||
| extern EmuWindow*                    g_emu_window; ///< Emu window
 | ||||
| 
 | ||||
| // TODO: Wrap these in a user settings struct along with any other graphics settings (often set from qt ui)
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue