108 Commits

Author SHA1 Message Date
Derek Sollenberger
3d4eed7f1a Update HWUI to store its own SkBitmap objects
This enables us to...

1) simplify the lifecycle/ownership between Java and HWUI
2) remove DisplayListRenderer::drawBitmapData and associated logic
3) track pixel lifecycle using standard SkPixelRef refcounting
4) Remove uncessary calls to ref/unref the bitmap's pixels and colorTable

Change-Id: I3c95078da20995444f6388a029414280fd654318
2015-01-09 13:56:56 -05:00
Mike Reed
71487eb0ce Merge frameworks/base changes from master-skia to master.
Adaptations to changes in Skia upstream since Oct 2014.
(https://code.google.com/p/skia/issues/detail?id=2377)

cbb922d use new roundOut signature
77082de Call SkColorTable::readColors().
5456ab1 Handle the result of SkMatrix::asAffine.
25cfc78 Remove dependence on SK_LEGACY_PICTURE_SIZE_API.

BUG:18468293

Change-Id: I5a4d274e854298843891410b1ffd5e24f038b88a
2015-01-06 21:41:35 +00:00
Chris Craik
d41c4d8c73 Add overrides and switch to nullptr keyword for all files
Adds remaining missing overrides and nullptr usages, missed due to
an extreme failure in tool usage.

Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
2015-01-05 16:49:13 -08:00
Chris Craik
51d6a3db97 Cleanup various clang warnings, use unique_ptrs in several places
Change-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f
2014-12-23 16:53:56 -08:00
Chris Craik
a1c3fdfbc7 am 3f454e7d: am 63c7b246: Merge "Correct layer size formatting in trace" into lmp-mr1-dev automerge: 00905a9
* commit '3f454e7d1cf7103e312f67f745f01f00fa49df13':
  Correct layer size formatting in trace
2014-12-12 04:30:44 +00:00
Chris Craik
3f454e7d1c am 63c7b246: Merge "Correct layer size formatting in trace" into lmp-mr1-dev
automerge: 00905a9

* commit '00905a984c07ffc9960ce83548631c59aae37ec6':
  Correct layer size formatting in trace
2014-12-12 04:25:43 +00:00
Chris Craik
c2379070a4 Correct layer size formatting in trace
bug:18722704
Change-Id: Icef9aaa62633b2d86ad250f43d4c8fa5cc0b6842
2014-12-11 14:29:51 -08:00
Chris Craik
e749bd2c72 am a22ab0da: am 9a04480e: am ef124887: Merge "Clip outline to View clip bounds for shadow computation" into lmp-mr1-dev
* commit 'a22ab0da6f72b2e52166cc6e11f4c6d44c0fb714':
  Clip outline to View clip bounds for shadow computation
2014-12-02 01:45:54 +00:00
Chris Craik
a22ab0da6f am 9a04480e: am ef124887: Merge "Clip outline to View clip bounds for shadow computation" into lmp-mr1-dev
* commit '9a04480e36c42eb63d1d727221ba3ce6a6d533ef':
  Clip outline to View clip bounds for shadow computation
2014-12-02 01:39:20 +00:00
Chris Craik
faa79ff9d9 Clip outline to View clip bounds for shadow computation
bug:18509823

This allows animations of View clipBounds (and other callers of
setClipBounds) to affect shadows, instead of leaving them floating.

Change-Id: I249fa4b371a170cb0c54001f5b0e0097e109b8b8
2014-12-01 15:47:10 -08:00
Chris Craik
3c96a2b8fe am 1fb141f8: am 9c5b7b09: am ee660651: Merge "Improve DisplayList state output" into lmp-mr1-dev
* commit '1fb141f83bad3884e2199c7acdc23932afaefe0c':
  Improve DisplayList state output
2014-11-26 12:09:28 +00:00
Chris Craik
1fb141f83b am 9c5b7b09: am ee660651: Merge "Improve DisplayList state output" into lmp-mr1-dev
* commit '9c5b7b094254cad0a8a90ece5ea650c49694087d':
  Improve DisplayList state output
2014-11-26 12:01:46 +00:00
Chris Craik
ee6606519d Merge "Improve DisplayList state output" into lmp-mr1-dev 2014-11-25 18:45:11 +00:00
Andreas Gampe
64bb413a66 Revert "resolved conflicts for merge of 220c3f4f to master"
Reverted as hwui doesn't agree.

This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9.

Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
2014-11-22 00:35:09 +00:00
Chris Craik
b5a5435a77 Improve DisplayList state output
bug:17991451

Log hardware layers and shadow casting

Change-Id: I2ae40f270d18f5b2a5af985513e0f5e8841216c2
2014-11-21 16:23:00 -08:00
Andreas Gampe
8a902d9f24 resolved conflicts for merge of 220c3f4f to master
Change-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e
2014-11-21 15:51:04 -08:00
Andreas Gampe
2ab8298dc3 resolved conflicts for merge of 99377df1 to lmp-mr1-dev-plus-aosp
Change-Id: I3a98f55832ac447b1ed0dd129c7a93d088025943
2014-11-21 14:19:06 -08:00
Andreas Gampe
42ddc18d10 Frameworks/base: Unused parameters in hwui
Remove Clang cutout for unused parameters. Fix warnings.

Remove Clang cutout for deprecated Skia function usage. Has been
fixed in the L push.

Change-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7
2014-11-21 10:39:21 -08:00
Chris Craik
06e7fe5a70 resolve merge conflicts of f2235b6 to master.
Change-Id: Ibcef3a37ca0749931d509b53bd52e53a7d30ddbb
2014-11-20 17:27:36 -08:00
Chris Craik
f2235b6a48 resolve merge conflicts of 57b641a to lmp-mr1-dev-plus-aosp.
Change-Id: I1be708f5a0cd4d64021a57f1063d54330f1d2d7e
2014-11-20 16:38:06 -08:00
Chris Craik
70850ea258 Improve logging around performance critical events
bug:17702227

Add details useful to developers (such as layer size/View name), and
switch away from logging implementation names/details, since they
are generally not relevant to developers.

Change-Id: Iee605d182f241450f7e75a6d0c283d51fa1312f5
2014-11-19 17:24:30 -08:00
Andreas Gampe
edaecc1db0 resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aosp
(cherry picked from commit 1272887050a269d6d506b42099c2857847ad100b)

Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
2014-11-10 21:29:52 -08:00
Andreas Gampe
1272887050 resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aosp
Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
2014-11-10 20:54:07 -08:00
Andreas Gampe
1e19674107 Frameworks/base: Wall Werror in libs/hwui
Turn on -Wall -Werror in libs/hwui. Fix errors.

Change-Id: I74962d08c889712dacbd0d86d6760fc10802b6bd
2014-11-10 15:58:04 -08:00
John Reck
088c514cb1 resolved conflicts for merge of be70c771 to master
Change-Id: I469905bef7361c18aab725778694567d1987c06d
2014-11-06 13:04:49 -08:00
John Reck
a35778c799 Yank ResourceCache out of Caches
Bug: 17947547

Pull the ResourceCache (aka, ref-counting side channel) out of
Caches so that DisplayListRenderer doesn't use Caches, avoiding
the risk of instantiating Caches on the wrong thread or
without a GL context

Change-Id: I7d63b70b3b0a0163308c5dedd6ef255eadebe8fd
2014-11-06 09:45:10 -08:00
John Reck
9481684560 am e05575e9: am a8d83d63: Merge "Layer changes" into lmp-mr1-dev automerge: a51fba0
* commit 'e05575e9c36850d8cfe49396ac9a1372511b12bf':
  Layer changes
2014-10-31 23:30:57 +00:00
John Reck
0e89e2b7bc Layer changes
Bug: 17208461

* Switch Layer to be VirtualLightRefBase instead of
  Caches' side-channel ref-counting
* Include active layers in gfxinfo dump
* Run gfxinfo dump on the correct thread
* Dump gfxinfo on Layer creation failure

Change-Id: I28d195699e2334518e215ab28c7a17355aee9678
2014-10-31 15:30:10 -07:00
John Reck
945701126b am 41707d01: am ebcfd24b: am 68335df6: Merge "Fix damage bug" into lmp-mr1-dev
* commit '41707d01e9e950ebd00642ef3564edcff8c539e7':
  Fix damage bug
2014-10-23 20:48:43 +00:00
John Reck
5c9d717d3e Fix damage bug
Bug: 18087374
Change-Id: Ie183392122c73f93010fb3f4be071c924b352966
2014-10-22 11:32:27 -07:00
Tom Hudson
2dc236b2ba Clean up physical coupling
Narrow the use of #include directives in hwui, replacing with forward
declarations where straightforward. Speeds compiles; doesn't do any
restructuring of code.

Change-Id: Icac2baffb5896f55d8c6718e9bd9d4bfa02d3ca0
2014-10-15 15:51:39 -04:00
Chris Craik
059476a245 Avoid creating Caches instance with gfxinfo dump
bug:17509891
Change-Id: I182851068ba04926d60226b3ace95efea59eac45
2014-10-01 11:14:55 -07:00
Chris Craik
c166b6c4fc Fix save count offsetting within DisplayList chunks
bug:17388541
Change-Id: I7cb1139b8cd30f72ae7c6de2074c3c5865b8f309
2014-09-05 19:55:30 -07:00
John Reck
6dad93eff6 Merge "Yet more layer tracking logging" into lmp-dev 2014-09-05 01:06:08 +00:00
John Reck
443a714fa7 Yet more layer tracking logging
Bug: 17208461

Change-Id: I55e7d0921eb565867e966d68b798b7b92c391b55
2014-09-04 17:40:05 -07:00
Chris Craik
2d3f9033f8 Merge "Prioritize reveal clipping over Outline clipping" into lmp-dev 2014-09-04 21:06:10 +00:00
Chris Craik
e83cbd4518 Prioritize reveal clipping over Outline clipping
bug:15780987
bug:17350602

Also update docs around clipping nesting behavior,
and some Z ordering behavior.

Change-Id: Iaa204350a0adfdcbd8c4b821fb4a9c0ae22f2613
2014-09-04 14:05:10 -07:00
John Reck
80068b735e Merge "Track buildLayer calls, destroy if unused" into lmp-dev 2014-08-28 23:04:32 +00:00
John Reck
998a6d8189 Track buildLayer calls, destroy if unused
Bug: 17208461

Change-Id: Ibdb104a493285d77a6891c5e74e38a52c7014da9
2014-08-28 15:55:26 -07:00
Chris Craik
bf939b2671 Merge "Update transform isolation to handle command chunks" into lmp-dev 2014-08-28 17:27:24 +00:00
John Reck
119907cd25 Animator stuff
Bug: 17228458

Change-Id: Id884a429a512f9cd2be0ed16dbd0f10e92b4440d
2014-08-27 17:44:25 -07:00
Chris Craik
c3e75f9d54 Update transform isolation to handle command chunks
bug:15570351

Prevent drawing transformations on a ViewGroup's canvas from directly
affecting the transformation of the children through the renderer,
since it's already baked into mTransformFromParent at record time.

Change-Id: I6310a2260dfe4def0bde1fd2c5b93791a645d586
2014-08-27 15:43:42 -07:00
Chris Craik
8afd0f245c Create z reordering boundaries around dispatchDraw
bug:16012254

This means rendernodes with a Z will no longer be drawn at the end of
their parent's DisplayList, but at the end of the associated reorder
region (DisplayListData::Chunk).

Change-Id: Ia033fee9d9a4db567b2a8d5e90fc57a4d0a64544
2014-08-25 15:35:40 -07:00
John Reck
7d37344915 Merge "Don't run animators in buildLayer" into lmp-dev 2014-08-21 20:26:18 +00:00
John Reck
9eb9f6f8cb Don't run animators in buildLayer
Bug: 17172689

Change-Id: Ib47d589c002543327fa336718440f9f8c95524e0
2014-08-21 11:23:05 -07:00
Chris Craik
c71bfcaa18 Fix layer shadow transform crash
bug:17180252

Change-Id: Ia648b8c98a217a3a4973917bf255d1397802cbbe
2014-08-21 10:18:59 -07:00
Chris Craik
69e5adffb1 Define shadow casting behavior within layers
bug:15860114

Savelayers and HW layers both now support shadow casting.

For save layers, the light source should always be correct, for HW
layers, the light source position is set when the layer is created,
and updated when it is resized.

Change-Id: Ie85567dd43c2bb0a0b08fd0bd4db41efa793ac2b
2014-08-15 00:59:44 +00:00
Chris Craik
b3cca876c2 Fix ripples projecting to scrolled view
bug:16873774

1) Fix projectionReceiveIndex, which could in some cases point at
translate/restore ops.

2) Use background translateX / translateY for projected RenderNodes.
This makes them match background position, and thus properly account
for scroll.

Change-Id: Idbd5700858fd67c5abea0270a1012952fe09ac22
2014-08-12 12:33:01 -07:00
John Reck
a7c2ea20c4 Fix damage for layers for projection receivers
Bug: 16880228

Change-Id: I59ab760a21f49cc2cac0d8936b173cff292e6114
2014-08-08 20:24:34 +00:00
Chris Craik
7466986d20 Fix leak of SkPathRefs
bug:15939479

SkPath objects owned by DisplayListOps weren't being torn down, and
thus weren't releasing their SkPathRef innards.

Change-Id: I2581e124600a93a399ef3251f456c02ab52839a8
2014-08-08 00:52:54 +00:00