33 Commits

Author SHA1 Message Date
Chih-Hung Hsieh
85e0c89ba5 resolve merge conflicts of 1599b981 to nyc-dev-plus-aosp
Change-Id: I90807581e10b6a0024515ff634ac8b29eaa5fc9f
2016-04-28 12:08:15 -07:00
Chih-Hung Hsieh
c6baf563ba Fix google-explicit-constructor warnings.
Bug: 28341362
Change-Id: Ibdd6a210bb7ff228e3624cc319169f77aca3b51e
2016-04-27 11:38:12 -07:00
sergeyv
7224e2b624 Stop comparing Descriptions with memcmp
bug:27894959
Change-Id: I379c11381c08f6f77577a914638b32415768f26e
2016-04-11 13:09:00 -07:00
Chris Craik
48a8f431fa Move several property queries to Properties class
bug:17478770

This removes a lot of redundant property query code, and puts the
queries all in one place, so defining them automatically will be simpler
in the future.

Change-Id: I0428550e6081f07bc6554ffdf73b22284325abb8
2016-02-05 17:38:22 -08:00
Chris Craik
d8165e863b Simplify shadow task cleanup
bug:26964750

Removes 3 news/deletes per task, as well as the waitOnTask inside destruction

Change-Id: Iec11165bcfa7f98ca41574885734c2ad39328cc8
2016-02-03 16:30:11 -08:00
Chris Craik
6e068c0182 Early kickoff of shadow tasks
bug:26562703

Change-Id: I7cdf18f2c662380bd31c7ffeefd5c3f569e5c1c6
2016-02-02 17:10:25 -08:00
John Reck
82f5e0c5cd Add ShadowBench
Drop -O3 & -ffast-math as they don't
help on clang and just hit SIGBUS issues

Change-Id: I8e9a8f4cd9ddf136103a6b7f69902e9f3a730c57
2015-10-22 17:13:07 -07:00
Chris Craik
11718bc17b Remove shader based gamma approach
Also fixes some INIT_LOGD logs

Change-Id: I212a71a1e7b366aea41f7c3c8cc169d509d6e4a2
2015-09-22 11:58:32 -07:00
John Reck
272a685f17 Replace most usages of utils/Vector.h
Change-Id: I540d1b3523244d6c71fc52d6fb30555271c25644
2015-07-30 09:51:52 -07:00
Chris Craik
e6a15ee3d0 Remove all usage of fmin and fmax
bug:22208220

Removes needless call, and upconversion to doubles in multiple places.

Change-Id: I1b949fa5f206446ac34de800154c0147d6bd8034
2015-07-07 18:42:42 -07:00
ztenghui
21ef8205a1 Tweak the threshold for conic path quads computation.
We still want it to be related to the threshold for bezier generation.

b/19903239

Change-Id: Ifdce32f1c28ecea9eac98d02c73afa948341fc7d
2015-05-29 15:12:55 -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
2507c34d91 Cleanup properties
bug:19967854

Separate properties from Caches, into static, RenderThread-only class.

Also rewrites the means for java to set properties to correctly handle
threading, and adds an override for profile bars so that SysUi doesn't clutter
the screen with them.

Change-Id: I6e21a96065f52b9ecc49d1a126244804ba106fa9
2015-05-05 10:36:09 -07:00
Chris Craik
dee66b6d99 Simplify TaskManager fallback path
Change-Id: Ie3833449f7fe6aa69b9f71eb8bab1bef0fe434aa
2015-04-20 14:54:49 -07:00
Chris Craik
39c2750221 am 485c25ba: am e3abfef6: am 82f6b16e: Merge "hwui : fix memory leak due to duplicate in shadow cache"
* commit '485c25ba46b02393245c4c766ad059644afa7cd9':
  hwui : fix memory leak due to duplicate in shadow cache
2015-03-25 20:58:56 +00:00
Mykola Kondratenko
b159633aa3 hwui : fix memory leak due to duplicate in shadow cache
New ShadowTask with the ShadowDescription key that already
exists in the shadow LruCache will leak as it is not being
added.

Fix adds check for the existing key that is common in the hwui
code but missing for the TessellationCache::precacheShadow
function.

