diff options
author | bunnei <bunneidev@gmail.com> | 2019-05-29 17:01:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-29 17:01:12 +0200 |
commit | 665b7e8e188f40208337d819e031b369f022836d (patch) | |
tree | cfd50bcbde06fdeedf511eca4b0e9f340b9d0f89 /src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h | |
parent | Merge pull request #2519 from lioncash/sign (diff) | |
parent | emu_window: Pass OnMinimalClientAreaChangeRequest argument by copy (diff) | |
download | yuzu-665b7e8e188f40208337d819e031b369f022836d.tar yuzu-665b7e8e188f40208337d819e031b369f022836d.tar.gz yuzu-665b7e8e188f40208337d819e031b369f022836d.tar.bz2 yuzu-665b7e8e188f40208337d819e031b369f022836d.tar.lz yuzu-665b7e8e188f40208337d819e031b369f022836d.tar.xz yuzu-665b7e8e188f40208337d819e031b369f022836d.tar.zst yuzu-665b7e8e188f40208337d819e031b369f022836d.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; +}; |