mpv/video/out/opengl
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
..
angle_dynamic.c
angle_dynamic.h
common.c OpenGL: Also detect softpipe as a software driver 2020-02-25 21:32:04 +02:00
common.h
context.c vo_gpu: opengl: make sure to always clean up debug callbacks 2020-04-15 07:21:36 +02:00
context.h
context_android.c
context_angle.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
context_cocoa.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
context_drm_egl.c drm: add typedef for PFNEGLGETPLATFORMDISPLAYEXTPROC (#7314) 2020-05-14 15:07:58 +02:00
context_dxinterop.c
context_glx.c
context_rpi.c rpi: destroy fullscreen change handling 2019-12-11 18:50:37 +01:00
context_wayland.c wayland: conditionally commit surface on resize 2020-08-20 16:57:37 +00:00
context_win.c
context_x11egl.c vo_gpu: opengl: make it work with EGL 1.4 2019-12-16 00:25:51 +01:00
egl_helpers.c vo_gpu: EGL: fix transparency on X11/EGL/Mesa 2020-08-27 11:55:20 +02:00
egl_helpers.h vo_gpu: opengl: make it work with EGL 1.4 2019-12-16 00:25:51 +01:00
formats.c
formats.h
gl_headers.h vo_gpu: opengl: add hack for ancient Mesa/GLX 2019-11-30 13:38:28 +01:00
hwdec_d3d11egl.c
hwdec_drmprime_drm.c drm_prime: double free bug 2020-03-05 18:12:57 +01:00
hwdec_dxva2egl.c
hwdec_dxva2gldx.c
hwdec_ios.m
hwdec_osx.c
hwdec_rpi.c
hwdec_vdpau.c vo_gpu: hwdec_vdpau: remove direct_mode 2019-12-28 14:31:06 -08:00
libmpv_gl.c
oml_sync.c
oml_sync.h
ra_gl.c video: fix rgb30 component order 2020-05-09 18:02:57 +02:00
ra_gl.h
utils.c
utils.h