xserver/glamor
Enrico Weigelt, metux IT consult ef62929f58 treewide: NULL-protect ScreenRec->DestroyPixmap() calls
Right now, we're assuming that even when deep nesting involved, the proc
vector is always set to a valid function. One the one hand it requires
extra dummy procs in some cases, OTOH it's making upcoming refactoring
of the code flow unnecessarily complex.

The big plot (of subsequent commits) is splitting out the extension's
(and possibly subsystem's) special logic out of the wrapping chain and
let them be executed independently from the DDX/drivers - when applicable
even only when the pixmap is really destroyed (not just unref'ed).
(At some later point, it might even become be actually a valid situation
that DestroyPixmap vector really being NULL.)

See: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1754
See: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1755

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1709>
2025-02-06 23:02:06 +00:00
..
glamor.c treewide: replace xnfstrdup() calls by XNFstrdup() 2024-07-26 23:41:34 +00:00
glamor.h glamor: add glvnd_vendor private 2023-11-07 17:59:24 +03:00
glamor_addtraps.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_composite_glyphs.c render: move private definitions out of public glyphstr.h 2024-03-03 22:54:16 +00:00
glamor_compositerects.c glamor: Make glamor_solid_boxes take a DrawablePtr 2023-07-20 10:14:56 +02:00
glamor_context.h glamor: Assume EGL in glamor_context 2021-09-15 19:14:23 +00:00
glamor_copy.c glamor: Make glamor_set_alu take a DrawablePtr 2024-01-11 10:03:10 +00:00
glamor_core.c glamor: Fallback to software rendering on GLSL link failure 2024-04-11 12:01:14 +00:00
glamor_dash.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_debug.h glamor: glamor_debug.h: drop unused AbortServer() declaration 2024-03-03 22:29:52 +00:00
glamor_egl.c treewide: NULL-protect ScreenRec->DestroyPixmap() calls 2025-02-06 23:02:06 +00:00
glamor_egl.h glamor/xwayland: Define EGL_NO_X11 2019-11-04 20:49:33 +01:00
glamor_egl_ext.h glamor: Implement PixmapFromBuffers and BuffersFromPixmap 2018-03-05 13:27:49 -05: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 glamor: drop duplicate _X_EXPORT from .c source 2024-03-03 22:34:26 +00:00
glamor_font.c include: dixfontstr.h: drop silent dependency on libxfont2 2024-09-01 17:45:13 +00:00
glamor_font.h glamor: store old fonts in double width textures. 2016-01-13 11:21:02 +10:00
glamor_glx_provider.c glamor: reject configs using unsupported rgbBits size 2025-01-21 09:16:52 +00:00
glamor_glx_provider.h glamor: Lift the GLX EGL backend from Xwayland 2023-11-07 17:59:24 +03:00
glamor_glyphblt.c Fixed mirrored glyphs on big-endian machines 2023-12-17 16:44:45 +00:00
glamor_gradient.c glamor: Fallback to software rendering on GLSL link failure 2024-04-11 12:01:14 +00:00
glamor_image.c glamor: Add and use glamor_drawable_effective_depth helper 2023-07-20 10:14:56 +02:00
glamor_largepixmap.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
glamor_lines.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_picture.c glamor: make use of GL_EXT_texture_format_BGRA8888 2022-12-01 08:41:57 +00:00
glamor_pixmap.c glamor: Fall back for mixed depth 24/32 in glamor_set_alu 2024-01-11 10:03:10 +00:00
glamor_points.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_prepare.c glamor: Add and use glamor_drawable_effective_depth helper 2023-07-20 10:14:56 +02:00
glamor_prepare.h glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_priv.h fix missing includes of <X11/Xfuncproto.h> 2024-07-20 17:18:38 +00:00
glamor_program.c glamor: Fix possible double-free 2024-07-29 13:49:27 +00:00
glamor_program.h glamor: Make program APIs take DrawablePtrs instead of PixmapPtrs 2023-07-18 09:34:39 +00:00
glamor_rects.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_render.c glamor: Fallback to software rendering on GLSL link failure 2024-04-11 12:01:14 +00:00
glamor_segs.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_spans.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_sync.c glamor: Don't glFlush/ctx switch unless any work has been performed 2023-03-17 12:38:23 +00:00
glamor_text.c Fixed mirrored glyphs on big-endian machines 2023-12-17 16:44:45 +00:00
glamor_transfer.c glamor: check BPP by render_format. 2024-08-01 10:48:11 +03:00
glamor_transfer.h glamor: Take DrawablePtr instead of PixmapPtr in up/download_boxes 2023-07-18 09:34:39 +00:00
glamor_transform.c glamor: Make glamor_set_alu take a DrawablePtr 2024-01-11 10:03:10 +00:00
glamor_transform.h glamor: Add and use glamor_drawable_effective_depth helper 2023-07-20 10:14:56 +02: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 glamor: Make glamor_solid_boxes take a DrawablePtr 2023-07-20 10:14:56 +02:00
glamor_utils.h glamor: Don't glFlush/ctx switch unless any work has been performed 2023-03-17 12:38:23 +00:00
glamor_vbo.c treewide: replace xnfalloc() calls to XNFalloc() 2024-07-26 23:41:33 +00: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 drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
meson.build Xephyr: use glamor glx provider 2023-11-07 18:20:48 +03:00