2097 Commits

Author SHA1 Message Date
John Reck
bb2d0cc7e1 Surface:lockHardwareCanvas
Bug: 17440886

Change-Id: I1f2d98c63ec1a2814c2258cf7e0096139263770a
2014-10-21 13:23:56 -07:00
Derek Sollenberger
1383d1e60f Remove error case
bug: 18051326
Change-Id: I4f2f4abf80b89e540a91251ce55cd65375f6ca65
2014-10-20 16:59:27 -04:00
Derek Sollenberger
5865172542 Add back include that ensures RENDER_TEXT_AS_GLYPHS is set consistently.
bug: 18051326
Change-Id: I1ee9f8acb25fb1684e156c61e2cf2669d15a99cb
2014-10-20 16:26:24 -04:00
Derek Sollenberger
09c2d4fe15 Refactor HWUI to better handle Canvas DrawFilters.
First, this CL removes the need to decompose the DrawFilters
in Java and instead passes the SkDrawFilter to HWUI directly.
This also allows the removal of duplicated logic between HWUI
and other Canvas implementations regarding Paint filter levels.

Second, the DrawFilter is now stored in the DisplayListRenderer
where we apply it to every paint BEFORE it is stored in the
DisplayList.  This eliminates the need to filter all Paints on
playback and removes additional complexity at playback.

Finally, as a result of storing the filtered paint we can now
do a better job caching the paints.  This takes advantage of
recent changes in Skia to quickly enable quick hashing and
comparison of paint objects.

Change-Id: Iec507a2d894827975cc4f1d22241542bb0534b4e
2014-10-17 10:44:29 -04:00
John Reck
af608319f2 Fix memory corruption in test
Bug: 18012918
Change-Id: I8d69624e9be9f0399ddba10ce3903f93177d5930
2014-10-16 09:18:11 -07:00
Tom Hudson
b4b7f64921 Merge "Fix build breakage in HWUI JNI" 2014-10-16 13:15:16 +00:00
Tom Hudson
73edbfeed0 Fix build breakage in HWUI JNI
R=djsollen@google.com

Change-Id: Iaa4e7f22bec8e15748beab1b25d307c48d277c59
2014-10-16 09:10:41 -04:00
Tom Hudson
07c05e38a1 Merge "Clean up physical coupling" 2014-10-16 11:57:16 +00: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
Derek Sollenberger
413995e0be Change in Skia APIs require update to HWUI font implementation
Change-Id: Ib89a27381f740499e26706716f39ad62fa10778c
2014-10-15 14:29:46 +00:00
John Reck
cc1b97965d am 1467c54d: am f3259620: am 94c40fe9: CARD LAND!
* commit '1467c54d857fbfc03fb52b9ba95db72c6acbae32':
  CARD LAND!
2014-10-14 19:04:29 +00:00
John Reck
1467c54d85 am f3259620: am 94c40fe9: CARD LAND!
* commit 'f325962096663a5264f2ec613293818f7f3ea2f9':
  CARD LAND!
2014-10-14 17:51:07 +00:00
John Reck
94c40fe921 CARD LAND!
Bug: 16712006

Initial work towards benchmarking HWUI systems
Currently this will just create a screen full of
"cards" to simulate a high load scenario for
shadows and clipping

Change-Id: Ie9f9a9570844e136db8053e8fc62fe06cb922a5f
2014-10-14 09:02:04 -07:00
Jorim Jaggi
4b200fd299 am 638829c5: am 906fb5b6: am 786afcb3: Trim graphics memory when closing the shade
* commit '638829c58a811c56d339246e3a13fe57b31c0e00':
  Trim graphics memory when closing the shade
2014-10-08 19:24:31 +00:00
Jorim Jaggi
638829c58a am 906fb5b6: am 786afcb3: Trim graphics memory when closing the shade
* commit '906fb5b6969a4e7ad8367a052f6c1a1598ae32f5':
  Trim graphics memory when closing the shade
