SkiaRenderer: Add SkiaOutputSurface to allow SkiaRenderer to use SkDDL
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:Antoine Labour <piman@chromium.org> Reviewed-by:
Robert Kroeger <rjkroege@chromium.org> Cr-Commit-Position: refs/heads/master@{#553815}
Showing
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment