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

Issue 2001753002: Workaround for Mac video flickering (Closed)

Created:
4 years, 7 months ago by ccameron
Modified:
4 years, 7 months ago
Reviewers:
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@2704
Target Ref:
refs/pending/branch-heads/2704
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 Review-Url: https://codereview.chromium.org/1980183002 Cr-Commit-Position: refs/heads/master@{#394290} (cherry picked from commit ded54a2ab9cf36b048b1d9e26f97397aa54dc46f) Committed: https://chromium.googlesource.com/chromium/src/+/efc4b4f2155ce94b83bb773bc2e6e8f9ff69a4a1

Patch Set 1 #

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 3 chunks +5 lines, -9 lines 0 comments Download
M ui/gl/yuv_to_rgb_converter.h View 2 chunks +8 lines, -2 lines 0 comments Download
M ui/gl/yuv_to_rgb_converter.cc View 3 chunks +7 lines, -4 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
ccameron
4 years, 7 months ago (2016-05-20 19:11:11 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
efc4b4f2155ce94b83bb773bc2e6e8f9ff69a4a1.

Powered by Google App Engine
This is Rietveld 408576698