2504 Commits

Author SHA1 Message Date
Chris Craik
f158b49c88 Rename Reorderers to Builders
Change-Id: I9bb5a2e70055e2f6d14912fbd86ab72ac0d6e20c
2016-01-12 14:45:08 -08:00
Chris Craik
89ceb5c977 Fix 9 patch mesh usage
Change-Id: I638fd5816d68a9ecd7f1709624fde2f372de5fa7
2016-01-12 13:45:34 -08:00
Chris Craik
84ad6149db Fix a couple crashes in the new reorderer
Also fixes the layer clear scissor logic in BakedOpRenderer, fixing a
flicker.

Change-Id: I61106a18938ea35e31f0a0b585b5743544245773
2016-01-12 12:19:51 -08:00
Chris Craik
b250a834e4 Fix deep copy of entry queue
also fixes several 64 bit compilation issues

Change-Id: I1825f822d02be72c21bdcd07cefa68217856ddc2
2016-01-11 19:28:19 -08:00
Chris Craik
ae10e1368c Merge "Fix clip serialization crash" 2016-01-12 02:14:29 +00:00
Chris Craik
15f046866c Fix clip serialization crash
Can't safely rewind clip allocations, since those pointers are cached by
ClipArea. Instead add early rejection to handle most cases, and update
tests.

Change-Id: Ic32f95cf95602f427f25761a8da1583c4495f36d
2016-01-11 17:54:49 -08:00
Chris Craik
e3dc1fe215 Merge "Rename OpReorderer to FrameReorderer" 2016-01-11 23:44:17 +00:00
Chris Craik
5ea1724be4 Rename OpReorderer to FrameReorderer
Also separate LayerReorderer into its own files.

Change-Id: Iafb6a156f760f62f831f6288fd0dadf1db25da24
2016-01-11 15:35:52 -08:00
Chris Craik
f9b3678534 Fix path position in BakedOpDispatcher
Change-Id: I73f4bbcf3fe6f5d3fbdf8058b598bb8f1622097c
2016-01-11 13:26:58 -08:00
Chris Craik
7435eb148e Unclipped savelayer support in new renderer
bug:22480459

Change-Id: I89dd5de8d7d008a1e298d227d767aabff5c96e27
2016-01-08 16:05:35 -08:00
Chris Craik
b87eadda18 Partial unclipped save layer support
Not yet implemented in renderer.

Change-Id: I491ec6e7886bfa313d1db71dd5981690d45b78a9
2016-01-07 15:42:45 -08:00
Chris Craik
7cbf63da4f Rework op macros
Makes it simpler to add defer-only or render-only opps.

Change-Id: I6c8ec64e76d419635429055cff6d96360d21706d
2016-01-06 14:04:22 -08:00
Chris Craik
982dcf3eff Merge "Support for stencil clipping in layers" 2016-01-05 18:33:54 +00:00
Chris Craik
e5b50197e8 Support for stencil clipping in layers
bug:22480459

Change-Id: Ic9e8652379524ccc46d8722ce49f9190b08a2abc
2016-01-05 10:18:35 -08:00
Chris Craik
f5baedb000 Merge "Stencil support in new recorder/reorderer" 2016-01-05 17:54:47 +00:00
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
John Reck
f43f627fc9 Merge "Add some options to macrobench" 2016-01-04 15:26:18 +00:00
Doris Liu
a0e61572ab VectorDrawable: Use the matrix scale only if the matrix has no rotation or skew.
When canvas is rotated or skewed, the scale factor is affected.
Conservatively reset the scale used to modify path stroke size to 1 in these
cases, since the image will be somewhat blurry anyway with rotation / skew..

b/25418943

Change-Id: I6dff1bca5fac5500fa688c68f8b81b6212526b6b
2015-12-30 10:57:15 -08:00
Doris Liu
4bbc293126 VectorDrawable native rendering - Step 3 of MANY
- Refactored VPathRenderer & VectorDrawableState
- Moved all the VD rendering into native
- Set up hooks for VD's property changes in JNI for animated VD

TODO: JNI calls can be further reduced when we convert the animation
in AVD to use RenderNodeAnimator, in which case animation will be
driven from native and therefore most of the JNI hooks for changing
VD's properties during animation will no longer be needed.

Change-Id: I52021f4d7bea057b83ace54085d870dd45acae0f
2015-12-28 16:08:38 -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
John Reck
682573c84b Add some options to macrobench
Change-Id: If8d5f5d3ace050577986a554182b2b66fd2257e1
2015-12-16 16:40:02 -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
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