summaryrefslogtreecommitdiffstats
path: root/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-02-17 21:35:14 +0100
committerbunnei <bunneidev@gmail.com>2020-02-26 03:23:00 +0100
commit2e16c237845bf1b5ff89b7b7a3f8bc1a84729eb1 (patch)
tree2ee5617fc3e3bdc47028d9d65097ceb070031727 /src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h
parentrenderer_opengl: Add texture mailbox support for presenter thread. (diff)
downloadyuzu-2e16c237845bf1b5ff89b7b7a3f8bc1a84729eb1.tar
yuzu-2e16c237845bf1b5ff89b7b7a3f8bc1a84729eb1.tar.gz
yuzu-2e16c237845bf1b5ff89b7b7a3f8bc1a84729eb1.tar.bz2
yuzu-2e16c237845bf1b5ff89b7b7a3f8bc1a84729eb1.tar.lz
yuzu-2e16c237845bf1b5ff89b7b7a3f8bc1a84729eb1.tar.xz
yuzu-2e16c237845bf1b5ff89b7b7a3f8bc1a84729eb1.tar.zst
yuzu-2e16c237845bf1b5ff89b7b7a3f8bc1a84729eb1.zip
Diffstat (limited to '')
-rw-r--r--src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h18
1 files changed, 10 insertions, 8 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
index c753085a8..b80669ff0 100644
--- a/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h
+++ b/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.h
@@ -10,17 +10,12 @@
class EmuWindow_SDL2_GL final : public EmuWindow_SDL2 {
public:
- explicit EmuWindow_SDL2_GL(bool fullscreen);
+ explicit EmuWindow_SDL2_GL(Core::System& system, 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;
+ void Present() override;
/// Ignored in OpenGL
void RetrieveVulkanHandlers(void* get_instance_proc_addr, void* instance,
@@ -29,10 +24,17 @@ public:
std::unique_ptr<Core::Frontend::GraphicsContext> CreateSharedContext() const override;
private:
+ /// Fake hidden window for the core context
+ SDL_Window* dummy_window{};
+
/// 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;
+ SDL_GLContext window_context;
+
+ /// The OpenGL context associated with the core
+ std::unique_ptr<Core::Frontend::GraphicsContext> core_context;
};