• Peng Huang's avatar
    SkiaRenderer: Add SkiaOutputSurface to allow SkiaRenderer to use SkDDL · b0478d0c
    Peng Huang authored
    This CL adds a new interface viz::SkiaOutputSurface which extends
    viz::OutputSurface for SkiaRenderer to support compositing with SkDDL
    (skia deferred display list). SkiaRenderer draws quads into a DDL SkCanvas,
    and draw operations will be recorded into a DDL.
    In OutputSurface::SwapBuffers(), a GPU task will be scheduled with
    gpu::Schduler. The task will be executed on the GPU thread when all resource
    sync tokes are satisfied. The task will play the DDL back on a GrContext
    which is backed by a native platform GL context.
    
    We have a goal to use SkiaRenderer everywhere, and remove GLRenderer and
    Software Compositor. The new viz::SkiaOutputSurface interface and
    viz::OutputSurface interface will be merged into one interface when DirectRenderer
    subclasses are removed. The new interface is for making development
    faster because when we change methods in viz::SkiaOutputSurface, we will not break
    all other existing OutputSurface implementations.
    
    Bug: 824382
    Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel
    Change-Id: I776a76dc8496d40f88950856867596f5c44f735f
    Reviewed-on: https://chromium-review.googlesource.com/978366
    Commit-Queue: Peng Huang <penghuang@chromium.org>
    Reviewed-by: default avatarAntoine Labour <piman@chromium.org>
    Reviewed-by: default avatarRobert Kroeger <rjkroege@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#553815}
    b0478d0c
skia_renderer.h 6.49 KB