2014-10-08 19:08:35 +00:00
Jorim Jaggi
786afcb3ee Trim graphics memory when closing the shade
Graphics memory usually gets trimmed in applications when the
activity goes into the background. We use quite a lot of graphics
memory when the shade/lockscreen is open, and some of them never gets
freed unless the recents activity is closed, because we don't have
these activity-trimming-heuristics for the shade. This change
proactively trims the graphics memory when the shade gets closed or
when the lockscreen is hidden, to emulate the same heuristics as for
activities.

This change also adds trimMemory on RenderThread to systrace to
verify that no jank is introduced with this change.

This change immediately saves around 10-30 MB on an xxhdpi device
after the shade is closed.

Bug: 17581375
Change-Id: I4fb622efb51815fe08187be97ba15d012d4de5d4
2014-10-08 18:30:54 +00:00
ztenghui
f681de2d4b am 0a04e311: am f11d9de4: am 8cdb0bc0: Merge "Use float instead of double to increase spot shadow perf" into lmp-mr1-dev
* commit '0a04e3119891d52f69c08d0ce42777cba3566b39':
  Use float instead of double to increase spot shadow perf
2014-10-06 22:36:31 +00:00
ztenghui
0a04e31198 am f11d9de4: am 8cdb0bc0: Merge "Use float instead of double to increase spot shadow perf" into lmp-mr1-dev
* commit 'f11d9de43af807ad9d72a62fd1167ff6f9e7b903':
  Use float instead of double to increase spot shadow perf
2014-10-06 22:31:33 +00:00
ztenghui
8cdb0bc087 Merge "Use float instead of double to increase spot shadow perf" into lmp-mr1-dev 2014-10-06 20:04:08 +00:00
John Reck
b9ba53d088 am 6e4140c6: am c4694796: am 6a2296d8: am 9da6e743: am d988a45d: Merge "Cleanup DeferredLayerUpdater" into lmp-dev
* commit '6e4140c6e2d6f14ba225b2ae5926cc0f2794056a':
  Cleanup DeferredLayerUpdater
2014-10-04 16:05:59 +00:00
John Reck
6e4140c6e2 am c4694796: am 6a2296d8: am 9da6e743: am d988a45d: Merge "Cleanup DeferredLayerUpdater" into lmp-dev
* commit 'c4694796a952014d07e6d083749d2f8b7d06afee':
  Cleanup DeferredLayerUpdater
2014-10-04 15:45:20 +00:00
John Reck
6a2296d856 am 9da6e743: am d988a45d: Merge "Cleanup DeferredLayerUpdater" into lmp-dev
* commit '9da6e7435945e34d05e0c8c5c9a324218480c6ff':
  Cleanup DeferredLayerUpdater
2014-10-03 23:57:30 +00:00
John Reck
b0d6cd236c am d988a45d: Merge "Cleanup DeferredLayerUpdater" into lmp-dev
* commit 'd988a45d60cd2ff05e41a44c78cb09d307bd90cb':
  Cleanup DeferredLayerUpdater
2014-10-03 23:57:09 +00:00
ztenghui
9122b1b168 Use float instead of double to increase spot shadow perf
This is helping spot shadow for 15%-20% increase.
With the new algorithm, we are less sensitive to the floating point error.

b/16712006

Change-Id: Ie30a6ce01e73d56054a0cf65a84549454339a7fd
2014-10-03 15:30:53 -07:00
John Reck
749906b468 Cleanup DeferredLayerUpdater
Bug: 17765082

DeferredLayerUpdater had fallen behind RT updates. Re-snap to
latest expectations, ensuring to call requireGlContext() prior
to detachSurfaceTexture to avoid leaking SurfaceTextures

