commit | b0478d0c86e6c90c497a8c3cffd0dc4077ae0efa | [log] [tgz] |
---|---|---|
author | Peng Huang <penghuang@chromium.org> | Wed Apr 25 23:23:06 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Wed Apr 25 23:23:06 2018 |
tree | a0b68173b7b925c5df5ce671669b6e10c438a94e | |
parent | df34887d5cf2c0ea0461656a5f8d6057257bf40c [diff] |
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}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .