7227 Commits

Author SHA1 Message Date
John Reck
f636e63c44 Fix memory leak
Change-Id: I6e17b0957e6c470fe6a230e52e4d1b30c967214a
2015-12-11 14:55:22 -08:00
John Reck
89add11bb4 resolve merge conflicts of f1df0f59c1 to master.
Change-Id: Ia0ae0f753541f5203a4a3683721361c5e90ddae8
2015-12-11 14:47:40 -08:00
John Reck
f1df0f59c1 Merge "Fix memory leak in HWUI"
am: 85b010b826

* commit '85b010b826129cd1a2090daa533e843b5573aea4':
  Fix memory leak in HWUI
2015-12-11 12:48:28 -08:00
Sangkyu Lee
441cc421b5 Fix memory leak in HWUI
std::unique_ptr::release just releases the ownership of the
managed object. To delete the object, std::unique_ptr::reset
function should be called.

Change-Id: If65f74085b1fc2be3a9fffc433326e0bcdb40ff3
2015-12-11 16:05:10 +09:00
Chris Craik
5430ab220b Avoid unneeded rect params
Change-Id: I2d8dcf6b09fdc554a403ac74763bf856b5f5d9fa
2015-12-10 16:29:01 -08:00
Tom Hudson
58862c9f6f Fix leak of file descriptors in test code
skia_dm rendering through HWUI was hanging after roughly 300 tests.
logcat reports some process was unable to get any file descriptors.

When we migrated TestWindowContext into HWUI and started using PIMPL
I didn't clean up the implementation struct in the destructor. Doing
so solved the hang for me.

My guess was that BufferQueue was being leaked, and that gralloc is
backed by file descriptors, but some research suggests that Android
ought to be able to handle far more than 1k fds (ulimit -Hn returns
4096 on this device).

R=djsollen@google.com

Change-Id: I2cd9f8945cee9b22f838002e1ad687d5fe29cb97
2015-12-10 22:19:17 +00:00
Chris Craik
268a9c0f29 Add property animations to new reorderer/renderer
bug:22480459

Change-Id: Id8091038004245a56deb48bf3625edfd08ab8681
2015-12-10 11:09:27 -08:00
Thomas Buhot
0bcd0cb6b1 libhwui: make setSurface asynchronous
On the critical path of the cold launch of applications
the main thread of the started application tells the RenderThread
to create a surface. This process is synchronous and blocks
the main thread of the application until the creation
of the EGLContext is complete.
As a consequence the launch time of the application is delayed
by time spent allocating the EGL Context in the RenderThread.

With this optimization the launch time of any application
is improved (for example settings by 20 to 40 ms).

Change-Id: Ibf47aaa0abb8dedf7aa00693073db3785d9d6b08
Signed-off-by: Thomas Buhot <thomas.buhot@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
2015-12-10 14:51:58 +08:00
Chris Craik
c7964751d6 Merge "Add bitmapmesh, rect, and patch rendering" 2015-12-10 00:11:50 +00:00
Chris Craik
f09ff5aa57 Add bitmapmesh, rect, and patch rendering
bug:22480459

Change-Id: Id9e9146997dd018b3e4e785c2bc13689e3cf7c3c
2015-12-09 16:06:09 -08:00
Andres Morales
fbf184c472 Merge "make RingBuffer const viable" 2015-12-09 23:25:03 +00:00
Andres Morales
a21c1da156 make RingBuffer const viable
- mark size() const
- expose const operator[]

Change-Id: Ie94ff798caed6b0d9a039e359610204e93c073ac
2015-12-09 14:44:01 -08:00
Chris Craik
c7fa843656 Add shape animation test case
Change-Id: Ie4c99218c3ae7f08250e2a77f11263d9f68ec861
2015-12-09 13:35:21 -08:00
Chris Craik
386aa03179 Add more shape drawing to new reorderer/renderer
bug:22480459

Add support for outsetting final bounds based on stroke.

Change-Id: I659318ccec51882bba1906ce3c7042288ce35c30
2015-12-09 11:29:04 -08:00
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