18 Commits

Author SHA1 Message Date
Chris Craik
678ff81105 Clip projected ripples to outlines
bug:27343928

Also fixes positioning of ripples to a scrolled projection receiver.

Change-Id: I74b7233c46d7c15839ca8bf50e188ba6646d7432
2016-03-02 10:29:15 -08:00
Chris Craik
4876de16e3 Properly reject empty unclipped savelayers
bug:27225580
bug:27281241

Empty unclipped savelayers (clipped at defer time, often by dirty rect)
were resulting in invalid layer clear rectangles. Simplify by just
rejecting these unclipped savelayers entirely at defer.

Also, use repaint rect as base clip for constructed ops within
LayerBuilder.

Change-Id: I5c466199e85201a2f68f5cdc60b29187c849961b
2016-02-25 16:59:19 -08:00
John Reck
7df9ff2a08 Fix all LA memory leaks forever!
Bug: 27072626

Or at least fix this one and make it harder to leak
going forward. static_asserts are cool, use them liberally

Also makes allocation via LA (slightly) faster by fixing create*
variants to use rvalue references & std::forward, preventing
an accidental pass-by-value

Change-Id: I18fd696a93dd6ea49c8d8c587d4c8bee56dbfdf5
2016-02-11 00:42:23 +00:00
John Reck
e537330ead Revert "Fix all LA memory leaks forever!"
This reverts commit 499d83f21e7ffb687788bba1668b05fe38f6ebaf.

Change-Id: Ia893ae16ebbeae68e49cd13a20587104b73d39a0
2016-02-11 00:36:34 +00:00
John Reck
499d83f21e Fix all LA memory leaks forever!
Bug: 27072626

Or at least fix this one and make it harder to leak
going forward. static_asserts are cool, use them liberally

Also makes allocation via LA (slightly) faster by fixing create*
variants to use rvalue references & std::forward, preventing
an accidental pass-by-value

Change-Id: I5e0e36e72c6dd93324194ebf9a95f8204f05f261
2016-02-10 16:11:26 -08:00
Doris Liu
766431aa57 Revert "Revert "VectorDrawable native rendering - Step 4 of MANY""
This reverts commit 5a11e8d0ba21624025b89ac63bbd18befa55be0e.

Change-Id: I7a48b59c4f930dad65ddc8590c25a12636244ea2
2016-02-04 16:29:51 -08:00
Doris Liu
5a11e8d0ba Revert "VectorDrawable native rendering - Step 4 of MANY"
b/26949340 and b/26975469, b/26975079 as well 

This reverts commit f276acd98457bcaabc9e79a17a736b3b484f005e.

Change-Id: I4b55177daf0d289bc03604c71fd4bf579f65073a
2016-02-04 20:59:00 +00:00
Chris Craik
37fd29f284 Merge "Fix ripple clipping + quick rejection" 2016-02-04 19:08:59 +00:00
Chris Craik
7fc1b0349b Fix ripple clipping + quick rejection
bug:26524690

Don't intersect the first clip with the viewport. Instead, the first
clip op should always be a replace op.

Additionally, only quick reject nodes that clip to bounds, since some
nodes (like ripples) draw outside their own bounds.

Change-Id: I96a52029f360328aba19af7349888cc0a026b5b1
2016-02-03 20:09:00 -08:00
Chris Craik
bcda2da5fe Merge "Early kickoff of shadow tasks" 2016-02-03 01:17:37 +00:00
Chris Craik
6e068c0182 Early kickoff of shadow tasks
bug:26562703

Change-Id: I7cdf18f2c662380bd31c7ffeefd5c3f569e5c1c6
2016-02-02 17:10:25 -08:00
Doris Liu
f276acd984 VectorDrawable native rendering - Step 4 of MANY
This CL runs VectorDrawable animation on RenderThread. The changes in this CL
include:
- Convert all the animators in AnimatorSet for AVD into a set of RenderNodeAnimators.
- Hook up the new animators with RenderThread
- Add drawOp in RecordingCanvas for drawing VD so that during the animation
  on RenderThread, all the property changes on VD can be reflected on the screen.

TODO:
- Implement reverse and reset for AVD.

Change-Id: I2df1d754f2db0ad098d9c15dde4bb2bdfafc2315
2016-02-02 15:04:01 -08:00
Chong Zhang
c3bd568112 Restore code to draw backdrop and content nodes
bug: 26626661
Change-Id: I9e4dd41708e8ed93d3cf64242ad81815a653d269
2016-01-26 12:49:28 -08:00
John Reck
5f1c64ef76 Merge "Temporarily workaround merged bitmap bug" 2016-01-26 18:06:04 +00:00
John Reck
14de0415bb Temporarily workaround merged bitmap bug
Bug: 26569206

Merged bitmap ops are buggy, just turn them off for
now to unblock testing

Change-Id: Ic0151bb3f23b1843107806659a64b26fd6d6e19e
2016-01-26 09:01:30 -08:00
Florin Malita
eecff56fed Add internal Canvas save flags
Skia's SkCanvas::SaveFlags are being deprecated.  This CL introduces
the equivalent android::SaveFlags, converts all internal clients to
the new enum, and switches the saveLayer glue to the
SaveLayerRec-based API.

Change-Id: Icb1785f4e7c0f652b1f04b34a1e3ccb063c408f3
2016-01-25 15:48:00 -05:00
Chris Craik
e9c5fd888b Skip layer updates for layerless nodes
bug:26535405

Change-Id: I4d5ea8401f59815715c5b51f88d549474876160c
2016-01-13 11:13:01 -08:00
Chris Craik
f158b49c88 Rename Reorderers to Builders
Change-Id: I9bb5a2e70055e2f6d14912fbd86ab72ac0d6e20c
2016-01-12 14:45:08 -08:00