video_core.h 734 B

123456789101112131415161718192021222324252627282930
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <atomic>
  6. #include <memory>
  7. class EmuWindow;
  8. namespace VideoCore {
  9. class RendererBase;
  10. enum class Renderer { Software, OpenGL };
  11. // TODO: Wrap these in a user settings struct along with any other graphics settings (often set from
  12. // qt ui)
  13. extern std::atomic<bool> g_toggle_framelimit_enabled;
  14. /**
  15. * Creates a renderer instance.
  16. *
  17. * @note The returned renderer instance is simply allocated. Its Init()
  18. * function still needs to be called to fully complete its setup.
  19. */
  20. std::unique_ptr<RendererBase> CreateRenderer(EmuWindow& emu_window);
  21. } // namespace VideoCore