7046 Commits

Author SHA1 Message Date
Chris Craik
e4db79de12 Stencil support in new recorder/reorderer
bug:22480459
bug:26358504

Adds complex (non-rectangular) clipping support, and overdraw
visualization. Doesn't support stencil clipping in layers.

Change-Id: I8d10c7f1d2769ab5756774ca672344cc09901f87
2016-01-04 17:00:03 -08:00
Chris Craik
33e9b426da Merge "Fix merged op clipping issue" 2015-12-18 18:07:50 +00:00
Chris Craik
93e53e09dd Fix merged op clipping issue
Change-Id: I48cd5e92f3e62dcd189a4411a71aa7a40ce5498c
2015-12-18 10:07:16 -08:00
Chris Craik
a2a70723b8 Simplify ClipArea to prefer Rect args
Change-Id: I8af83d01dc5dd8009a0cd235dd8b59dab61d8560
2015-12-17 23:31:44 +00:00
Chris Craik
15d556e5d3 Add temporary switch for new renderer in JNI
bug:22480459

Change-Id: I6cb19332cb09650f20b1cc2da3473a2618a50b1e
2015-12-17 13:24:08 -08:00
Chris Craik
e60a52a236 Fix build
Change-Id: I1fc72636afc070257526ce1500e96e9b39089640
2015-12-16 16:05:49 -08:00
Chris Craik
031eaedef8 Merge "Add TextureView support to new renderer/reorderer" 2015-12-16 23:48:27 +00:00
Chris Craik
d2dfd8f128 Add TextureView support to new renderer/reorderer
bug:22480459

Change-Id: I2e4c0bc6b904706132f3f5087ededc9cac9b40fb
2015-12-16 15:35:40 -08:00
Chris Craik
09d7a93bed Merge "Add TextOnPath support to new reorderer/renderer" 2015-12-16 22:35:45 +00:00
John Reck
bf4b31f7b2 resolve merge conflicts of 04ce46db64 to master.
Change-Id: I935bb47718f0e7d5fb48945dd8de6e28dac136e5
2015-12-16 11:07:53 -08:00
John Reck
04ce46db64 Merge "libhwui: make setSurface asynchronous"
am: 738a5d4f18

* commit '738a5d4f18e69c03700b77af0ea7e2a101da2c34':
  libhwui: make setSurface asynchronous
2015-12-16 18:44:57 +00:00
Derek Sollenberger
24fa70c2ac Merge "Remove onDrawSprite API as it is no longer exposed via SkCanvas" 2015-12-16 18:32:39 +00:00
John Reck
738a5d4f18 Merge "libhwui: make setSurface asynchronous" 2015-12-16 18:27:24 +00:00
Chris Craik
d7448e65e2 Add TextOnPath support to new reorderer/renderer
bug:22480459

Change-Id: I302048ec09901420c15003e21e44a551cc59c7ad
2015-12-16 10:27:17 -08:00
Chris Craik
adfeec9456 Allow RT animation of new renderer
Change-Id: I60136dc080dc4fd853ac8c3d37fefa85da1181df
2015-12-16 10:20:41 -08:00
Derek Sollenberger
d2db5c10a3 Remove onDrawSprite API as it is no longer exposed via SkCanvas
Change-Id: Id6f0bb7a9b4eaad0d0442d4ab4212f6a56070c66
2015-12-16 16:58:32 +00:00
Chris Craik
e29ce6f51d Add functor support to new reorderer/renderer
bug:22480459

Change-Id: I95df7e0504f62d254e8ffbd8d65ed5d763080b9c
2015-12-15 10:40:54 -08:00
Chris Craik
4c1b495f4f Merge "Avoid unneeded rect params" 2015-12-15 17:32:59 +00:00
Jun Mukai
d4eaef7f4c Make public pointer icon API with custom icons.
BUG: 25778347, 23804184
Change-Id: If138b97c750c912e9848412c27b65004899961eb
2015-12-14 19:45:10 -08:00
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