diff options
author | ccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-22 20:10:58 +0000 |
---|---|---|
committer | ccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-22 20:10:58 +0000 |
commit | 3b83b3942935998ffdbeb9a30da1f13a2931504f (patch) | |
tree | 5e1c2245b654c515be5f86d94a3363cfa85d3acd | |
parent | d5a7d7bd143dfd6e2bd90ceb3a7c7f53f9542462 (diff) | |
download | chromium_src-3b83b3942935998ffdbeb9a30da1f13a2931504f.zip chromium_src-3b83b3942935998ffdbeb9a30da1f13a2931504f.tar.gz chromium_src-3b83b3942935998ffdbeb9a30da1f13a2931504f.tar.bz2 |
Merge 241431 "Work around Mac OS 10.9 window server synchronizat..."
> Work around Mac OS 10.9 window server synchronization bug.
>
> When using the integrated GPU with multiple windows open, the display
> will shudder and flicker. It appears that the front and back buffers
> are fighting to be displayed (sometimes the previous frame is shown,
> sometimes the new frame is shown). When a glFinish is added here, the
> bug goes away.
>
> BUG=318877
>
> Review URL: https://codereview.chromium.org/103943011
TBR=ccameron@chromium.org
Review URL: https://codereview.chromium.org/145083004
git-svn-id: svn://svn.chromium.org/chrome/branches/1750/src@246400 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | content/browser/renderer_host/compositing_iosurface_mac.mm | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/content/browser/renderer_host/compositing_iosurface_mac.mm b/content/browser/renderer_host/compositing_iosurface_mac.mm index dff0413..b5759ed 100644 --- a/content/browser/renderer_host/compositing_iosurface_mac.mm +++ b/content/browser/renderer_host/compositing_iosurface_mac.mm @@ -450,7 +450,8 @@ bool CompositingIOSurfaceMac::DrawIOSurface( } const bool workaround_needed = - drawing_context->IsVendorIntel() && !base::mac::IsOSMountainLionOrLater(); + drawing_context->IsVendorIntel() && + (!base::mac::IsOSMountainLionOrLater() || base::mac::IsOSMavericks()); const bool use_glfinish_workaround = (workaround_needed || force_on_workaround) && !force_off_workaround; @@ -459,8 +460,10 @@ bool CompositingIOSurfaceMac::DrawIOSurface( // http://crbug.com/123409 : work around bugs in graphics driver on // MacBook Air with Intel HD graphics, and possibly on other models, // by forcing the graphics pipeline to be completely drained at this - // point. - // This workaround is not necessary on Mountain Lion. + // point. This workaround is not necessary on Mountain Lion. + // http://crbug.com/318877 : work around a bug where the window does + // not finish rendering its contents before displaying them on Mavericks + // on Retina MacBook Pro when using the Intel HD graphics GPU. glFinish(); } |