New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

cc:Skia Renderer

Project Member Reported by weiliangc@chromium.org, Sep 7 2016

Issue description

Tracking bug for SkiaRenderer.

The idea is to merge Software and GL Renderer path and stop cc from accessing GL directly.

See http://skbug.com/8505 for Skia optimizations to support SkiaRenderer
 
Initial prototype from enne: https://codereview.chromium.org/2092913002
latest update will be here: https://github.com/weiliangc/chromium/tree/skiarenderer


Also does not work on Android, going to debug that now.
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0b17f8c0b9d2ef247a36d66873d55b7cb66fcea8

commit 0b17f8c0b9d2ef247a36d66873d55b7cb66fcea8
Author: weiliangc <weiliangc@chromium.org>
Date: Wed Nov 02 17:33:32 2016

cc: Stop creating FBO for read lock on SkImage in Resource Provider

Since the SkImage is only used for read lock, no need to create FBO.
This is used for SkiaRenderer.

BUG=644851
R=enne
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2452723002
Cr-Commit-Position: refs/heads/master@{#429322}

[modify] https://crrev.com/0b17f8c0b9d2ef247a36d66873d55b7cb66fcea8/cc/resources/resource_provider.cc

Comment 4 by vmi...@chromium.org, Jan 18 2017

Blocking: 582564

Comment 5 by ajuma@chromium.org, Feb 27 2017

Blockedon: 696587

Comment 6 by sadrul@chromium.org, Aug 11 2017

Blocking: 704285
Project Member

Comment 7 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bb9f4f003b9e59b77288ae34fe1608c23962260e

commit bb9f4f003b9e59b77288ae34fe1608c23962260e
Author: Weiliang Chen <weiliangc@chromium.org>
Date: Wed Aug 16 01:39:59 2017

cc: Initial upload of SkiaRenderer behind flag.

This is moving the github's SkiaRenderer implementation rebased to ToT.

Source of code from: https://github.com/weiliangc/chromium

Bug: 644851
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Id59ebc755d9068155c336991d1982e1795c9185c
Reviewed-on: https://chromium-review.googlesource.com/591780
Commit-Queue: weiliangc <weiliangc@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494660}
[modify] https://crrev.com/bb9f4f003b9e59b77288ae34fe1608c23962260e/cc/resources/resource_provider.cc
[modify] https://crrev.com/bb9f4f003b9e59b77288ae34fe1608c23962260e/cc/resources/resource_provider.h
[modify] https://crrev.com/bb9f4f003b9e59b77288ae34fe1608c23962260e/components/viz/common/display/renderer_settings.h
[modify] https://crrev.com/bb9f4f003b9e59b77288ae34fe1608c23962260e/components/viz/host/renderer_settings_creation.cc
[modify] https://crrev.com/bb9f4f003b9e59b77288ae34fe1608c23962260e/components/viz/service/BUILD.gn
[modify] https://crrev.com/bb9f4f003b9e59b77288ae34fe1608c23962260e/components/viz/service/display/display.cc
[add] https://crrev.com/bb9f4f003b9e59b77288ae34fe1608c23962260e/components/viz/service/display/skia_renderer.cc
[add] https://crrev.com/bb9f4f003b9e59b77288ae34fe1608c23962260e/components/viz/service/display/skia_renderer.h
[modify] https://crrev.com/bb9f4f003b9e59b77288ae34fe1608c23962260e/ui/base/ui_base_switches.cc
[modify] https://crrev.com/bb9f4f003b9e59b77288ae34fe1608c23962260e/ui/base/ui_base_switches.h

Next steps for skia renderer:
- Setup pixel test for tracking how complete the implementations are.


Current list of TODOs of not having implemented/tested in SkiaRenderer:
- sync_query
- FlippedFrameBuffer
- use_lcd_text + distance_field setup
- Render Pass:
  - Fitlers
  - Masks
  - Background Filters
- Unsupported quad
- Copy Request
- DC Layers
- ImageFilter

Comment 9 by m...@chromium.org, Aug 26 2017

Blockedon: 754872
Cc: m...@chromium.org
Heads-up warning: Copy requests require direct access to GL because there are lower-level GPU operations being performed (e.g., viz::GLHelper::CreateYUVReadbackPipeline() and its suite of shader programs and texture mangling to do high quality scaling and image format conversion in the GPU). Even if there are Skia substitutes for these things, there may be major performance considerations here, especially when considering screen video capture. Have we investigated any of this yet?

