ui/sdl2: Set GL ES profile before creating initial GL context
When the user selects GLES via '-display sdl,gl=es', we need to set
SDL_GL_CONTEXT_PROFILE_MASK to SDL_GL_CONTEXT_PROFILE_ES before
calling SDL_GL_CreateContext(). This ensures SDL_GL_LoadLibrary()
loads the correct GLES driver instead of the desktop OpenGL driver.
Fix the below issue: qemu-system-aarch64: /usr/src/debug/libepoxy
/1.5.10/src/dispatch_common.c:872: epoxy_get_proc_address: Assertion
`0 && "Couldn't find current GLX or EGL context.\n"' failed.
sdl2_gl_create_context() already sets the profile mask correctly for
ES mode, but the initial context created in sdl2_window_create() is
missing the same treatment.
Fixes:da3f7a3ab9ea0091955b58f8909dfcee01f4043e ("ui/sdl: try to instantiate the matching opengl renderer")
Signed-off-by: ryan.zhang@nxp.com
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <DU2PR04MB9018BB3650BA218438C01F2A83042@DU2PR04MB9018.eurprd04.prod.outlook.com>
This commit is contained in:
committed by
Marc-André Lureau
parent
6157908503
commit
490a3e1867
@@ -113,6 +113,8 @@ void sdl2_window_create(struct sdl2_console *scon)
|
|||||||
|
|
||||||
if (scon->opts->gl == DISPLAY_GL_MODE_ES) {
|
if (scon->opts->gl == DISPLAY_GL_MODE_ES) {
|
||||||
driver = "opengles2";
|
driver = "opengles2";
|
||||||
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK,
|
||||||
|
SDL_GL_CONTEXT_PROFILE_ES);
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_SetHint(SDL_HINT_RENDER_DRIVER, driver);
|
SDL_SetHint(SDL_HINT_RENDER_DRIVER, driver);
|
||||||
|
|||||||
Reference in New Issue
Block a user