mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-03-13 18:40:35 +01:00
fade_output() is strange in that it manufactures a wlsc_surface object by hand, and then calls wlsc_surface_draw() on it. Valgrind complained, that wlsc_surface_draw() accesses uninitialised data: wlsc_surface::alpha. fade_output() forgets to set it. Initialise surface.alpha in fade_output(). Specifically, set it to compositor->current_alpha to deliberatly avoid the gluniform1f() call in wlsc_surface_draw(). fade_output() binds a different GL shader program than wlsc_surface_draw() expects. This program does not have a uniform called "alpha", and the uniform location given in glUniform1f() is not for this program anyway. A hint of that is the runtime error: Mesa: User error: GL_INVALID_OPERATION in glUniform(type mismatch) Fixing this seems to get rid of half a thousand of Valgrind errors, and of course the Mesa user error. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com> |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| compositor-drm.c | ||
| compositor-openwfd.c | ||
| compositor-wayland.c | ||
| compositor-x11.c | ||
| compositor.c | ||
| compositor.h | ||
| data-device.c | ||
| evdev.c | ||
| evdev.h | ||
| image-loader.c | ||
| Makefile.am | ||
| screenshooter.c | ||
| shell.c | ||
| switcher.c | ||
| tablet-shell.c | ||
| tty.c | ||
| util.c | ||
| xserver-launcher.c | ||