summaryrefslogtreecommitdiffstats
path: root/ui/gl/gl_surface_ozone.cc
diff options
context:
space:
mode:
authorhshi <hshi@chromium.org>2015-02-26 21:26:15 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-27 05:26:54 +0000
commite0b8b9dfff8f5fa19aa0d039c6d1fecc96d113e6 (patch)
treed99896ea45a16f3b773dc631560939022f1616d7 /ui/gl/gl_surface_ozone.cc
parent5deeb5b79a0ba83f15569a222397d53d2f9abc51 (diff)
downloadchromium_src-e0b8b9dfff8f5fa19aa0d039c6d1fecc96d113e6.zip
chromium_src-e0b8b9dfff8f5fa19aa0d039c6d1fecc96d113e6.tar.gz
chromium_src-e0b8b9dfff8f5fa19aa0d039c6d1fecc96d113e6.tar.bz2
Force glFinish for page flips on a UDL device.
This is a temporary workaround. TODO: crbug.com/462360 replace with a per-surface flush as it gets implemented in GL drivers. BUG=457898 TEST=verify that UDL+i915 extended desktop has no artifacts Review URL: https://codereview.chromium.org/942113006 Cr-Commit-Position: refs/heads/master@{#318408}
Diffstat (limited to 'ui/gl/gl_surface_ozone.cc')
-rw-r--r--ui/gl/gl_surface_ozone.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/ui/gl/gl_surface_ozone.cc b/ui/gl/gl_surface_ozone.cc
index cba706b..f79b6d0 100644
--- a/ui/gl/gl_surface_ozone.cc
+++ b/ui/gl/gl_surface_ozone.cc
@@ -164,8 +164,8 @@ class GL_EXPORT GLSurfaceOzoneSurfaceless : public SurfacelessEGL {
bool Flush() {
glFlush();
- // TODO: the following should be replaced by a per surface flush as it gets
- // implemented in GL drivers.
+ // TODO: crbug.com/462360 the following should be replaced by a per surface
+ // flush as it gets implemented in GL drivers.
if (has_implicit_external_sync_) {
const EGLint attrib_list[] = {
EGL_SYNC_CONDITION_KHR,
@@ -182,6 +182,8 @@ class GL_EXPORT GLSurfaceOzoneSurfaceless : public SurfacelessEGL {
} else {
return false;
}
+ } else if (ozone_surface_->IsUniversalDisplayLinkDevice()) {
+ glFinish();
}
return true;
}