7063 Commits

Author SHA1 Message Date
Chris Craik
27e58b4f54 Build hwui test scenes as common test code
And start using them in other non-macrobench tests

Change-Id: If155b531f3c89f97491001c06d1996df527b9f85
2015-12-07 16:41:35 -08:00
Chris Craik
c63107cbad Merge "Merged op dispatch in OpReorderer" 2015-12-07 20:37:31 +00:00
Chris Craik
15c3f19a44 Merged op dispatch in OpReorderer
bug:22480459

Also switches std::functions to function pointers on OpReorderer, and
switches AssetAtlas' entry getter methods to using pixelRef pointers,
so it's clear they're the keys.

Change-Id: I3040ce5ff4e178a8364e0fd7ab0876ada7d4de05
2015-12-07 12:34:46 -08:00
Chris Craik
85cdc25fe5 Merge "Correct shadowtext glyph count" 2015-12-04 18:30:28 +00:00
Chris Craik
0868477971 Correct shadowtext glyph count
bug:25837773

Change-Id: Id890624ddce3e5a331ecef207011709be0daf703
2015-12-04 09:28:22 -08:00
Jun Mukai
e56a3449d8 Merge "Introduce accessibility large pointer icons." 2015-12-04 01:53:16 +00:00
Chris Craik
8160f20b0a Reorganize hwui test directories
Now test-only common files reside in tests/common, and each test
executable type (macrobench, microbench, and unit) has a subdir there.

This change means the shared lib no longer has test code in it, and
sets up a means for scenes to be shared between tests.

Change-Id: I37b081f6977300e03fdd961b8e6439fde730605e
2015-12-02 15:25:10 -08:00
Chris Craik
54fa17f667 Add ListView rendering benchmark
Also fixes a bug in DrawRenderNodeOp recording, which was triggered by
the new test.

Change-Id: I328f2ed908495eb95ca8ce87a365d02650e72cd5
2015-12-02 15:20:26 -08:00
Jun Mukai
19a5601979 Introduce accessibility large pointer icons.
This patch does the following things:
- add new graphic assets of large icons for accessibility needs
  (imported from ChromeOS data)
- add the logic to choose the set of normal icons or accessibility icons
- make InputManagerService to observe the settings change, so that
  it can reload the new resources

This patch misses non-1x graphic though, because ChromeOS doesn't
have such data.

Bug: 25778857
Change-Id: Ia5f95d47f50b3f6eea555c3af8069bc6bae0b400
2015-11-30 14:42:53 -08:00
Chris Craik
9b9eca5cc5 Merge "Support projection in OpReorderer" 2015-11-25 22:14:42 +00:00
Chris Craik
8d1f2120fe Support projection in OpReorderer
bug:22480459

Change-Id: Iceb71732dc50957cfb47fa1ba9b8e18e6fc51132
2015-11-25 14:09:24 -08:00
Chris Craik
f20528b404 Merge "Move BakedOpDispatcher to separate file" 2015-11-25 21:38:56 +00:00
Chris Craik
9e7fcfda28 Move BakedOpDispatcher to separate file
Change-Id: If7aad6db6b7e54a33eac9b9eddbe8cd844207282
2015-11-25 13:27:33 -08:00
Chris Craik
e60d5cc3be Merge "Fix RecordingCanvas::refPaint, add tests" 2015-11-25 20:51:47 +00:00
Chris Craik
42a5407f2c Fix RecordingCanvas::refPaint, add tests
Also add text align support to TestUtils::drawTextToCanvas

Change-Id: I105adb0d15e697c03adfd00a56e8ec9265953ff1
2015-11-24 13:05:04 -08:00
John Reck
52b783f76a INT_MAX nanoseconds is not very long
Bug: 25843358

If the time between last swap & current vsync grew larger
than 2 seconds it would overflow when placed into an int, causing
frames to be dropped as negative numbers are definitely
less than 2_ms.

Change-Id: Icd2136989e5bbf5a0e21611b95a4d515b5ff9b14
2015-11-24 11:12:55 -08:00
Chris Craik
a1717271ca Initial text support in new reorderer/renderer
Removes obsolete drawPosText codepath, and unifies text decoration behavior.