FWIW, the tab capture impl in its current state is very difficult to evaluate, due to being spread-out across a number of modules and layers of abstraction (and multiple browser processes!). I'm working on moving it all into VIZ, into a much more compact/simple factoring for Mus/Mustache. At that point (ETA end-of-Q3), we will have much tighter integration with GLRenderer and SoftwareRenderer, and be in a better spot to see how things might work in terms of SkiaRenderer.
Project Member

Comment 10 by bugdroid1@chromium.org, Sep 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b9ad27a485e6c86c9a953686821492c6d8549e1e

commit b9ad27a485e6c86c9a953686821492c6d8549e1e
Author: Yuri Wiitala <miu@chromium.org>
Date: Wed Sep 06 19:13:50 2017

Tab Capture in VIZ: CopyOutputRequest/Result API changes.

Simplified creation of requests and sending of results to support the
effort to move tab/desktop capture into the VIZ component. The high-
level philosophy here is for clients to get exactly the result type they
ask for, matched to their use case. For example, one-off snapshots need
scaled SkBitmaps that are immediately ready for use, while layer
animations only need a texture reference to assign to an animated layer.
Furthermore, clients should not be burdened with having to deal with ALL
of the possible separate storage/access or ownership semantics that are
specific to whichever DirectRenderer happened to generate the results.

Summary of changes:

CopyOutputRequest: 1) Removed pre-C++11-style CreateXYZ() methods in
favor of a simple ctor. 2) Removed SendXYZ() methods in favor of a
single SendResult() method that works with the new polymorphic
CopyOutputResults. 3) Replaced CreateEmptyRequest() with
CreateStubForTesting(), since non-test code should never create empty
requests. 4) Add ResultFormat enum to allow clients to request exactly
what they should get, rather than be burdened with coding for all
possible result formats.

CopyOutputResult: Common accessor API, but each DirectRenderer impl that
executes copy requests can use their own subclass impl(s) to manage
their own special result storage/access and ownership semantics and
provide auto-format conversions where it makes sense.

Updated mojo IDL, struct traits, client code, and unit tests to match
the API changes.

Bug:  754872 , 758057, 644851,  759310 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ia309e261a92e05a475a35732ba6df3497366478d
Reviewed-on: https://chromium-review.googlesource.com/637003
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: ccameron chromium <ccameron@chromium.org>
Reviewed-by: Alexandre Elias <aelias@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500033}
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ash/rotator/screen_rotation_animator.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/ipc/copy_output_result.mojom
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/ipc/copy_output_result_struct_traits.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/ipc/copy_output_result_struct_traits.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/ipc/struct_traits_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/layers/layer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/layers/layer_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/direct_renderer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/direct_renderer.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/software_renderer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/software_renderer.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/software_renderer_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/vulkan_renderer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/vulkan_renderer.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/quads/render_pass_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/test/layer_test_common.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/test/layer_tree_pixel_test.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/test/layer_tree_pixel_test.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/test/pixel_test.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/layer_tree_host_pixeltest_readback.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/layer_tree_host_unittest_copyrequest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/occlusion_tracker_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/exo/pointer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/OWNERS
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/common/quads/copy_output_request.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/common/quads/copy_output_request.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/common/quads/copy_output_result.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/common/quads/copy_output_result.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/display_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/gl_renderer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/gl_renderer.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/gl_renderer_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/skia_renderer.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/surface_aggregator.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/surface_aggregator_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/frame_sinks/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/surfaces/surface.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/surfaces/surface_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/compositor/surface_utils.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/media/capture/aura_window_capture_machine.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/renderer_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/remoting/host/chromeos/aura_desktop_capturer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/remoting/host/chromeos/aura_desktop_capturer_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/services/viz/public/cpp/compositing/copy_output_request_struct_traits.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/services/viz/public/cpp/compositing/copy_output_request_struct_traits.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/services/viz/public/interfaces/compositing/copy_output_request.mojom
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/android/delegated_frame_host_android.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/android/delegated_frame_host_android.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/compositor/layer_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/snapshot/snapshot_android.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/snapshot/snapshot_async.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/snapshot/snapshot_aura.cc

