xserver/glamor
Icenowy Zheng 3e1c2d5456 glamor: Fix dual blend on GLES3
The EXT_blend_func_extended extension on ESSL always requires explicit
request to allow two FS out variables because of limitations of the ESSL
language, which is mentioned as the No.6 issue of the extension's
specification.

Fix this by adding the extension request.

The original behavior on GLES3 is slightly against the specification of
GL_EXT_blend_func_extended extension, however Mesa and older version of
PowerVR closed drivers will just ignore this issue. Newest PowerVR
closed driver will bail out on this problem, so it deems a fix now.

Fixes: ee107cd491 ("glamor: support GLES3 shaders")
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1750>
2025-06-26 15:30:56 +02:00
..
glamor.c glamor: use PixmapDestroy hook 2025-06-12 16:46:44 +02:00
glamor.h Revert "(!1987) glamor: unexport GLAMOR_CREATE_PIXMAP_* defines" 2025-06-12 17:21:48 +02:00
glamor_addtraps.c glamor: fix missing include of dix-config.h 2025-06-12 16:50:32 +02:00
glamor_composite_glyphs.c glamor: Fix dual blend on GLES3 2025-06-26 15:30:56 +02:00
glamor_compositerects.c glamor: replace xallocarray() by calloc() 2025-06-12 17:21:43 +02:00
glamor_context.h glamor: Assume EGL in glamor_context 2021-09-15 19:14:23 +00:00
glamor_copy.c treewide: drop COMPOSITE symbol 2025-06-12 16:47:01 +02:00
glamor_core.c glamor: use calloc() instead of malloc() 2025-06-12 16:49:29 +02:00
glamor_dash.c glamor: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02:00
glamor_debug.h glamor: glamor_debug.h: drop unused AbortServer() declaration 2024-03-03 22:29:52 +00:00
glamor_egl.c glamor: fix missing include of dix-config.h 2025-06-12 16:50:32 +02: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: fix missing include of dix-config.h 2025-06-12 16:50:32 +02:00
glamor_fbo.c glamor: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02:00
glamor_font.c glamor: use calloc() instead of malloc() 2025-06-12 16:49:29 +02: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 drop Xwayland 2025-06-17 12:51:36 +02:00
glamor_glyphblt.c glamor: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02:00
glamor_gradient.c glamor: replace xallocarray() by calloc() 2025-06-12 17:21:43 +02:00
glamor_image.c glamor: fix missing include of dix-config.h 2025-06-12 16:50:32 +02:00
glamor_largepixmap.c glamor: fix segfault on calloc() failure 2025-06-12 16:31:54 +02:00
glamor_lines.c glamor: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02:00
glamor_picture.c glamor: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02:00
glamor_pixmap.c glamor: fix missing include of dix-config.h 2025-06-12 16:50:32 +02:00
glamor_points.c glamor: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02:00
glamor_prepare.c glamor: replace xallocarray() by calloc() 2025-06-12 17:21:43 +02:00
glamor_prepare.h glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_priv.h Revert "(!1987) glamor: unexport GLAMOR_CREATE_PIXMAP_* defines" 2025-06-12 17:21:48 +02:00
glamor_program.c glamor: fix missing include of dix-config.h 2025-06-12 16:50:32 +02: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: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02:00
glamor_render.c glamor: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02:00
glamor_segs.c glamor: fix missing include of dix-config.h 2025-06-12 16:50:32 +02:00
glamor_spans.c glamor: fix missing include of dix-config.h 2025-06-12 16:50:32 +02:00
glamor_sync.c glamor: fix missing include of dix-config.h 2025-06-12 16:50:32 +02:00
glamor_text.c glamor: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02:00
glamor_transfer.c glamor: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02: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: fix missing include of dix-config.h 2025-06-12 16:50:32 +02: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: fix missing include of dix-config.h 2025-06-12 16:50:32 +02:00
glamor_triangles.c fb: pict: unexport fbTriangles() 2025-06-12 16:35:19 +02:00
glamor_utils.c glamor: replace xallocarray() by calloc() 2025-06-12 17:21:43 +02:00
glamor_utils.h glamor: NULL-protect GLAMOR_PIXMAP_PRIV_HAS_FBO() 2025-06-12 16:31:44 +02:00
glamor_vbo.c glamor: fix missing include of dix-config.h 2025-06-12 16:50:32 +02:00
glamor_window.c glamor: fix missing include of dix-config.h 2025-06-12 16:50:32 +02:00
glamor_xv.c glamor: BUG_RETURN*() on pixmap private data 2025-06-12 16:31:49 +02:00
meson.build Xephyr: use glamor glx provider 2023-11-07 18:20:48 +03:00