yuzu-cmd: Fix OpenGL rendering
This commit is contained in:
parent
e4fed17f59
commit
9ff8504452
|
@ -32,17 +32,17 @@
|
||||||
|
|
||||||
class SDLGLContext : public Core::Frontend::GraphicsContext {
|
class SDLGLContext : public Core::Frontend::GraphicsContext {
|
||||||
public:
|
public:
|
||||||
explicit SDLGLContext() {
|
explicit SDLGLContext(SDL_Window* window) : window(window) {
|
||||||
// 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);
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,9 +20,6 @@ public:
|
||||||
std::unique_ptr<Core::Frontend::GraphicsContext> CreateSharedContext() const override;
|
std::unique_ptr<Core::Frontend::GraphicsContext> CreateSharedContext() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// Fake hidden window for the core context
|
|
||||||
SDL_Window* dummy_window{};
|
|
||||||
|
|
||||||
/// Whether the GPU and driver supports the OpenGL extension required
|
/// Whether the GPU and driver supports the OpenGL extension required
|
||||||
bool SupportsRequiredGLExtensions();
|
bool SupportsRequiredGLExtensions();
|
||||||
|
|
||||||
|
|
Reference in New Issue