Blocking: -704285

Comment 12 by xing...@intel.com, Oct 17 2017

Cc: xing...@intel.com
Blockedon: 795132
Blockedon: 799579
Project Member

Comment 15 by bugdroid1@chromium.org, Jan 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cfe028bce08db3f745d6c54af1913165503c42de

commit cfe028bce08db3f745d6c54af1913165503c42de
Author: Weiliang Chen <weiliangc@chromium.org>
Date: Mon Jan 22 17:08:27 2018

viz: Use SkSurface as RenderPassBacking for SkiaRenderer

Use SkSurface as RenderPassBacking for SkiaRenderer to prepare use in
both software and gl. This removes direct access to gl in SkiaRenderer.

Bug: 644851
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Ic6d45a945d2b169da6c7a86cf1e277c958bf7874
Reviewed-on: https://chromium-review.googlesource.com/860873
Reviewed-by: Brian Salomon <bsalomon@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: weiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530896}
[modify] https://crrev.com/cfe028bce08db3f745d6c54af1913165503c42de/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/cfe028bce08db3f745d6c54af1913165503c42de/components/viz/service/display/skia_renderer.h

Blockedon: 809722
Blockedon: 809726
Project Member

Comment 18 by bugdroid1@chromium.org, Feb 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ff394ed7b91cd57d2533872b27d7ee990badd38

commit 7ff394ed7b91cd57d2533872b27d7ee990badd38
Author: Robert Kroeger <rjkroege@chromium.org>
Date: Fri Feb 09 18:35:21 2018

Add benchmark to DirectRenderer::DrawFrame trace

To better compare the performance of SkiaRenderer and GLRenderer, add
the benchmark category to the TRACE event in DirectRenderer::DrawFrame
so that both DirectRenderer implementations can emit their respective
running times.

BUG=644851

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I181ee4d8f3028c25dda816a60e265b01d788a734
Reviewed-on: https://chromium-review.googlesource.com/911597
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: Robert Kroeger <rjkroege@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535759}
[modify] https://crrev.com/7ff394ed7b91cd57d2533872b27d7ee990badd38/components/viz/service/display/direct_renderer.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Feb 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e0900eced3485eb5f73e3ccb4074125943b2927

commit 8e0900eced3485eb5f73e3ccb4074125943b2927
Author: Peng Huang <penghuang@chromium.org>
Date: Mon Feb 12 16:32:15 2018

SkiaRenderer: Support software resources.

Bug: 644851
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I035e326d569ecfc85fa8fca755d5c0b65f6aa0c8
Reviewed-on: https://chromium-review.googlesource.com/909715
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536096}
[modify] https://crrev.com/8e0900eced3485eb5f73e3ccb4074125943b2927/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/8e0900eced3485eb5f73e3ccb4074125943b2927/components/viz/service/display/skia_renderer.h

Blockedon: 811523
Blockedon: 763664
Project Member

Comment 22 by bugdroid1@chromium.org, Feb 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c44b18fd07b13c33d386fe037ba9927e6ac8e134

commit c44b18fd07b13c33d386fe037ba9927e6ac8e134
Author: Weiliang Chen <weiliangc@chromium.org>
Date: Fri Feb 23 23:01:27 2018

viz: Use GLRenderer's SyncQuery for SkiaRenderer

Copy out GLRenderer's implementation of SyncQuery to be shared with
SkiaRenderer.

R=enne
Bug: 644851

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Iab621087534fc608d0fd9d319255a44335ac9ce4
Reviewed-on: https://chromium-review.googlesource.com/933705
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: weiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538935}
[modify] https://crrev.com/c44b18fd07b13c33d386fe037ba9927e6ac8e134/components/viz/service/BUILD.gn
[modify] https://crrev.com/c44b18fd07b13c33d386fe037ba9927e6ac8e134/components/viz/service/display/gl_renderer.cc
[modify] https://crrev.com/c44b18fd07b13c33d386fe037ba9927e6ac8e134/components/viz/service/display/gl_renderer.h
[modify] https://crrev.com/c44b18fd07b13c33d386fe037ba9927e6ac8e134/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/c44b18fd07b13c33d386fe037ba9927e6ac8e134/components/viz/service/display/skia_renderer.h
[add] https://crrev.com/c44b18fd07b13c33d386fe037ba9927e6ac8e134/components/viz/service/display/sync_query_collection.cc
[add] https://crrev.com/c44b18fd07b13c33d386fe037ba9927e6ac8e134/components/viz/service/display/sync_query_collection.h

