1
0
Fork 0
mirror of https://github.com/yshui/picom.git synced 2024-11-11 13:51:02 -05:00
picom/src
Yuxuan Shui eb723eee29
backend: gl: use libepoxy
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>
2024-02-10 20:36:02 +00:00
..
backend backend: gl: use libepoxy 2024-02-10 20:36:02 +00:00
atom.c x: remove the last bit of Xlib dependency 2020-10-23 07:58:01 +01:00
atom.h atom: add atoms associated with the background pixmap 2023-06-18 14:57:50 +03:00
c2.c compiler: bring the unreachable macro in line with C23 2023-12-17 08:51:22 +00:00
c2.h config: add options window-shader-fg and window-shader-fg-rules 2022-08-11 04:28:48 +01:00
cache.c cache: add cache_set for testing 2020-12-26 07:25:34 +00:00
cache.h cache: add cache_set for testing 2020-12-26 07:25:34 +00:00
common.h fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
compiler.h fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
config.c fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
config.h fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
config_libconfig.c options: use of sw-opti is now an error 2024-01-14 17:04:58 +00:00
dbus.c dbus: address some clang-tidy issues 2023-08-11 01:04:58 +03:00
dbus.h
diagnostic.c backend: make target window a parameter of the init backend operation 2023-09-24 01:14:55 +03:00
diagnostic.h
err.h
event.c fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
event.h
file_watch.c fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
file_watch.h
kernel.c fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
kernel.h backend: gl: use gaussian blur for shadow 2022-09-18 05:00:52 +01:00
list.h
log.c backend: gl: use libepoxy 2024-02-10 20:36:02 +00:00
log.h log: add a new log level, verbose 2023-12-18 04:11:18 +00:00
meson.build backend: gl: use libepoxy 2024-02-10 20:36:02 +00:00
meta.h
opengl.c fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
opengl.h backend: gl: use libepoxy 2024-02-10 20:36:02 +00:00
options.c fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
options.h
picom.c core: use pthread_setschedparam across the board 2024-02-10 20:32:45 +00:00
picom.h picom: address some clang-tidy issues 2023-08-11 01:38:22 +03:00
picom.modulemap
region.h region: address some clang-tidy issues, run clang-format 2023-08-11 00:47:14 +03:00
render.c render: fix binding the root background pixmap in case of depth mismatch 2024-02-02 02:04:45 +03:00
render.h core: isolate X connection with error handling into a struct 2023-07-04 16:24:53 +01:00
statistics.c fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
statistics.h core: don't always delay schedule_render to vblank 2023-12-19 23:27:11 +00:00
string_utils.c string_utils: add trim_both 2022-07-17 15:43:47 +01:00
string_utils.h string_utils: address some clang-tidy issues 2023-08-11 01:47:43 +03:00
types.h
uthash_extra.h
utils.c fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
utils.h fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
vblank.c backend: gl: use libepoxy 2024-02-10 20:36:02 +00:00
vblank.h vblank: add GLX_SGI_video_sync based scheduler 2023-12-19 23:27:12 +00:00
vsync.c core: isolate X connection with error handling into a struct 2023-07-04 16:24:53 +01:00
vsync.h
win.c fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
win.h fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
win_defs.h fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
x.c render: fix binding the root background pixmap in case of depth mismatch 2024-02-02 02:04:45 +03:00
x.h render: fix binding the root background pixmap in case of depth mismatch 2024-02-02 02:04:45 +03:00
xrescheck.c
xrescheck.h