Change-Id: I37fd5ec82f8b8da5d1ec0f2ab9fd04c5f8534367
2015-03-17 08:57:41 +01:00
John Reck
3f5175fccd resolved conflicts for merge of c7e6b93a to master
Change-Id: I4b791f37193727a0306214645f2f98cdf218cad0
2015-02-04 14:47:23 -08:00
Sangkyu Lee
c3c58e015f Fix ANR caused by hwuiTask thread
If hwuiTask thread is exited while HWUI renders something,
some tasks can remain unfinished forever.
This can make ANR problem if RenderThread waits this kind of tasks.

According to the current implementation, hwuiTask threads are
exited when HWUI receives trimMemory() callback with level >= 20
and some applications such as SystemUI can receive trimMemory()
with level >= 20 even though they renders something yet.
(For instance, when RecentsActivity in SystemUI is finished,
HWUI receives trimMemory() callback with level >= 20
but SystemUI should still render the status bar and navigation bar.)

This patch prevents the tasks from remaining unfinished and
make the tasks executed immediately if they cannot be added
to their TaskProcessors.

Change-Id: I5bd26439aa5f183b1a7c1ce466362e27554b4d16
2015-01-12 13:10:52 +09: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
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
John Reck
8b59a528b5 Revert "Frameworks/base: Unused parameters in hwui"
This reverts commit 42ddc18d108f789705ad4eb697ce9599ad322507.

Change-Id: I3574a936a39a96314db6437d0a1eb58d260d893d
2014-11-22 00:10:02 +00: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
ztenghui
25e5a02d1c Finer tessellation can draw better looking shadows for circles.
b/14976551

Change-Id: I4b9e320b025dbee37cd1893881ddbaad62e3a6e2
2014-09-11 10:10:25 -07:00
ztenghui
c50a03d78a Improve the spot shadow computation.
Get rid of compuation of the intersection for penumbra and convex hull for umbra.
Use simple circle / normal to compute the penumbra and simple intersection for umbra.

The new way could be 2x to 4x faster from rectangle to round shape.
And this part is roughly half of the shadow computation, or 2/3 of spot shadow
computation.

This improve the spot shadow spikeness too.

b/16712006
b/14976551

Change-Id: I02911784868731369efa73f76fc915bc08248600
2014-08-22 13:51:16 -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
John Reck
1aa5d2d706 Fix ALL compile warnings
All warnings/errors fixed for GCC & Clang

Change-Id: I2ece3a136a5ae97a9acc3069537ed986238b5fd3
2014-07-24 14:28:08 -07:00
Chris Craik
c93e45cf04 Build layer damage bounds for shadows
bug:15538815

Change-Id: I703afeb7e31c28002bd1aff9ce448ec8cdc4e70d
2014-07-23 11:04:53 -07:00
Chris Craik
6ac174b972 Clean up tessellation cache in prep for other tesselation types
bug:15536396

Also fixes compilation warning, avoids SkPaint deep copy

Change-Id: I74334f08b1d34c6789aabf968ff62db5bacbed1b
2014-06-18 15:31:55 -07:00
Chris Craik
bd2d97f2b7 am 9de2a8f4: Merge "Add AA flag to TessellationCache key" into lmp-preview-dev
* commit '9de2a8f42d88e50146947a7bf21b212ea134ee83':
  Add AA flag to TessellationCache key
2014-06-12 22:51:27 +00:00
Chris Craik
ed4ef0bc17 Add AA flag to TessellationCache key
bug:15539571
Change-Id: I7cf470ca962041ab3c00c740e87c6ae9a95f06a8
2014-06-12 13:39:34 -07:00
Chris Craik
1b3be0877a Fix race in shadow tessellation by deep copying task params
bug:15369119
Change-Id: Ica1445f06693b1cfd038cf3494afe1210d5507c1
2014-06-11 13:49:34 -07:00
Chris Craik
6ef8e0178d Workaround to avoid polygon flashing DO NOT MERGE
b/15539571

Temporarily disables caching of tessellation.

Change-Id: If014b8c40664711aef761eec606d28aff1859b14
2014-06-11 19:10:26 -07:00
Chris Craik
05f3d6e511 Tessellate on worker threads
Tessellate and cache (where possible) shadow and round rect
tessellation tasks.

Change-Id: I2cfda8e11d83d51ea74af871235cf26e8f831d40
2014-06-10 01:53:17 +00:00