Change-Id: Ic65fb9831e5284f658866da8da9ad5af1d227699
2014-10-03 15:02:19 -07:00
Chris Craik
7886751ec9 am d297b1b9: am ab8f73a7: am 497cb6c0: Merge "Avoid creating Caches instance with gfxinfo dump" into lmp-mr1-dev
* commit 'd297b1b9949904fb815e98765d882d4cd3ca9b10':
  Avoid creating Caches instance with gfxinfo dump
2014-10-02 21:35:13 +00:00
Chris Craik
d297b1b994 am ab8f73a7: am 497cb6c0: Merge "Avoid creating Caches instance with gfxinfo dump" into lmp-mr1-dev
* commit 'ab8f73a7f17d07bdb4ccb3b6971d3ddc8534bd7d':
  Avoid creating Caches instance with gfxinfo dump
2014-10-02 20:12:59 +00:00
Chris Craik
497cb6c0a9 Merge "Avoid creating Caches instance with gfxinfo dump" into lmp-mr1-dev 2014-10-02 20:02:43 +00:00
Chris Craik
92016923b6 am f7b96c8e: am 00d96e7d: am 59e129fb: Merge "Account for colorfilter transparency in determining paint opacity" into lmp-mr1-dev
* commit 'f7b96c8e2fb14647d4a4e6695704eb12fefada3f':
  Account for colorfilter transparency in determining paint opacity
2014-10-02 19:51:09 +00:00
Chris Craik
f7b96c8e2f am 00d96e7d: am 59e129fb: Merge "Account for colorfilter transparency in determining paint opacity" into lmp-mr1-dev
* commit '00d96e7dd161067473b24d9bee57497fa56fb3f5':
  Account for colorfilter transparency in determining paint opacity
2014-10-02 19:45:15 +00:00
Chris Craik
59e129fbc8 Merge "Account for colorfilter transparency in determining paint opacity" into lmp-mr1-dev 2014-10-02 19:28:09 +00:00
ztenghui
29364d4188 am 79ef4823: am 3fb45865: am 5f243860: am 9ad17521: am f9033048: Merge "+ correcting shadow visual appearance (b/17610926)" into lmp-dev
* commit '79ef48239d84ba76e6980780a70faca4a48858cc':
  + correcting shadow visual appearance (b/17610926)
2014-10-02 13:46:01 +00:00
ztenghui
79ef48239d am 3fb45865: am 5f243860: am 9ad17521: am f9033048: Merge "+ correcting shadow visual appearance (b/17610926)" into lmp-dev
* commit '3fb458653e50e350e9e377d071cb79573d531748':
  + correcting shadow visual appearance (b/17610926)
2014-10-02 13:37:47 +00:00
ztenghui
5f243860a7 am 9ad17521: am f9033048: Merge "+ correcting shadow visual appearance (b/17610926)" into lmp-dev
* commit '9ad17521ac073562991cddb78f14d6df8d5fd05a':
  + correcting shadow visual appearance (b/17610926)
2014-10-01 23:41:00 +00:00
Chris Craik
c5b5f0556b Account for colorfilter transparency in determining paint opacity
bug:17765601
Change-Id: I90d76ee199bb357c71fc8f537c1abfa20d848416
2014-10-01 16:40:16 -07:00
ztenghui
6d0eaf45a9 am f9033048: Merge "+ correcting shadow visual appearance (b/17610926)" into lmp-dev
* commit 'f903304896809039430c5e52bd0c24052f51b14f':
  + correcting shadow visual appearance (b/17610926)
2014-10-01 23:33:51 +00:00
ztenghui
8def74de33 + correcting shadow visual appearance (b/17610926)
+ adjusting spot and ambient shadow opacity constants to achieve desired appearance
+ reducing ambient scale ratio back to 1.0 to address over-lightening at higher elevations
+ partially revert ag/546290

Change-Id: I9d7f664f73a7b9b83df73b739103c97054bd4f6e
2014-10-01 16:12:28 -07: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
5bd966606a am edb3ebfd: am bb5f8f5c: am 08897806: Merge "Add tracing for saveLayer" into lmp-mr1-dev
* commit 'edb3ebfd3fc441018701a999837253d557065e0f':
  Add tracing for saveLayer