Project Member

Comment 23 by bugdroid1@chromium.org, Mar 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/75c9fe226b9803e9d1da834809a0cedaa25d414d

commit 75c9fe226b9803e9d1da834809a0cedaa25d414d
Author: Weiliang Chen <weiliangc@chromium.org>
Date: Thu Mar 01 00:53:34 2018

viz: Only Create SyncQueryCollect in SkiaRenderer Optionally

Trying to access GL will crash vulkan build. Only create sync queries
when it can be used.

R=enne

Bug: 644851
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Ibffe46608195541ab094aae9de4161871c1ab2b1
Reviewed-on: https://chromium-review.googlesource.com/941383
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: weiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539961}
[modify] https://crrev.com/75c9fe226b9803e9d1da834809a0cedaa25d414d/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/75c9fe226b9803e9d1da834809a0cedaa25d414d/components/viz/service/display/skia_renderer.h
[modify] https://crrev.com/75c9fe226b9803e9d1da834809a0cedaa25d414d/components/viz/service/display/sync_query_collection.cc
[modify] https://crrev.com/75c9fe226b9803e9d1da834809a0cedaa25d414d/components/viz/service/display/sync_query_collection.h

Comment 24 by xing...@intel.com, Mar 9 2018

Cc: yang...@intel.com
Hi, Xing is working on the Filter part, my WIP CL is here: 
https://chromium-review.googlesource.com/c/chromium/src/+/912326


Comment 25 by xing...@intel.com, Mar 9 2018

Blockedon: 820356

Comment 26 by xing...@intel.com, Mar 12 2018

Blockedon: 820909
Blockedon: 821176
Blockedon: 822857
Blockedon: 822859
Project Member

Comment 30 by bugdroid1@chromium.org, Mar 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f2512cc3065670792a85b77d1dba47e94cb455ce

commit f2512cc3065670792a85b77d1dba47e94cb455ce
Author: Weiliang Chen <weiliangc@chromium.org>
Date: Wed Mar 28 17:33:52 2018

viz: Simple SkiaRenderer Pixel Test

Add functionality to SkiaRenderer for copy request to start adding basic
Pixel Tests for SkiaRenderer.

Bug: 644851
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I8c8a03f4800a3c2e08bf6ea78b228addd9edd0b0
Reviewed-on: https://chromium-review.googlesource.com/862725
Commit-Queue: weiliangc <weiliangc@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546535}
[modify] https://crrev.com/f2512cc3065670792a85b77d1dba47e94cb455ce/cc/test/layer_tree_test.cc
[modify] https://crrev.com/f2512cc3065670792a85b77d1dba47e94cb455ce/cc/test/layer_tree_test.h
[modify] https://crrev.com/f2512cc3065670792a85b77d1dba47e94cb455ce/cc/test/pixel_test.cc
[modify] https://crrev.com/f2512cc3065670792a85b77d1dba47e94cb455ce/cc/test/pixel_test.h
[modify] https://crrev.com/f2512cc3065670792a85b77d1dba47e94cb455ce/cc/trees/layer_tree_host_unittest_copyrequest.cc
[modify] https://crrev.com/f2512cc3065670792a85b77d1dba47e94cb455ce/components/viz/service/display/renderer_pixeltest.cc
[modify] https://crrev.com/f2512cc3065670792a85b77d1dba47e94cb455ce/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/f2512cc3065670792a85b77d1dba47e94cb455ce/components/viz/service/display/skia_renderer.h

Project Member

Comment 31 by bugdroid1@chromium.org, Mar 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b1449553aec2d50899d73a45cf1faad55ea4390c

commit b1449553aec2d50899d73a45cf1faad55ea4390c
Author: Peter Mayo <petermayo@chromium.org>
Date: Wed Mar 28 22:35:42 2018

Revert "viz: Simple SkiaRenderer Pixel Test"

This reverts commit f2512cc3065670792a85b77d1dba47e94cb455ce.

Reason for revert: cc_unittests break here: https://uberchromegw.corp.google.com/i/chromium.linux/builders/Linux%20Tests%20%28dbg%29%281%29%2832%29/builds/49081

