xserver/hw/xwayland
Dor Askayo 94dad4f051 xwayland: clear pixmaps after creation in rootless mode
When a pixmap is created with a backing FBO, the FBO should be cleared
to avoid rendering uninitialized memory. This could happen when the
pixmap is rendered without being filled in its entirety.

One example is when a top-level window without a background is
resized. The pixmap would be reallocated to prepare for more pixels,
but uninitialized memory would be rendered in the resize offset until
the client sends a frame that fills these additional pixels.

Another example is when a new top-level window is created without a
background. Uninitialized memory would be rendered after the pixmap is
allocated and before the client sends its first frame.

This issue is only apparent in OpenGL implementations that don't zero
the VRAM of allocated buffers by default, such as RadeonSI.

Signed-off-by: Dor Askayo <dor.askayo@gmail.com>
Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/636
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 0e9a0c203c)

[ Michel Dänzer:
* Squashed in commit ebf549db2d
* Dropped code related to glamor_format, which only exists on master ]
2020-02-21 23:21:33 +00:00
..
.gitignore glamor: Implement PixmapFromBuffers and BuffersFromPixmap 2018-03-05 13:27:49 -05:00
Makefile.am xwayland: Add glamor egl_backend for EGLStreams 2018-04-24 16:51:18 -04:00
drm.xml wayland: Sync drm.xml with Mesa 2017-07-05 10:13:04 -04:00
meson.build xwayland: Add glamor egl_backend for EGLStreams 2018-04-24 16:51:18 -04:00
xwayland-cursor.c xwayland: Reset scheduled frames after hiding tablet cursor 2019-06-06 11:48:13 +02:00
xwayland-cvt.c xwayland: Add hack for FWXGA resolution #99574 2017-02-08 12:32:16 -05:00
xwayland-glamor-eglstream.c glamor/xwayland: Define EGL_NO_X11 2019-11-05 08:12:03 -08:00
xwayland-glamor-gbm.c xwayland: clear pixmaps after creation in rootless mode 2020-02-21 23:21:33 +00:00
xwayland-glamor-xv.c xwayland: use the lowercase xnf.*alloc API 2017-09-06 08:56:39 +10:00
xwayland-glamor.c glamor/xwayland: Define EGL_NO_X11 2019-11-05 08:12:03 -08:00
xwayland-input.c xwayland: Avoid a crash on pointer enter with a grab 2019-06-05 15:12:31 +02:00
xwayland-output.c xwayland: Expand the RANDR screen size limits 2019-07-26 19:44:03 +00:00
xwayland-present.c xwayland: Do flush GPU work in xwl_present_flush 2019-12-18 12:24:11 -08:00
xwayland-shm.c xserver: Check the right HAVE_*_CONFIG_H. 2017-03-23 13:17:39 -04:00
xwayland-vidmode.c xwayland: Pretend we support viewport in vidmode 2016-03-28 14:10:59 -04:00
xwayland.c xwayland: Call glamor_block_handler from xwl_screen_post_damage 2020-02-21 23:21:33 +00:00
xwayland.h xwayland: Handle the case of windows being realized before redirection 2019-09-10 14:51:00 +02:00