|
|
@ -32,17 +32,17 @@ |
|
|
|
|
|
|
|
|
class SDLGLContext : public Core::Frontend::GraphicsContext { |
|
|
class SDLGLContext : public Core::Frontend::GraphicsContext { |
|
|
public: |
|
|
public: |
|
|
explicit SDLGLContext() { |
|
|
|
|
|
// create a hidden window to make the shared context against
|
|
|
|
|
|
window = SDL_CreateWindow(NULL, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 0, 0, |
|
|
|
|
|
SDL_WINDOW_HIDDEN | SDL_WINDOW_OPENGL); |
|
|
|
|
|
|
|
|
explicit SDLGLContext(SDL_Window* window) : window(window) { |
|
|
context = SDL_GL_CreateContext(window); |
|
|
context = SDL_GL_CreateContext(window); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
~SDLGLContext() { |
|
|
~SDLGLContext() { |
|
|
DoneCurrent(); |
|
|
DoneCurrent(); |
|
|
SDL_GL_DeleteContext(context); |
|
|
SDL_GL_DeleteContext(context); |
|
|
SDL_DestroyWindow(window); |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SwapBuffers() override { |
|
|
|
|
|
SDL_GL_SwapWindow(window); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void MakeCurrent() override { |
|
|
void MakeCurrent() override { |
|
|
@ -114,9 +114,6 @@ EmuWindow_SDL2_GL::EmuWindow_SDL2_GL(InputCommon::InputSubsystem* input_subsyste |
|
|
exit(1); |
|
|
exit(1); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
dummy_window = SDL_CreateWindow(NULL, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 0, 0, |
|
|
|
|
|
SDL_WINDOW_HIDDEN | SDL_WINDOW_OPENGL); |
|
|
|
|
|
|
|
|
|
|
|
SetWindowIcon(); |
|
|
SetWindowIcon(); |
|
|
|
|
|
|
|
|
if (fullscreen) { |
|
|
if (fullscreen) { |
|
|
@ -159,5 +156,5 @@ EmuWindow_SDL2_GL::~EmuWindow_SDL2_GL() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
std::unique_ptr<Core::Frontend::GraphicsContext> EmuWindow_SDL2_GL::CreateSharedContext() const { |
|
|
std::unique_ptr<Core::Frontend::GraphicsContext> EmuWindow_SDL2_GL::CreateSharedContext() const { |
|
|
return std::make_unique<SDLGLContext>(); |
|
|
|
|
|
|
|
|
return std::make_unique<SDLGLContext>(render_window); |
|
|
} |
|
|
} |