mirror of
https://github.com/yshui/picom.git
synced 2024-11-11 13:51:02 -05:00
eb723eee29
There is actually no specification what symbols are exported from a libGL implementation. The (extremely outdated) OpenGL ABI specification says only GL 1.2 functions are guaranteed. Don't know how relevant that is now, but different libGL implementations do export different set of symbols. On Linux we are most likely to be linked with libglvnd, which has everything we need. But on other platforms this is not necessarily the case, for example on OpenBSD we are missing glGetQueryObjectui64v. Use libepoxy so we can outsource this problem and never worry about it ever again. Plus it also saves us from calling GetProcAddress ourselves. Changes other than trivial build fixes I have to make: 1. Can't use eglCreatePlatformWindowSurface/eglGetPlatformDisplay. libepoxy checks for EGL 1.5 when resolving these functions. But without a current context, libepoxy assumes we only have EGL 1.4. This creates a chicken and egg problem - we need a display to call eglGetPlatformDisplay. We have to use the *EXT version instead. Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com> |
||
---|---|---|
.. | ||
backend | ||
atom.c | ||
atom.h | ||
c2.c | ||
c2.h | ||
cache.c | ||
cache.h | ||
common.h | ||
compiler.h | ||
config.c | ||
config.h | ||
config_libconfig.c | ||
dbus.c | ||
dbus.h | ||
diagnostic.c | ||
diagnostic.h | ||
err.h | ||
event.c | ||
event.h | ||
file_watch.c | ||
file_watch.h | ||
kernel.c | ||
kernel.h | ||
list.h | ||
log.c | ||
log.h | ||
meson.build | ||
meta.h | ||
opengl.c | ||
opengl.h | ||
options.c | ||
options.h | ||
picom.c | ||
picom.h | ||
picom.modulemap | ||
region.h | ||
render.c | ||
render.h | ||
statistics.c | ||
statistics.h | ||
string_utils.c | ||
string_utils.h | ||
types.h | ||
uthash_extra.h | ||
utils.c | ||
utils.h | ||
vblank.c | ||
vblank.h | ||
vsync.c | ||
vsync.h | ||
win.c | ||
win.h | ||
win_defs.h | ||
x.c | ||
x.h | ||
xrescheck.c | ||
xrescheck.h |