251 Commits

Author SHA1 Message Date
Hyunyoung Song
5d634d7828 Merge "Revert the default wall paper for framework / emulator b/27451024 Change-Id: I68ed094f44f1b4c48407497790f809147ec0ad5a" into nyc-dev 2016-03-02 22:54:05 +00:00
Hyunyoung Song
fcef23e831 Revert the default wall paper for framework / emulator
b/27451024
Change-Id: I68ed094f44f1b4c48407497790f809147ec0ad5a
2016-03-02 11:50:16 -08:00
Chris Craik
b67985f337 Merge changes I4f72448f,I74b7233c into nyc-dev
* changes:
  Fix ripple positioning within scrolled node
  Clip projected ripples to outlines
2016-03-02 18:52:35 +00:00
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
Hyunyoung Song
d9f91827a9 Update wallpaper asset for N dev preview
Bug: 27434845

Change-Id: I0f9ff168beab12d630ab824ab632f98051564570
2016-03-01 20:39:03 -08:00
John Reck
f648108f83 Have RT drive window positioning
Bug: 22802885

Change-Id: I6beed5474d3a943b16e9097f7bd61ce3cbd37505
2016-02-04 11:23:49 -08:00
John Reck
51aaf906f9 Nuke HardwareRenderer abstract base
Bug: 17303292

Change-Id: I4a272ea4f695f4f9993e8be640fdd8530b691be0
2015-12-02 15:46:11 -08:00
Skuhne
b816087962 Rendering the window frame with a second thread
Using a multi threaded render node to render the window frame
asynchronously from the application relayout.

Bug: 22527834
Bug: 24400680
Bug: 24459827
Bug: 24409773
Bug: 24537510
Change-Id: I1010fc6a8b6e38424178140afa3ca124433ab7e4
2015-10-02 07:11:45 -07:00
Skuhne
ea7a7fb75a MultiThreaded rendering of different renderNodes
This is adding the renderer side infrastructure to allow
rendering multiple render nodes with different threads.
This is a pre-step for decoupling a non client decor
resize reder from a content resize render.

Multiple render nodes can be added to be drawn, and to
prevent overdrawing, a content bounds area can be set

Bug: 22527834

Change-Id: Ie7271e20895bf38957e5a84aeefc883e282039ad
2015-09-21 07:18:00 -07:00
Chris Craik
fca52b7583 Use path intersection instead of saveLayer+mesh to mask projected ripples
bug:14297149

SaveLayer's performance cost is high, and proportional to the surface
being projected onto. Since ripples (even unbounded ones) are now
always projected to the arbitrary background content behind them, this
cost is especially important to avoid.

This removes the last semi-secret, saveLayer from the projected
ripple implementation.

Also fixes the HW test app to correctly demonstrate this projection
masking behavior.

Additionaly, alters PathTessellator to gracefully handle
counter-clockwise paths, and simplifies the work done by
ShadowTessellator to ensure all of its paths are counterclockwise.

Change-Id: Ibe9e12812bd10a774e20b1d444a140c368cbba8c
2015-05-26 17:53:16 -07:00
Chris Craik
31a2d063df Revert "Revert "Merge getDisplayList and updateDisplayListIfDirty""
Fixes breakage from HwAccelerationTest

This reverts commit b2847afde24aac22c8fb804cdce0c24b8a7c40c4.

Change-Id: I762b3c9020fc1d06bac61ffa8b956049147515b1
2015-05-01 14:30:15 -07:00
Chris Craik
f6829a0a61 Remove HardwareCanvas
Change-Id: I239646a7f00f09d3f76fe6b6162eed86bc0d6e77
2015-03-10 14:56:11 -07:00
Chris Craik
36a35e366a Fix layer shader to store layer pointer
bug:19419672

Change-Id: I4277348ceab41fbf45a107a8b21f64e2b4af23e0
2015-02-18 17:47:21 +00:00
John Reck
c47c98be04 Fix issue with RNA destruction mid-animation
Bug: 18521508

Fix an issue where an RNA's native object was destroyed
before the java-side object was started

Change-Id: I487fb476e0ecdf7000515f4f7320e8cfbc50a52b
2014-12-09 12:35:12 -08:00
John Reck
bb2d0cc7e1 Surface:lockHardwareCanvas
Bug: 17440886

Change-Id: I1f2d98c63ec1a2814c2258cf7e0096139263770a
2014-10-21 13:23:56 -07:00
John Reck
f5945a0c8b Disable RT-anim for AnimatorSet
Bug: 17317184

 Unfortunately this will disable *all* RT animations in a scene,
 but we don't have more selective targetting currently

