Commit 6f370b54 authored by Maksim Sisov's avatar Maksim Sisov Committed by Commit Bot

Disable partial swap for gl es type of gl

Currently, partial swap is disabled on Linux with Mesa drivers and
with gl_type: gl.

Likely, we could not experience any glitches crrev.com/c/1685909,
but once that CL has been merged, partial swap became broken on
Mesa with OpenGL ES (which Wayland uses). Not sure why it started
to happen, but I can assume that the problem is in the Mesa impl
for Wayland as well. Even though, the spec says Wayland compositor
updates only that part of a surface, which has damage, other parts
of a surface showing black squares.

One reason behind that might be missing EGL_NV_post_sub_buffer
extension, which we can't test while being in the GPU process
when dma buffers are used. It is required to create an egl
surface to test against that extension. However, the spec
does not say anything about that. Ideally, Wayland compositor
must handle that by itself, make a union of damages and copy
parts of backbuffer to frontbuffer without getting OpenGL
into play, but something bad happens. At this point,
the problem has only been spotted on Mesa drivers. Others
will be tested asap.

Thus, remove the gl type and enforce the workaround for both
Mesa with OpenGL and OpenGL ES.

Bug: 983933
Change-Id: I159627e95f854053956914f57e6299289ef04a74
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1705794
Commit-Queue: Maksim Sisov <msisov@igalia.com>
Reviewed-by: default avatarAntoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#679066}
parent 06ddb7c4
...@@ -447,7 +447,6 @@ ...@@ -447,7 +447,6 @@
"os": { "os": {
"type": "linux" "type": "linux"
}, },
"gl_type": "gl",
"gl_renderer": ".*Mesa.*", "gl_renderer": ".*Mesa.*",
"features": [ "features": [
"disable_post_sub_buffers_for_onscreen_surfaces" "disable_post_sub_buffers_for_onscreen_surfaces"
...@@ -1850,7 +1849,6 @@ ...@@ -1850,7 +1849,6 @@
"os": { "os": {
"type": "linux" "type": "linux"
}, },
"gl_type": "gl",
"gl_version_string": ".*Mesa.*", "gl_version_string": ".*Mesa.*",
"features": [ "features": [
"disable_post_sub_buffers_for_onscreen_surfaces" "disable_post_sub_buffers_for_onscreen_surfaces"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment