-
Brian Ho authored
Currently, enabling SkiaRenderer on Chrome OS causes the entire screen to flicker due to partial enablement of HW overlays [1]. To remedy these synchronization issues, we need to schedule the primary plane overlay with a valid fence. On Android, this is accomplished via platform-specific code that extracts a fence from a GLImage [2][3]. In this CL, we take a more robust approach by creating the fence on OverlayRepresentation read. The OutputPresenter can subsequently use this fence if it exists/ the SharedImage type supports it. [1] https://chromium-review.googlesource.com/c/chromium/src/+/2342262 [2] https://source.chromium.org/chromium/chromium/src/+/master:gpu/command_buffer/service/shared_image_backing_factory_ahardwarebuffer.cc;l=75;drc=23f61cb65a94208dc2c4728e895e87d47f64a8b6 [3] https://source.chromium.org/chromium/chromium/src/+/master:ui/gl/gl_surface_egl_surface_control.cc;l=323;drc=5c860faff8acca32094b87f229b630519326372e Bug: 1114290 Test: CrOS with SkiaRenderer doesn't flicker Change-Id: Ie429ef6dab66fce18d6b3f37133c4bb9ecf602cd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2404148Reviewed-by:
Peng Huang <penghuang@chromium.org> Reviewed-by:
Khushal <khushalsagar@chromium.org> Reviewed-by:
Daniele Castagna <dcastagna@chromium.org> Commit-Queue: Brian Ho <hob@chromium.org> Cr-Commit-Position: refs/heads/master@{#809768}
d2c56852