diff options
author | 2016-01-15 16:15:30 -0800 | |
---|---|---|
committer | 2016-02-02 17:10:25 -0800 | |
commit | 6e068c0182f6f85bccb855a647510724d1c65a13 (patch) | |
tree | 8ee074307867bfcdc9c8a708aa6ae03f1d9b7ecc /libs/hwui/FrameBuilder.h | |
parent | d38308e4d0599836f9c5446ba9d6edbc0713c428 (diff) |
Early kickoff of shadow tasks
bug:26562703
Change-Id: I7cdf18f2c662380bd31c7ffeefd5c3f569e5c1c6
Diffstat (limited to 'libs/hwui/FrameBuilder.h')
-rw-r--r-- | libs/hwui/FrameBuilder.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/libs/hwui/FrameBuilder.h b/libs/hwui/FrameBuilder.h index dea9934e9a1b..5df2e46078b8 100644 --- a/libs/hwui/FrameBuilder.h +++ b/libs/hwui/FrameBuilder.h @@ -55,14 +55,24 @@ class Rect; */ class FrameBuilder : public CanvasStateClient { public: + struct LightGeometry { + Vector3 center; + float radius; + }; + + // TODO: remove FrameBuilder(const LayerUpdateQueue& layers, const SkRect& clip, uint32_t viewportWidth, uint32_t viewportHeight, - const std::vector< sp<RenderNode> >& nodes, const Vector3& lightCenter); + const std::vector< sp<RenderNode> >& nodes, + const LightGeometry& lightGeometry, + Caches* caches) + : FrameBuilder(layers, clip, viewportWidth, viewportHeight, nodes, lightGeometry, Rect(), caches) {} FrameBuilder(const LayerUpdateQueue& layers, const SkRect& clip, uint32_t viewportWidth, uint32_t viewportHeight, - const std::vector< sp<RenderNode> >& nodes, const Vector3& lightCenter, - const Rect &contentDrawBounds); + const std::vector< sp<RenderNode> >& nodes, + const LightGeometry& lightGeometry, + const Rect &contentDrawBounds, Caches* caches); virtual ~FrameBuilder() {} @@ -215,7 +225,11 @@ private: CanvasState mCanvasState; - // contains ResolvedOps and Batches + Caches* mCaches = nullptr; + + float mLightRadius; + + // contains single-frame objects, such as BakedOpStates, LayerBuilders, Batches LinearAllocator mAllocator; }; |