xserver-multidpi/glamor
Dor Askayo 0e9a0c203c 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>
2019-11-07 12:25:42 +01:00
..
glamor_addtraps.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_composite_glyphs.c glamor: Declare "pos" in the composite glyph GLSL 1.20 vertex shader 2016-08-23 12:59:55 +09:00
glamor_compositerects.c glamor: fix wrong offset on composite rectangles 2016-04-15 16:31:36 -04:00
glamor_context.h glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_copy.c glamor: Propagate glamor_prepare_access failures in copy helpers 2019-03-08 14:29:40 +01:00
glamor_core.c glamor: Stop tracking the screen_fbo. 2017-06-02 17:46:45 -07:00
glamor_dash.c glamor: Fix dashed line rendering. 2017-03-16 11:30:58 -07:00
glamor_debug.h glamor: Remove the "delayed fallback" code. 2017-06-02 17:46:48 -07:00
glamor_egl_ext.h glamor: Implement PixmapFromBuffers and BuffersFromPixmap 2018-03-05 13:27:49 -05:00
glamor_egl_stubs.c glamor: Unbreak glamor_fd_from_pixmap() 2018-06-27 15:07:56 -04:00
glamor_egl.c Revert https://gitlab.freedesktop.org/xorg/xserver/merge_requests/235 2019-10-14 12:48:24 +02:00
glamor_egl.h glamor/xwayland: Define EGL_NO_X11 2019-11-04 20:49:33 +01:00
glamor_eglmodule.c glamor: Bump version to 1.0.1 to signal depth 30 support. 2018-02-27 10:18:07 -05:00
glamor_fbo.c xwayland: clear pixmaps after creation in rootless mode 2019-11-07 12:25:42 +01:00
glamor_font.c dix: Switch to the libXfont2 API (v2) 2016-07-18 15:25:59 -04:00
glamor_font.h glamor: store old fonts in double width textures. 2016-01-13 11:21:02 +10:00
glamor_glx.c glamor: Do the same MakeCurrent(None) for GLX as we do for EGL. 2014-04-23 10:32:32 -07:00
glamor_glyphblt.c glamor: Check glamor_set_destination_drawable() return value 2017-03-15 15:41:13 -04:00
glamor_gradient.c glamor: fix leak of fs_getcolor_source. 2018-09-12 12:26:48 +10:00
glamor_image.c glamor: Avoid software fallback for planemasked ZPixmap GetImage 2017-03-20 13:48:40 -04:00
glamor_largepixmap.c glamor: Avoid overflow between box32 and box16 box 2017-09-13 11:02:52 -04:00
glamor_lines.c glamor: Check glamor_set_destination_drawable() return value 2017-03-15 15:41:13 -04:00
glamor_picture.c glamor: Introduce a central place for our pixmap format/type handling. 2019-04-17 19:34:48 +00:00
glamor_pixmap.c glamor: Switch the gl_flavor to a boolean is_gles. 2019-04-17 19:34:48 +00:00
glamor_points.c glamor: Check glamor_set_destination_drawable() return value 2017-03-15 15:41:13 -04:00
glamor_prepare.c glamor: Fix a compiler warning since the recent OOM fixes. 2019-03-28 13:55:22 -07:00
glamor_prepare.h glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_priv.h xwayland: clear pixmaps after creation in rootless mode 2019-11-07 12:25:42 +01:00
glamor_program.c glamor: Switch the gl_flavor to a boolean is_gles. 2019-04-17 19:34:48 +00:00
glamor_program.h glamor: Add support for CA rendering in a single pass. 2016-01-26 12:02:42 -08:00
glamor_rects.c glamor: Scissor rectangle drawing to the bounds of the rects. 2017-08-14 12:35:55 -07:00
glamor_render.c glamor: Introduce a central place for our pixmap format/type handling. 2019-04-17 19:34:48 +00:00
glamor_segs.c glamor: Check glamor_set_destination_drawable() return value 2017-03-15 15:41:13 -04:00
glamor_spans.c glamor: Introduce a central place for our pixmap format/type handling. 2019-04-17 19:34:48 +00:00
glamor_sync.c glamor: Make glamor_sync_init work with --disable-xshmfence 2016-09-25 11:00:24 -07:00
glamor_text.c glamor: Translate solid text background region after clipping 2016-07-15 12:59:43 -04:00
glamor_transfer.c glamor: Introduce a central place for our pixmap format/type handling. 2019-04-17 19:34:48 +00:00
glamor_transfer.h glamor: Introduce a central place for our pixmap format/type handling. 2019-04-17 19:34:48 +00:00
glamor_transform.c glamor: Fix more fallback paths with non-GXcopy rop with GLES 2019-05-28 18:10:56 +00:00
glamor_transform.h glamor: glamor_set_destination_drawable() can fail 2017-03-15 15:41:12 -04:00
glamor_trapezoid.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_triangles.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_utils.c Convert glamor & glx to new *allocarray functions 2015-04-21 16:58:08 -07:00
glamor_utils.h glamor: Introduce a central place for our pixmap format/type handling. 2019-04-17 19:34:48 +00:00
glamor_vbo.c glamor: Drop the non-VAO rendering path 2017-11-15 09:53:50 -05:00
glamor_window.c glamor: Drop tracking of the last picture attached to pixmaps. 2015-07-10 09:42:58 -07:00
glamor_xv.c glamor: add support for NV12 in Xv 2018-09-11 15:54:57 -04:00
glamor.c xwayland: clear pixmaps after creation in rootless mode 2019-11-07 12:25:42 +01:00
glamor.h xwayland: clear pixmaps after creation in rootless mode 2019-11-07 12:25:42 +01:00
Makefile.am glamor: Implement PixmapFromBuffers and BuffersFromPixmap 2018-03-05 13:27:49 -05:00
meson.build glamor: Implement GetSupportedModifiers 2018-03-05 13:27:55 -05:00