mpv/video/out
wm4 7fb972fd39 vo_gpu: EGL: fix transparency on X11/EGL/Mesa
Transparent windows on X11/EGL/native Mesa GL didn't work for various
reasons. From what I remember, the current code did work with nvidia at
least. Mesa has made attempts to fix this, but they never really made it
in.

But it turns out you can make EGL/Mesa list the EGLConfigs that use X11
RGBA visuals, and context_x11egl.c contains code that explicitly selects
them if alpha is requested (see pick_xrgba_config()).

The reason EGL/Mesa did not list them (and thus breaking transparency)
is because we requested a EGL_ALPHA_SIZE != 0 if alpha is requested. But
the transparent EGLConfigs use EGL_ALPHA_SIZE == 0. That's because EGL
doesn't actually support the concept of transparent windows; the alpha
size parameter is something else (memory rendering without FBOs or
something, I don't care enough to look up the real reasons).

This still won't work on Wayland. Every EGL backend needs platform
specific code. (Good job, EGL, such an awesome platform independent
standard.)

Fixes: #6590
2020-08-27 11:55:20 +02:00
..
cocoa
d3d11
gpu vo_gpu: clip highlights before tone-mapping 2020-07-19 08:07:48 +02:00
hwdec vo_gpu: hwdec_vaapi: handle lack of object size with AMD drivers 2020-07-14 07:32:04 +02:00
mac mac: add icc profile and ambient light sensor support 2020-08-22 14:22:49 +02:00
opengl vo_gpu: EGL: fix transparency on X11/EGL/Mesa 2020-08-27 11:55:20 +02:00
placebo
vulkan wayland: conditionally commit surface on resize 2020-08-20 16:57:37 +00:00
win32
android_common.c
android_common.h
aspect.c
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_cb_common.swift cocoa-cb: force layer update on resize 2020-08-22 14:22:49 +02:00
cocoa_common.h
cocoa_common.m
dither.c
dither.h
dr_helper.c
dr_helper.h
drm_atomic.c
drm_atomic.h
drm_common.c
drm_common.h
drm_prime.c
drm_prime.h
filter_kernels.c
filter_kernels.h
libmpv.h client API: add software rendering API 2020-07-08 22:42:05 +02:00
libmpv_sw.c client API: add software rendering API 2020-07-08 22:42:05 +02:00
vo.c wayland: soften GNOME warning 2020-08-17 19:36:04 +03:00
vo.h
vo_caca.c
vo_direct3d.c
vo_drm.c
vo_gpu.c
vo_image.c
vo_lavc.c
vo_libmpv.c client API: add software rendering API 2020-07-08 22:42:05 +02:00
vo_mediacodec_embed.c
vo_null.c
vo_rpi.c
vo_sdl.c
vo_tct.c
vo_vaapi.c
vo_vdpau.c
vo_wlshm.c wayland: conditionally commit surface on resize 2020-08-20 16:57:37 +00:00
vo_x11.c
vo_xv.c
w32_common.c
w32_common.h
wayland_common.c wayland: always update sbc for presentation time 2020-08-24 11:11:39 -05:00
wayland_common.h wayland: simplify presentation time 2020-08-22 20:43:49 +00:00
win_state.c
win_state.h
x11_common.c x11: add option to make window appear on a specific workspace 2020-07-12 00:12:55 +02:00
x11_common.h x11: remove terrible xdg-screensaver hack 2020-07-08 22:45:07 +02:00