Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Issue 1980183002: Workaround for Mac video flickering (Closed)

Created:
4 years, 7 months ago by ccameron
Modified:
4 years, 7 months ago
Reviewers:
Daniele Castagna
CC:
chromium-reviews, erikchen
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Workaround for Mac video flickering The partial swap support on Mac (GLRendererLayerTree) is brittle because it allows drawing to an IOSurface while that IOSurface is being used as a CALayer's contents. This happens to not cause problems because the compositor usually draws the entire page in one chunk. If we introduce a glFlush to the middle of this, then we can end up with partially drawn content appearing on-screen (in the case of the issue that the bug was filed on, black tiles behind a YouTube video). The texture deletion in GLImageIOSurface happens in the middle of the compositor frame being drawn, and causes an implicit glFlush. Avoid this deletion and implicit glFlush by scoping the textures used by GLImageIOSurface to the YUVToRGBConverter structure. The long-term solution is to have the GLRendererLayerTree not support partial swap, and make BufferQueue not allow re-use of a backbuffer until IOSurfaceIsInUse is no longer true. BUG=611551 Committed: https://crrev.com/ded54a2ab9cf36b048b1d9e26f97397aa54dc46f Cr-Commit-Position: refs/heads/master@{#394290}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Incorporate review feedback #

Patch Set 3 : Incorporate review feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+20 lines, -15 lines) Patch
M ui/gl/gl_image_io_surface.mm View 1 3 chunks +5 lines, -9 lines 0 comments Download
M ui/gl/yuv_to_rgb_converter.h View 1 2 2 chunks +8 lines, -2 lines 0 comments Download
M ui/gl/yuv_to_rgb_converter.cc View 1 3 chunks +7 lines, -4 lines 0 comments Download

Messages

Total messages: 10 (4 generated)
ccameron
This is not ideal, but it is the only way to restore the behavior from ...
4 years, 7 months ago (2016-05-16 22:17:04 UTC) #2
Daniele Castagna
On 2016/05/16 at 22:17:04, ccameron wrote: > This is not ideal, but it is the ...
4 years, 7 months ago (2016-05-17 19:29:37 UTC) #3
ccameron
On 2016/05/17 19:29:37, Daniele Castagna wrote: > On 2016/05/16 at 22:17:04, ccameron wrote: > > ...
4 years, 7 months ago (2016-05-17 22:52:19 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1980183002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1980183002/40001
4 years, 7 months ago (2016-05-17 22:53:13 UTC) #7
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 7 months ago (2016-05-18 00:36:56 UTC) #8
commit-bot: I haz the power
4 years, 7 months ago (2016-05-18 00:38:34 UTC) #10
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/ded54a2ab9cf36b048b1d9e26f97397aa54dc46f
Cr-Commit-Position: refs/heads/master@{#394290}

Powered by Google App Engine
This is Rietveld 408576698