Change-Id: I9c563249ab688a3394445a0e7fe1b9d0661f6f7c
2015-11-20 11:03:18 -08:00
John Reck
16c9d6a92e Refactor hwuitest
Yank animations out into their own files

Change-Id: Iea522ee032752019c07ff308c3a3993011054308
2015-11-19 11:35:14 -08:00
Chris Craik
780e20a7df Merge "Fix layer create properties" 2015-11-18 22:50:54 +00:00
Doris Liu
b10a1d8a93 Merge "VectorDrawable native rendering - Step 2 of MANY" 2015-11-18 22:44:44 +00:00
Chris Craik
f559bd1e67 Fix layer create properties
bug:25753159

Change-Id: Ifa64dbfd8057ae5b390ba0c177627a5325cdd769
2015-11-18 14:42:00 -08:00
Doris Liu
804618d086 VectorDrawable native rendering - Step 2 of MANY
Introduced PathData in Java, which is effectively a thin layer around the
native instance. PathData holds the verbs and points which is being used
in path morphing/interpolation. The verbs and points can be interpreted
into skia path commands, which is now done in native and therefore saves
a handful of JNI calls during path creation.

Removed the old PathDataNode mechanism and changed the PathEvaluator
to use PathData instead.

Also added tests and a microbench. Also ran CTS tests for VectorDrawable
and AnimatedVectorDrawable, and passed all of the existing tests.

Change-Id: Ia166f5172ff031fe18b154327967f911a62caec1
2015-11-18 13:38:23 -08:00
Jun Mukai
28d5615147 Merge "Introduce animated pointer icon for STYLE_WAIT." 2015-11-18 01:46:58 +00:00
Jun Mukai
808196f139 Introduce animated pointer icon for STYLE_WAIT.
Change-Id: I893f8276e09351db6187c553f349008794b95690
2015-11-17 17:36:08 -08:00
Chris Craik
8ecf41c61a Add temporary layer alpha fallback to OpReorderer
Also adds logic to clip temporary layers to viewport both for
efficiency and to allow large ones (such as the fallback case) to fit
in max texture size.

Change-Id: Iee51495220f5ca1dc7e6f5fd3615db2e896efd74
2015-11-17 14:50:49 -08:00
Chris Craik
b20dbf6c6a Merge "Finish shadow support in new reorderer/renderer" 2015-11-16 23:08:48 +00:00
Chris Craik
98787e6c9b Finish shadow support in new reorderer/renderer
Now passes alphas and light radius, and correctly transforms light
center for layers.

Also fixes begin-frame/layer clears to be damage rect aware.

Change-Id: I3b1415cd7bf1518c510145ebebdb745f494a2542
2015-11-16 11:21:18 -08:00
John Reck
1540153198 Extensions must load in ctor
Because Caches is terrible

Change-Id: I91e2442d97664759ee2c7602eb7172f009b20d53
2015-11-16 10:42:36 -08:00
Christopher Ferris
676a67bd4e Merge "Fix bug where mExtensions was not initialized." 2015-11-14 07:14:45 +00:00
Christopher Ferris
be4d8ddf1d Fix bug where mExtensions was not initialized.
Recent changes to mExtensions moved the initialization code from the
constructor to a separate function called load. Make sure to call
this function in the initExtensions function call.

Bug: 25615666

