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.
master
Guido Günther 9 months ago
parent 8da93e5936
commit 341b3c8bd2

@ -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.glQueryCounterEXT, "glQueryCounterEXT");
load_gl_proc(&renderer->procs.glGetQueryObjectivEXT, "glGetQueryObjectivEXT"); load_gl_proc(&renderer->procs.glGetQueryObjectivEXT, "glGetQueryObjectivEXT");
load_gl_proc(&renderer->procs.glGetQueryObjectui64vEXT, "glGetQueryObjectui64vEXT"); load_gl_proc(&renderer->procs.glGetQueryObjectui64vEXT, "glGetQueryObjectui64vEXT");
if (eglGetProcAddress("glGetInteger64vEXT")) {
load_gl_proc(&renderer->procs.glGetInteger64vEXT, "glGetInteger64vEXT"); load_gl_proc(&renderer->procs.glGetInteger64vEXT, "glGetInteger64vEXT");
} else {
load_gl_proc(&renderer->procs.glGetInteger64vEXT, "glGetInteger64v");
}
} }
if (renderer->exts.KHR_debug) { if (renderer->exts.KHR_debug) {

Loading…
Cancel
Save