Change-Id: I57e1c0ae43957f45229473bdcdaf34c05825fab7
2014-09-05 15:58:26 -07:00
John Reck
119907cd25 Animator stuff
Bug: 17228458

Change-Id: Id884a429a512f9cd2be0ed16dbd0f10e92b4440d
2014-08-27 17:44:25 -07:00
John Reck
c01bd1167a Return Animator instead of ValueAnimator
Change-Id: I29a7cfdc7ffbb3a4d33f9e64f9d7ca791f5c947c
2014-07-19 02:00:15 +00:00
Chris Craik
31ba192dd2 Tweaks to outline API
b/15283203
b/16142564

Remove boolean return value chaining, as it's redundant with
the data in the Outline itself.

Change-Id: I3116e57cd1b35c98b74e95195117edd7e39fb2df
2014-07-19 00:13:59 +00:00
John Reck
d3de42cae8 Add RT-enabled reveal animator
Bug: 16161431

 Also re-writes RevealAnimator to avoid using any listeners internally,
 removing the logic around shadowing the update listeners.

Change-Id: I6ed8126398eed971a87f20bccb7584c9acafbb6c
2014-07-18 22:10:22 +00:00
Leon Scroggins III
ab87983a11 Simplify Shader.setLocalMatrix.
Previously, calling setLocalMatrix updated any Paint that had the
Shader attached. This depended on deprecated behavior in Skia. Use
new Skia APIs, and do not modify any Paints that use the Shader.

In addition, update callers to call setShader (again) after modifying
the Shader.

Sample app at ag/499573 for testing.

Depends on I673801444f0a8fd4f192b5b7effdde1aa83e702b in external/skia.

BUG:14315916
Change-Id: I3c3316377874e89fccc85afb864bc038b0ef3890
2014-07-10 18:01:22 -04:00
ztenghui
3994371aa3 Draw overlapping rectangles with color modulated.
Touch the screen to turn on / off depth test.
Disalbe the vsync to get the real performance.
Drawing 10 rectangles on N10 show almost 3x perf gain, in this setup.

Change-Id: I97bb84f744e90c35febad8cb853ed877cda5e64f
2014-06-30 15:42:49 -07:00
ztenghui
b4dabadd89 Preparing the new GL depth test.
Right now, the code is just copied from ApiDemos for the initial setup.

Change-Id: I531f95faca744c7e91fadae189818af3d04a85ee
2014-06-30 13:11:40 -07:00
John Reck
c6b3264e16 Add setStartValue to RNA
Bug: 15198607
 Should be good-enough for Ripples to use for pseudo-chaining
 support.

Change-Id: Ia8666928ccb69ae401cb583751632a52bd928b63
2014-06-02 11:00:09 -07:00
Chris Craik
ab008f0c64 Respect Z ordering in touch dispatch, software drawing
bug:14390526
Change-Id: I617a6ea7dbac1facae246491a247cf307452fc0e
2014-05-28 13:35:10 -07:00
Ji-Hwan Lee
80fe183c34 Fix build
Change-Id: If0e46d6fa0f5b176c3b5294eab58d25935b3b4f8
2014-05-17 23:18:40 +09:00
Chris Craik
91b5c658d9 Fix build
Change-Id: Ic0b36cd0f6525c4bc1ad365cd089e9a9fac9dc17
2014-05-16 18:04:03 -07:00
Chris Craik
c9ee304c91 Merge "Round rect outline clipping" 2014-05-16 00:37:29 +00:00
Chris Craik
deeda3d337 Round rect outline clipping
Change-Id: Iee9cf4f719f6f1917507b69189ad114fa365917b
2014-05-15 16:36:12 -07:00
John Reck
ff941dcd81 Animator start value...
Change-Id: Ifd35ed95a28c625086d7fa97764fe63ab4a997f1
2014-05-15 08:53:39 -07:00
John Reck
315c329544 Add TimeInterpolator support to RNA
Bug: 14678626

Change-Id: I6554e7fcd42c49fac3618ca792083bb68e358f55
2014-05-12 14:41:06 -07:00
John Reck
030d619aaa Allow all loopers to be RT-accelerated
Bug: 14445956

