Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
ui/sdl2: OpenGL window context
When OpenGL is enabled, create only the OpenGL context, ignoring the SDL
renderer as it is unused anyway.

Signed-off-by: Antonio Caggiano <quic_acaggian@quicinc.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230612091959.2983-1-quic_acaggian@quicinc.com>
  • Loading branch information
Fahien authored and elmarco committed Jun 27, 2023
1 parent 72cbcea commit 176e378
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions ui/sdl2.c
Expand Up @@ -113,11 +113,11 @@ void sdl2_window_create(struct sdl2_console *scon)

SDL_SetHint(SDL_HINT_RENDER_DRIVER, driver);
SDL_SetHint(SDL_HINT_RENDER_BATCHING, "1");
}
scon->real_renderer = SDL_CreateRenderer(scon->real_window, -1, 0);

if (scon->opengl) {
scon->winctx = SDL_GL_CreateContext(scon->real_window);
} else {
/* The SDL renderer is only used by sdl2-2D, when OpenGL is disabled */
scon->real_renderer = SDL_CreateRenderer(scon->real_window, -1, 0);
}
sdl_update_caption(scon);
}
Expand All @@ -128,10 +128,14 @@ void sdl2_window_destroy(struct sdl2_console *scon)
return;
}

SDL_GL_DeleteContext(scon->winctx);
scon->winctx = NULL;
SDL_DestroyRenderer(scon->real_renderer);
scon->real_renderer = NULL;
if (scon->winctx) {
SDL_GL_DeleteContext(scon->winctx);
scon->winctx = NULL;
}
if (scon->real_renderer) {
SDL_DestroyRenderer(scon->real_renderer);
scon->real_renderer = NULL;
}
SDL_DestroyWindow(scon->real_window);
scon->real_window = NULL;
}
Expand Down

0 comments on commit 176e378

Please sign in to comment.