xserver/glamor
Icenowy Zheng b53d9fa417 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/1636>
2025-06-30 17:13:16 +03:00
..
glamor.c glamor: Fallback to software rendering on GLSL link failure 2025-06-30 17:13:16 +03:00
glamor.h glamor: add glvnd_vendor private 2025-06-30 17:13:16 +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-30 17:13:16 +03: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: support GLES3 shaders 2025-06-30 17:13:16 +03:00
glamor_core.c glamor: Fallback to software rendering on GLSL link failure 2025-06-30 17:13:16 +03:00
glamor_dash.c glamor: support GLES3 shaders 2025-06-30 17:13:16 +03:00
glamor_debug.h glamor: Remove the "delayed fallback" code. 2017-06-02 17:46:48 -07:00
glamor_egl.c glamor: use gbm_format_for_depth instead of open-coding it 2025-06-30 17:13:16 +03: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_egl_stubs.c glamor: Unbreak glamor_fd_from_pixmap() 2018-06-27 15:07:56 -04: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: make sure the correct FBO is cleared 2019-11-22 17:12:03 +01: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.c glamor: Do the same MakeCurrent(None) for GLX as we do for EGL. 2014-04-23 10:32:32 -07:00
glamor_glx_provider.c glamor: reject configs using unsupported rgbBits size 2025-06-30 17:13:16 +03:00
glamor_glx_provider.h glamor: Lift the GLX EGL backend from Xwayland 2025-06-30 17:13:16 +03:00
glamor_glyphblt.c glamor: support GLES3 shaders 2025-06-30 17:13:16 +03:00
glamor_gradient.c glamor: Fallback to software rendering on GLSL link failure 2025-06-30 17:13:16 +03:00
glamor_image.c glamor: Avoid software fallback for planemasked ZPixmap GetImage 2017-03-20 13:48:40 -04:00
glamor_largepixmap.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
glamor_lines.c glamor: support GLES3 shaders 2025-06-30 17:13:16 +03:00
glamor_picture.c glamor: make use of GL_EXT_texture_format_BGRA8888 2024-10-10 21:48:33 +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: support GLES3 shaders 2025-06-30 17:13:16 +03: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 glamor: Fallback to software rendering on GLSL link failure 2025-06-30 17:13:16 +03:00
glamor_program.c glamor: Fallback to software rendering on GLSL link failure 2025-06-30 17:13:16 +03:00
glamor_program.h glamor: use dual source blend on GL 2.1 with ARB_ES2_compatibility 2025-06-30 17:13:16 +03:00
glamor_rects.c glamor: support GLES3 shaders 2025-06-30 17:13:16 +03:00
glamor_render.c glamor: Fallback to software rendering on GLSL link failure 2025-06-30 17:13:16 +03:00
glamor_segs.c glamor: support GLES3 shaders 2025-06-30 17:13:16 +03:00
glamor_spans.c glamor: support GLES3 shaders 2025-06-30 17:13:16 +03: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: support GLES3 shaders 2025-06-30 17:13:16 +03:00
glamor_transfer.c glamor: check BPP by render_format. 2025-06-30 17:13:16 +03: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: add EXT_gpu_shader4 support 2021-07-07 08:42:09 +10: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 2025-06-30 17:13:16 +03:00
Makefile.am Fix autotools build for Glamor GLX provider 2025-06-30 17:13:16 +03:00
meson.build glamor: Lift the GLX EGL backend from Xwayland 2025-06-30 17:13:16 +03:00