2014-10-01 02:14:25 +00:00
Chris Craik
edb3ebfd3f am bb5f8f5c: am 08897806: Merge "Add tracing for saveLayer" into lmp-mr1-dev
* commit 'bb5f8f5c94610f8eb23a6f74c3f0a5a7dd402606':
  Add tracing for saveLayer
2014-10-01 01:42:24 +00:00
Chris Craik
a8bea8edde Add tracing for saveLayer
bug:17702227

Change-Id: Ia9cbf31b360c93f712e021bea406cb63e4cc4c2a
2014-09-29 17:19:05 -07:00
Samsung
e11f3ab000 Fixing memory leak in RenderBufferCache
In our devices with higher resolution we have observed a memory
leak in the HWUI code. When there is GC or tree modification
and buffer size is greater than the default size, we make sure
buffer is deleted.

Change-Id: Idf7052ccaf43c8a784ce0e7bdab336dca29bffd8
Signed-off-by: Samsung <aosp@samsung.com>
2014-09-24 11:10:06 -07:00
Chris Craik
213bcd196d am 88db90e8: am 808583ff: am 1918d884: am a0d0798a: am 737dfe57: Merge "Reject transparent draws more conservatively" into lmp-dev
* commit '88db90e899b26551bd9963f20dad637f6e76d954':
  Reject transparent draws more conservatively
2014-09-23 16:22:10 +00:00
Chris Craik
3bf8c64d78 am 808583ff: am 1918d884: am a0d0798a: am 737dfe57: Merge "Reject transparent draws more conservatively" into lmp-dev
* commit '808583ffbbb461c429a8308034dba632d167f2c6':
  Reject transparent draws more conservatively
2014-09-23 15:51:57 +00:00
Chris Craik
ed2f0f53df am fd0a1df1: am 737dfe57: Merge "Reject transparent draws more conservatively" into lmp-dev
* commit 'fd0a1df16fba712fb569eb637d960a7e78e3e62c':
  Reject transparent draws more conservatively
2014-09-23 03:07:05 +00:00
Chris Craik
bc341912b1 Reject transparent draws more conservatively
bug:17600162

Transparent draws are not safe to reject for all xfermodes other than
clear. Now, to be safe, only perform the rejection for SrcOver draws
since other modes are fairly uncommon.

We could specifically determine whether the xfermode could change the
output given a transparent input, but there's little to be gained from
the additional complexity.

Change-Id: Ia699ac4bdc4da3353955840b53f1922d3cb1d85d
2014-09-23 01:22:00 +00:00
Chris Craik
57b2d6b4ca am 1ee0dace: am 30dca470: am f0a80b68: am ea74883e: am fe01ab10: Merge "Account for alpha in hasShadow()" into lmp-dev
* commit '1ee0dacea8f6373915c241dba9aaa0e14f732e12':
  Account for alpha in hasShadow()
2014-09-20 00:30:23 +00:00
Chris Craik
f1c91fec09 am 30dca470: am f0a80b68: am ea74883e: am fe01ab10: Merge "Account for alpha in hasShadow()" into lmp-dev
* commit '30dca470d6b261433f0ad11117e5dff7d9124d9e':
  Account for alpha in hasShadow()
2014-09-20 00:19:38 +00:00
Chris Craik
4d4b3aa3d9 am 91a40be0: am fe01ab10: Merge "Account for alpha in hasShadow()" into lmp-dev
* commit '91a40be04f8d1822c27888cc47124bf965633f4f':
  Account for alpha in hasShadow()
2014-09-19 23:56:46 +00:00
Chris Craik
9e7c919191 Merge "Account for alpha in hasShadow()" into lmp-dev 2014-09-19 23:36:22 +00:00