reproduced locally on Linux for me.

Original change's description:
> viz: Simple SkiaRenderer Pixel Test
> 
> Add functionality to SkiaRenderer for copy request to start adding basic
> Pixel Tests for SkiaRenderer.
> 
> Bug: 644851
> Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel
> Change-Id: I8c8a03f4800a3c2e08bf6ea78b228addd9edd0b0
> Reviewed-on: https://chromium-review.googlesource.com/862725
> Commit-Queue: weiliangc <weiliangc@chromium.org>
> Reviewed-by: Brian Salomon <bsalomon@chromium.org>
> Reviewed-by: enne <enne@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#546535}

TBR=bsalomon@chromium.org,weiliangc@chromium.org,enne@chromium.org

Change-Id: Ieacd7bee2fcb83c93939ec6300b0e75ec34f9b51
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 644851
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/985292
Reviewed-by: Peter Mayo <petermayo@chromium.org>
Commit-Queue: Peter Mayo <petermayo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546629}
[modify] https://crrev.com/b1449553aec2d50899d73a45cf1faad55ea4390c/cc/test/layer_tree_test.cc
[modify] https://crrev.com/b1449553aec2d50899d73a45cf1faad55ea4390c/cc/test/layer_tree_test.h
[modify] https://crrev.com/b1449553aec2d50899d73a45cf1faad55ea4390c/cc/test/pixel_test.cc
[modify] https://crrev.com/b1449553aec2d50899d73a45cf1faad55ea4390c/cc/test/pixel_test.h
[modify] https://crrev.com/b1449553aec2d50899d73a45cf1faad55ea4390c/cc/trees/layer_tree_host_unittest_copyrequest.cc
[modify] https://crrev.com/b1449553aec2d50899d73a45cf1faad55ea4390c/components/viz/service/display/renderer_pixeltest.cc
[modify] https://crrev.com/b1449553aec2d50899d73a45cf1faad55ea4390c/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/b1449553aec2d50899d73a45cf1faad55ea4390c/components/viz/service/display/skia_renderer.h

Project Member

Comment 32 by bugdroid1@chromium.org, Apr 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3dc4aed4f707f33b63d578142e64af1239377a8d

commit 3dc4aed4f707f33b63d578142e64af1239377a8d
Author: Weiliang Chen <weiliangc@chromium.org>
Date: Tue Apr 10 00:39:00 2018

viz: Simple SkiaRenderer Pixel Test (reland)

Add functionality to SkiaRenderer for copy request to start adding basic
pixel tests for SkiaRenderer.

This is a reland of crrev.com/c/862725.

Bug: 644851
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I03f471b4ed8d1269bd55f80157e92e0c0df59aa4
Reviewed-on: https://chromium-review.googlesource.com/1003035
Reviewed-by: Brian Salomon <bsalomon@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: weiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549349}
[modify] https://crrev.com/3dc4aed4f707f33b63d578142e64af1239377a8d/cc/test/layer_tree_test.cc
[modify] https://crrev.com/3dc4aed4f707f33b63d578142e64af1239377a8d/cc/test/layer_tree_test.h
[modify] https://crrev.com/3dc4aed4f707f33b63d578142e64af1239377a8d/cc/test/pixel_test.cc
[modify] https://crrev.com/3dc4aed4f707f33b63d578142e64af1239377a8d/cc/test/pixel_test.h
[modify] https://crrev.com/3dc4aed4f707f33b63d578142e64af1239377a8d/cc/trees/layer_tree_host_unittest_copyrequest.cc
[modify] https://crrev.com/3dc4aed4f707f33b63d578142e64af1239377a8d/components/viz/service/display/renderer_pixeltest.cc
[modify] https://crrev.com/3dc4aed4f707f33b63d578142e64af1239377a8d/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/3dc4aed4f707f33b63d578142e64af1239377a8d/components/viz/service/display/skia_renderer.h

Project Member

Comment 33 by bugdroid1@chromium.org, Apr 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7fd6f92ae42abe021c3267d4badb3d878bc2c200

commit 7fd6f92ae42abe021c3267d4badb3d878bc2c200
Author: Xu Xing <xing.xu@intel.com>
Date: Mon Apr 23 04:40:57 2018

viz: Apply SkiaRenderer to color saturate chain filter unittests

