Skip to content

glamor: Fix dual blend on GLES3

Icenowy Zheng requested to merge icenowy/xserver:gles3-dual-blend-fix into master

The glBindFragDataLocationIndexed function is never part of any version of OpenGL ES, even 3.x; and the EXT_blend_func_extended extension on ESSL always requires explicit request to allow two FS out variables.

Fix this by adding the extension request and bypassing the out-of-shader index specification code.

The original behavior on GLES3 is 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: ee107cd4 ("glamor: support GLES3 shaders") Signed-off-by: Icenowy Zheng uwu@icenowy.me

Merge request reports

Loading