xserver/glamor
Icenowy Zheng 810fa68549 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>
(cherry picked from commit eba15f1ba7)

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2041>
2025-06-26 09:58:59 +02:00
..
glamor.c glamor: Fallback to software rendering on GLSL link failure 2024-04-11 12:01:14 +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 glamor: Fix dual blend on GLES3 2025-06-26 09:58:59 +02: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 glamor: use gbm_format_for_depth instead of open-coding it 2025-02-04 18:14:05 +01: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 glamor: add glamor_glsl_has_ints wrapper 2021-07-07 08:41:50 +10: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-02-04 18:14:06 +01: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 glamor: Fallback to software rendering on GLSL link failure 2024-04-11 12:01:14 +00:00
glamor_program.c glamor: Fix possible double-free 2024-08-06 10:00:59 +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: 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-06 10:00:59 +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: 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 Fix spelling/wording issues 2020-07-05 13:07:33 -07: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: xv: Rewrite UYVY shader to match NV12/I420 CSC 2024-08-06 10:00:59 +02:00
meson.build Drop Xorg DDX 2024-04-12 10:40:05 +02:00