Change-Id: I03e92642aa118db5c7fefa1f09c3a5bde6ea671d
2014-05-07 15:46:36 -07:00
John Reck
f9be77940e Make RenderNodeAnimator and WebView play nice
Change-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a
2014-05-05 12:35:30 -07:00
John Reck
52244fff29 Add CanvasProperty for drawCircle
Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
2014-05-02 13:43:46 -07:00
Chris Craik
cc39e16cb9 Add elevation, Z properties to View
Change-Id: I3dd3b683a66e248a0fdf2ca69d1e962615b0daf9
2014-04-28 14:33:33 -07:00
Chris Craik
7979388d4f Support Oval GradientDrawable outlines, and ShapeDrawable
Change-Id: Ifc9e55757d3325cb28a1a812ec696512d4a18b39
2014-04-25 15:59:47 -07:00
Chris Craik
3f085429fd Clip TouchFeedbackDrawable effect to receiver Outline
Projected RenderNodes are now wrapped with a ClipRect or masked
SaveLayer, so that they are clipped to the outline of the projection
receiver surface.

Change-Id: I1d4afc1bb5d638d650bc0b1dac51a498f216773e
2014-04-23 16:15:11 -07:00
Chris Craik
dcc206dd76 Remove isolated z volume test
Change-Id: I757cd9445b7e8f564b5f1357d3e5c17032daf17e
2014-04-11 14:20:08 -07:00
John Reck
f666ad7046 Rename DisplayList->RenderNode
Change-Id: Idcca6f26ba6282594789962f5edb3ed53a290fef
2014-03-17 10:30:32 -07:00
Chris Craik
f481907990 Fix build, removing hidden attr
Change-Id: Ia820e76345ad6077025e887afdaa91e08eecd649
2014-03-07 14:15:57 -08:00
Chris Craik
6dbca96f08 Improve isolatedZVolume test
Shows interleaving effect better

Change-Id: I85361b15587306484dc8fa6d6366e866014c270f
2014-03-03 11:43:43 -08:00
Chris Craik
1df26446b7 Rework and clean up DisplayList projection
Move the projection surface to be a property of a DisplayList,
set to true for every background drawable.

Additionally, handle a projecting view background such that it doesn't
try to project onto itself (which is undesirable).

Change-Id: Ic70b17474bd87340e80767f8518f73b233419c7a
2014-02-06 16:07:37 -08:00
Chris Craik
6657a6c539 Update reordering method names, and make 3d reordering API public
IsContainedVolume -> hasIsolatedZVolume conveys that this affects Z
ordering of views

ProjectToContainedBackground -> ProjectBackwards, since it ended up
using its own projection target, separate from the 3d volume bit

Change-Id: Ia2cde838cc4da134366fe6ff623290fbd65e50c3
2014-01-29 13:55:39 -08:00
Chris Craik
f533e94703 Support projection of DisplayLists onto ancestors.
For now, ancestor views signal the acceptance of projections with a
save(0x20)/restore pair.

During the order traversal, each view with the save(0x20) code will
collect descendent views with mProjectToContainedVolume (which still
needs to be renamed) so that they can be drawn out of order later.

- *Temporary* sample code added to HwAccelerationTest.

- Note that a projected displaylist must not be clipped.

Change-Id: I45c493e845961535b958d59c53e8aff3f8891d9f
2014-01-15 16:14:01 -08:00
Romain Guy
0a57d65872 am c1acf799: am 243a026b: Merge "Second attempt at avoiding infinite loop in PathCache::trim() Bug #10347089" into klp-dev
* commit 'c1acf7994a975903320ec8146c62118b651debc4':
  Second attempt at avoiding infinite loop in PathCache::trim() Bug #10347089
2013-08-21 20:16:12 -07:00
Romain Guy
5d92320084 Second attempt at avoiding infinite loop in PathCache::trim()
Bug #10347089

Change-Id: I70f5a3933e848632473acc6636c88be5dc6ac430
2013-08-21 18:42:46 -07:00
Romain Guy
13656743cc Make color filters mutable
Change-Id: I3d035d24a75e09db13d136a22bd7dbd326d0ce36
2013-08-19 18:18:00 -07:00
Romain Guy
b7b93e0089 Fix region clipping bugs
See external bug #58344

Change-Id: Iecd6c41fc8076cd76add2335d3442a6dd8878f12
2013-08-01 15:35:24 -07:00
Romain Guy
8018c8db82 Add path ops API
Path ops can be used to combine two paths instances in a single path
object. The following operations can be used:

- Difference
- Reverse difference
- Union
- XOR
- Intersection

To use the API:

Path p1 = createCircle();
Path p2 = createRect();

Path result = new Path();
result.op(p1, p2, Path.Op.DIFFERENCE);

This code will subtract the rectangle from the circle and generate
the resulting path in "result."

Change-Id: Ic25244665b6691a7df0b0002a09da73d937b553b
2013-07-30 10:51:24 -07:00
Romain Guy
f69913056b Remove unnecessary allocations
Change-Id: Ia561a0a312ca2737d5afa742184f5392bb2f29a3
2013-06-06 12:10:42 -07:00