video_core.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #include "common/emu_window.h"
  5. #include "common/logging/log.h"
  6. #include "core/core.h"
  7. #include "core/settings.h"
  8. #include "video_core/pica.h"
  9. #include "video_core/renderer_base.h"
  10. #include "video_core/video_core.h"
  11. #include "video_core/renderer_opengl/renderer_opengl.h"
  12. ////////////////////////////////////////////////////////////////////////////////////////////////////
  13. // Video Core namespace
  14. namespace VideoCore {
  15. EmuWindow* g_emu_window = nullptr; ///< Frontend emulator window
  16. RendererBase* g_renderer = nullptr; ///< Renderer plugin
  17. std::atomic<bool> g_hw_renderer_enabled;
  18. std::atomic<bool> g_shader_jit_enabled;
  19. /// Initialize the video core
  20. void Init(EmuWindow* emu_window) {
  21. Pica::Init();
  22. g_emu_window = emu_window;
  23. g_renderer = new RendererOpenGL();
  24. g_renderer->SetWindow(g_emu_window);
  25. g_renderer->Init();
  26. LOG_DEBUG(Render, "initialized OK");
  27. }
  28. /// Shutdown the video core
  29. void Shutdown() {
  30. Pica::Shutdown();
  31. delete g_renderer;
  32. LOG_DEBUG(Render, "shutdown OK");
  33. }
  34. } // namespace