Also rename FuzzyForSoftwareOnlyPixelComparator to FuzzyOrExactPixelComparator.
BUG=644851

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I22a4be23cf8ea8e86042abe2a5d407ee722d41b6
Reviewed-on: https://chromium-review.googlesource.com/1020813
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: Xing Xu <xing.xu@intel.com>
Cr-Commit-Position: refs/heads/master@{#552632}
[modify] https://crrev.com/7fd6f92ae42abe021c3267d4badb3d878bc2c200/components/viz/service/display/renderer_pixeltest.cc

Project Member

Comment 34 by bugdroid1@chromium.org, Apr 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e80ef296fb0b839978fc7eef23fba567ba1d8e7e

commit e80ef296fb0b839978fc7eef23fba567ba1d8e7e
Author: Xu Xing <xing.xu@intel.com>
Date: Fri Apr 27 03:01:47 2018

viz: Support mask in SkiaRenderer

BUG=644851

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I0b8e91c23d022c54121c656b37abec1732a7765b
Reviewed-on: https://chromium-review.googlesource.com/1023790
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: Xing Xu <xing.xu@intel.com>
Cr-Commit-Position: refs/heads/master@{#554276}
[modify] https://crrev.com/e80ef296fb0b839978fc7eef23fba567ba1d8e7e/components/viz/service/display/renderer_pixeltest.cc
[modify] https://crrev.com/e80ef296fb0b839978fc7eef23fba567ba1d8e7e/components/viz/service/display/skia_renderer.cc

Project Member

Comment 35 by bugdroid1@chromium.org, May 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da645cda5ad43bc5568737459876536c14235fde

commit da645cda5ad43bc5568737459876536c14235fde
Author: Peng Huang <penghuang@chromium.org>
Date: Mon May 14 17:22:49 2018

Add features for SkiaRenderer and SkiaDDL

Bug: 644851
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I5457797bc7166e9af193c3ff3f248c146833c58d
Reviewed-on: https://chromium-review.googlesource.com/1055615
Reviewed-by: kylechar <kylechar@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558357}
[modify] https://crrev.com/da645cda5ad43bc5568737459876536c14235fde/components/viz/common/features.cc
[modify] https://crrev.com/da645cda5ad43bc5568737459876536c14235fde/components/viz/common/features.h
[modify] https://crrev.com/da645cda5ad43bc5568737459876536c14235fde/components/viz/host/renderer_settings_creation.cc
[modify] https://crrev.com/da645cda5ad43bc5568737459876536c14235fde/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/da645cda5ad43bc5568737459876536c14235fde/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/da645cda5ad43bc5568737459876536c14235fde/content/browser/resources/gpu/info_view.js
[modify] https://crrev.com/da645cda5ad43bc5568737459876536c14235fde/content/test/layouttest_support.cc
[modify] https://crrev.com/da645cda5ad43bc5568737459876536c14235fde/ui/base/ui_base_switches.cc
[modify] https://crrev.com/da645cda5ad43bc5568737459876536c14235fde/ui/base/ui_base_switches.h

Project Member

Comment 36 by bugdroid1@chromium.org, May 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9524a1ba249135a19050e876676d1eea257b902e

commit 9524a1ba249135a19050e876676d1eea257b902e
Author: Brian Salomon <bsalomon@google.com>
Date: Fri May 25 20:50:11 2018

Update viz test context provider to provide GL integers required by Skia.

Bug: 644851
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
Change-Id: I759a98701d50bad4347ae5f44e49a11a3b9cdd45
Reviewed-on: https://chromium-review.googlesource.com/1054526
Commit-Queue: Brian Salomon <bsalomon@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562002}
[modify] https://crrev.com/9524a1ba249135a19050e876676d1eea257b902e/components/viz/test/test_context_provider.cc

Blockedon: 857509
Blockedon: 841790
Blockedon: 864010
Status: Assigned (was: Available)
Blockedon: 889122
Blockedon: 888930
Project Member

Comment 43 by bugdroid1@chromium.org, Sep 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1832cad1b09c7108d78dac4c1bb623df0cff809

commit a1832cad1b09c7108d78dac4c1bb623df0cff809
Author: Weiliang Chen <weiliangc@chromium.org>
Date: Wed Sep 26 19:30:24 2018

