anholt / libepoxy

Epoxy is a library for handling OpenGL function pointer management for you
Other
680 stars 161 forks source link

egl_and_glx_different_pointers test is insane #165

Closed nwnk closed 6 years ago

nwnk commented 6 years ago
/**
 * @file egl_and_glx_different_pointers.c
 *
 * Tests that epoxy correctly handles an EGL and GLX implementation
 * that return different function pointers between the two.
 *
 * This is the case for EGL and GLX on nvidia binary drivers
 * currently, but is also the case if someone has nvidia binary GLX
 * installed but still has Mesa (software) EGL installed.  This seems
 * common enough that we should make sure things work.
 */

I don't know if this is still the case for the NVIDIA drivers, but it's certainly no longer true for glvnd systems. Even in the described configuration, epoxy would likely not work in such a scenario. Whichever provider (either GLX or EGL) you had current when you first resolved glVertex3f would be the only one it ever dispatched to.

anholt commented 6 years ago

Yeah, I thought it was pretty crazy, but people were also complaining about it being broken at the time. "No, use glvnd" seems like a fairly reasonable response at this point.