diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-05-25 22:47:13 +0200 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-05-25 22:47:13 +0200 |
commit | 4b80dd23a4462b0f4e9f096e0dc0cc4606d8cfe8 (patch) | |
tree | 55e053696c28caab23c6da853f08e4f8593eb9e5 /src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h | |
parent | shader/shader_ir: Make Comment() take a std::string by value (diff) | |
download | yuzu-4b80dd23a4462b0f4e9f096e0dc0cc4606d8cfe8.tar yuzu-4b80dd23a4462b0f4e9f096e0dc0cc4606d8cfe8.tar.gz yuzu-4b80dd23a4462b0f4e9f096e0dc0cc4606d8cfe8.tar.bz2 yuzu-4b80dd23a4462b0f4e9f096e0dc0cc4606d8cfe8.tar.lz yuzu-4b80dd23a4462b0f4e9f096e0dc0cc4606d8cfe8.tar.xz yuzu-4b80dd23a4462b0f4e9f096e0dc0cc4606d8cfe8.tar.zst yuzu-4b80dd23a4462b0f4e9f096e0dc0cc4606d8cfe8.zip |
Diffstat (limited to 'src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h')
-rw-r--r-- | src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h b/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h new file mode 100644 index 000000000..630deba93 --- /dev/null +++ b/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h @@ -0,0 +1,34 @@ +// Copyright 2019 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <memory> +#include "core/frontend/emu_window.h" +#include "yuzu_cmd/emu_window/emu_window_sdl2.h" + +class EmuWindow_SDL2_GL final : public EmuWindow_SDL2 { +public: + explicit EmuWindow_SDL2_GL(bool fullscreen); + ~EmuWindow_SDL2_GL(); + + /// Swap buffers to display the next frame + void SwapBuffers() override; + + /// Makes the graphics context current for the caller thread + void MakeCurrent() override; + + /// Releases the GL context from the caller thread + void DoneCurrent() override; + + std::unique_ptr<Core::Frontend::GraphicsContext> CreateSharedContext() const override; + +private: + /// Whether the GPU and driver supports the OpenGL extension required + bool SupportsRequiredGLExtensions(); + + using SDL_GLContext = void*; + /// The OpenGL context associated with the window + SDL_GLContext gl_context; +}; |