viz: In SkiaRenderer remove bool tracking whether is drawing render pass

Remove SkiaRenderer's bool that tracks whether we are drawing root
render pass or child render pass. Also leads to deleting function on
SkiaOutputSurface since it knows the current render pass id and both
functions share majority of code.

Bug: 644851
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I332012ed89f5edc825acaee4230f28bdfc271044
Reviewed-on: https://chromium-review.googlesource.com/1241734
Commit-Queue: weiliangc <weiliangc@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594429}
[modify] https://crrev.com/a1832cad1b09c7108d78dac4c1bb623df0cff809/components/viz/service/display/skia_output_surface.h
[modify] https://crrev.com/a1832cad1b09c7108d78dac4c1bb623df0cff809/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/a1832cad1b09c7108d78dac4c1bb623df0cff809/components/viz/service/display/skia_renderer.h
[modify] https://crrev.com/a1832cad1b09c7108d78dac4c1bb623df0cff809/components/viz/service/display_embedder/skia_output_surface_impl.cc
[modify] https://crrev.com/a1832cad1b09c7108d78dac4c1bb623df0cff809/components/viz/service/display_embedder/skia_output_surface_impl.h

Blockedon: 892764
Project Member

Comment 45 by bugdroid1@chromium.org, Oct 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f8ffa6f2e1636d4d8d4f67db16c93d0146331998

commit f8ffa6f2e1636d4d8d4f67db16c93d0146331998
Author: Weiliang Chen <weiliangc@chromium.org>
Date: Tue Oct 09 17:19:20 2018

viz: Separate SkiaRenderer's code path by compositing mode

Identify SkiaRenderer's draw mode in constructor, and split up code
path using draw mode.

R=enne

Bug: 644851
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I23e966c4a4fdee30c7196314dafccf63e833231a
Reviewed-on: https://chromium-review.googlesource.com/c/1243566
Commit-Queue: weiliangc <weiliangc@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597967}
[modify] https://crrev.com/f8ffa6f2e1636d4d8d4f67db16c93d0146331998/cc/test/pixel_test.cc
[modify] https://crrev.com/f8ffa6f2e1636d4d8d4f67db16c93d0146331998/cc/test/pixel_test.h
[modify] https://crrev.com/f8ffa6f2e1636d4d8d4f67db16c93d0146331998/components/viz/service/display/display.cc
[modify] https://crrev.com/f8ffa6f2e1636d4d8d4f67db16c93d0146331998/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/f8ffa6f2e1636d4d8d4f67db16c93d0146331998/components/viz/service/display/skia_renderer.h

Project Member

Comment 46 by bugdroid1@chromium.org, Oct 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d03460a9c269e9ba4d6651a3a8464d8e4eb21b69

commit d03460a9c269e9ba4d6651a3a8464d8e4eb21b69
Author: Michael Spang <spang@chromium.org>
Date: Thu Oct 11 18:20:38 2018

viz: Don't forget to SwapBuffers in DrawMode::VULKAN

The swapbuffers call got lost in f8ffa6f2e163 ("viz: Separate
SkiaRenderer's code path by compositing mode") in the conversion from
if/else to switch/case.

Bug: 644851
Test: content_shell --enable-vulkan --disable-gpu

Change-Id: I93e030f9d0f5db10b9cb05e443c8454e0ded73de

Reviewed-on: https://chromium-review.googlesource.com/c/1274897
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598850}
[modify] https://crrev.com/d03460a9c269e9ba4d6651a3a8464d8e4eb21b69/components/viz/service/display/skia_renderer.cc

Blockedon: 894929
Blocking: 899750
Blockedon: 895874 897838 825901 892272 895568 824382 894806 224618 887515
Blocking: -899750 898270
Labels: -OS-All Proj-Vulkanize
Cc: penghuang@chromium.org weiliangc@chromium.org backer@chromium.org
 Issue 899750  has been merged into this issue.
Blockedon: -224618
Description: Show this description
Blockedon: 900941
Blockedon: 921734

Comment 55 by weiliangc@chromium.org, Jan 18 (5 days ago)

Blockedon: 923473

Comment 56 by weiliangc@chromium.org, Yesterday (31 hours ago)

Blockedon: 924369

Comment 57 by weiliangc@chromium.org, Today (14 hours ago)

Blockedon: 924565

Sign in to add a comment