gles2: Avoid crash when glGetInteger64vEXT is missing

The spec for GL_EXT_disjoint_timer_query says

> The GetInteger64vEXT command is required only if OpenGL ES 3.0 or later
> is not supported.

Some GLES 3.2 implementations like the proprietary mali driver on the
rk3566 based OrangePi advertise GL_EXT_disjoint_timer_query but lack
glGetInteger64vEXT. Use glGetInteger64v instead.
This commit is contained in:
Guido Günther 2024-03-12 10:38:21 +01:00
parent 8da93e5936
commit 341b3c8bd2
1 changed files with 5 additions and 1 deletions

View File

@ -614,7 +614,11 @@ struct wlr_renderer *wlr_gles2_renderer_create(struct wlr_egl *egl) {
load_gl_proc(&renderer->procs.glQueryCounterEXT, "glQueryCounterEXT");
load_gl_proc(&renderer->procs.glGetQueryObjectivEXT, "glGetQueryObjectivEXT");
load_gl_proc(&renderer->procs.glGetQueryObjectui64vEXT, "glGetQueryObjectui64vEXT");
load_gl_proc(&renderer->procs.glGetInteger64vEXT, "glGetInteger64vEXT");
if (eglGetProcAddress("glGetInteger64vEXT")) {
load_gl_proc(&renderer->procs.glGetInteger64vEXT, "glGetInteger64vEXT");
} else {
load_gl_proc(&renderer->procs.glGetInteger64vEXT, "glGetInteger64v");
}
}
if (renderer->exts.KHR_debug) {