Change-Id: Ic016232c42afefd3b5bc3e4bd5c8428a11c454ad
2015-11-13 20:10:17 -08:00
Chris Craik
4bc507851c Merge "Add error check for float parsing and fix tests" 2015-11-14 00:00:05 +00:00
Doris Liu
1e67f08963 Add error check for float parsing and fix tests
Change-Id: Ia4f4863d415536b3796edbcdb83c951b6cff02cf
2015-11-13 15:58:49 -08:00
Chris Craik
9fded232a9 Recycle OffscreenBuffers
Change-Id: Ia2e219026f211a5308ecf8209c5f986bb888aadd
2015-11-12 13:05:35 -08:00
Doris Liu
ec99ff6cd7 Merge "Use array instead of vector for test data set" 2015-11-12 18:40:54 +00:00
Doris Liu
b89610c0c9 Use array instead of vector for test data set
Change-Id: I1d3e94c52b8bf0842c21132507b5f55a136a255b
2015-11-12 10:36:28 -08:00
Chris Craik
ae2e98310c Merge "Add shadow support to new reorderer/renderer" 2015-11-12 18:29:24 +00:00
Doris Liu
be2187a175 Merge "Add hooks in JNI to start using native path parsing" 2015-11-12 01:56:06 +00:00
Doris Liu
cdd23f9d45 Add hooks in JNI to start using native path parsing
Change-Id: Iaa0d3c2c1936c248146ed7f186a13e8e79be818e
2015-11-11 17:54:52 -08:00
Chris Craik
d3daa3198e Add shadow support to new reorderer/renderer
Doesn't yet use correct lighting info (esp. in layers), or
tessellate shadows asynchronously

Change-Id: I9ccec24b28869be42138a9bb234b1af874291a44
2015-11-11 13:32:37 -08:00
John Reck
7d9eb2aeb0 Merge "Fix memory corruption in SpotShadow" am: 8c85c00b5e am: 8c8353a8c3
am: 5bb2fdb425

* commit '5bb2fdb425dab346fb83c7f2bf9afa03bdf79fd6':
  Fix memory corruption in SpotShadow
2015-11-11 18:17:25 +00:00
John Reck
5bb2fdb425 Merge "Fix memory corruption in SpotShadow" am: 8c85c00b5e
am: 8c8353a8c3

* commit '8c8353a8c3152bc3ee4b74815d64c65c2c9d1991':
  Fix memory corruption in SpotShadow
2015-11-11 18:08:15 +00:00
Keith Mok
a1f5631340 Fix memory corruption in SpotShadow
The array list is too small and causing stack corruption

Change-Id: I0e34dad39357fb63977d2ce6f183ced7b6a632be
2015-11-11 08:49:20 -08:00
Doris Liu
e49954a7f7 Merge "Add microbench for PathParser" 2015-11-11 00:44:57 +00:00
Doris Liu
f59cb788ba Add microbench for PathParser
Change-Id: I95d6c3153480e3ea56032ffe73707110186fbb0f
2015-11-10 16:43:16 -08:00
Doris Liu
bec5a907dd Merge "VectorDrawable native rendering - Step 1 of MANY" 2015-11-11 00:36:27 +00:00
Doris Liu
30bcf69df9 VectorDrawable native rendering - Step 1 of MANY
Implement path parsing from string to skia path in native. The parsing
contains two main stages:
1) Parse string into a list of nodes that contains one operation (such
   as move) and a vector of floats as params for that operation.
2) Interpret the operations defined in the nodes into SkPath operations,
   and create a skia path

Also provided unit test for parsing a string path into a list of nodes,
and then to a skia path.

Change-Id: I0ce13df5e3bb90987dcdc80fe8b039af175ad2e2
2015-11-10 15:46:06 -08:00
John Reck
9557dcd53b Merge "Fix HWUI Path Cache dangling pointer" am: 37bf3ec9d2 am: 7516d4d866
am: 1b85ce17a3

* commit '1b85ce17a316973a170b3932f2d0a9b02063eaa3':
  Fix HWUI Path Cache dangling pointer
2015-11-10 23:36:27 +00:00
John Reck
1b85ce17a3 Merge "Fix HWUI Path Cache dangling pointer" am: 37bf3ec9d2
am: 7516d4d866

* commit '7516d4d8667957688433b02b2f4985f1b3ab36ad':
  Fix HWUI Path Cache dangling pointer
2015-11-10 23:31:11 +00:00
John Reck
37bf3ec9d2 Merge "Fix HWUI Path Cache dangling pointer" 2015-11-10 23:20:03 +00:00
John Reck
e2703bee8a Merge "Fix threading issues" 2015-11-10 21:41:49 +00:00