Support animating CSS custom properties on the compositor for Off-Thread PaintWorklet |
||||||
Issue descriptionA common use-case for PaintWorklet is to use CSS custom properties as inputs to the worklet, and animate the inputs to drive changes in the paint effect. In order to make proper use of a compositor-driven, threaded PaintWorklet model, we have to be able to animate CSS custom properties on the compositor - otherwise we will be blocked on main frames being produced. This bug tracks the work to support CSS custom properties on the compositor, specifically for the target of running PaintWorklets (as there are no other compositor consumers of CSS custom properties yet). As this is a large project, other bugs may be forked or multiple changes may be associated with this bug. A partially-complete design doc for Off-Thread PaintWorklet can be found at https://docs.google.com/document/d/1USTH2Vd4D2tALsvZvy4B2aWotKWjkCYP5m0g7b90RAU/edit?ts=5b7c25a5#heading=h.2zu1g67jbavu (public readable). It will be updated over the next few days with full details from our planning sessions.
,
Sep 13
,
Sep 14
,
Sep 14
,
Sep 17
,
Sep 17
,
Oct 9
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/735a049d6da509e20af4999f43fe822432d6fcb5 commit 735a049d6da509e20af4999f43fe822432d6fcb5 Author: Kevin Ellis <kevers@chromium.org> Date: Tue Oct 09 17:50:49 2018 Support compositing of numeric-valued CSS custom properties. This patch is in support of off-thread paint worklets. Initially, only numeric valued Custom CSS-properties are supported. A new target property is introduced (CSS_CUSTOM_PROPERTY). Snapshotting in the keyframe effect model was updated to support numeric valued custom properties. Checks for compositor eligibility and construction of the animation curve are also included in this patch. Bug: 883721 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ifcee2b7f71f5c9ebc0930176e6e27d30e5d12fae Reviewed-on: https://chromium-review.googlesource.com/c/1240394 Commit-Queue: Kevin Ellis <kevers@chromium.org> Reviewed-by: Anders Ruud <andruud@chromium.org> Reviewed-by: Stephen McGruer <smcgruer@chromium.org> Cr-Commit-Position: refs/heads/master@{#597981} [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/cc/trees/target_property.h [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/compositor_animations.cc [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/compositor_animations.h [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/compositor_animations_test.cc [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/css/css_animatable_value_factory.cc [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/css/css_animatable_value_factory.h [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/css/css_animations.cc [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/keyframe.h [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/keyframe_effect_model.cc [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/keyframe_effect_model.h [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/keyframe_effect_model_test.cc [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/string_keyframe.cc [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/animation/string_keyframe.h [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/css/resolver/style_resolver.cc [modify] https://crrev.com/735a049d6da509e20af4999f43fe822432d6fcb5/third_party/blink/renderer/core/css/resolver/style_resolver.h |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by smcgruer@chromium.org
, Sep 13