Browse Source

Frontend: Don't call DoneCurrent if the context isnt already current

nce_cpp
James Rowe 6 years ago
parent
commit
e345e46a98
  1. 5
      src/yuzu/bootmanager.cpp
  2. 10
      src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp

5
src/yuzu/bootmanager.cpp

@ -141,7 +141,7 @@ public:
}
~OpenGLSharedContext() {
context->doneCurrent();
DoneCurrent();
}
void SwapBuffers() override {
@ -156,6 +156,9 @@ public:
}
void DoneCurrent() override {
if (!is_current) {
return;
}
context->doneCurrent();
is_current = false;
}

10
src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp

@ -37,16 +37,24 @@ public:
}
void MakeCurrent() override {
SDL_GL_MakeCurrent(window, context);
if (is_current) {
return;
}
is_current = SDL_GL_MakeCurrent(window, context) == 0;
}
void DoneCurrent() override {
if (!is_current) {
return;
}
SDL_GL_MakeCurrent(window, nullptr);
is_current = false;
}
private:
SDL_Window* window;
SDL_GLContext context;
bool is_current = false;
};
bool EmuWindow_SDL2_GL::SupportsRequiredGLExtensions() {

Loading…
Cancel
Save