30 Commits

Author SHA1 Message Date
John Reck
00e79c9947 Mark isInUse per-window
Bug: 22509159
Change-Id: I0ae0f1fa582ee38dcb9f24ca20f0b4d0c57ccb32
2015-07-21 10:46:54 -07:00
John Reck
be3fba05e8 Adjust for pipeline stalls
Bug: 20853441

Calculating duration that crosses the UI-RT
sync point will now subtract out the time spent waiting
in queue under the assumption that this time will be
accounted for in the previous frame's metrics

Change-Id: Ia8213f4410638840613f5ae439e98dfb77532a6a
2015-07-06 16:12:46 -07:00
Chris Craik
1b54fb27ac Delete MAKE_ENUM_FLAGS
bug:21595702

Settle on namespace-enum for consistency. Also removes k prefix.

Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
2015-06-03 13:42:21 -07:00
John Reck
4c9e59d03c Unify DrawProfiler/JankStats
Bug: 20822400

Change-Id: I24345c3120440bfce14e8cbe7e880b39f10b744a
2015-05-12 11:02:07 -07:00
John Reck
b36016c65f Cleanups & simplifications
Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
2015-03-11 11:29:13 -07:00
John Reck
c87be99c6e C++11 style fixups
Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
2015-02-20 10:58:48 -08:00
John Reck
ba6adf66d3 Initial attempt at jank-tracking stat collection
Is a bit naive, perhaps overly aggressive, but sorta works

Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
2015-02-20 08:27:38 -08: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
John Reck
aa95a88327 Have an actual fallback if the surface is lost
Bug: 17516789

This will force a relayout/reinitialize pass if the Surface
is lost mid-render instead of crashing on the next frame

Change-Id: If08bfa16f740728fa7c05904fa11e26f07b81e2e
2014-11-07 11:02:07 -08:00
Chris Craik
738ec3aace Revert "Dump RenderThread stack on unresponsive"
bug:16563871
bug:16565900
bug:16555847
bug:16551643

This reverts commit ca66e06b9db6e6c921662886e4b7ddd02ac92280.

Change-Id: I23e8d4eaf828b1b298126ba5f36e4e8e7451706a
2014-07-25 18:26:36 +00:00
John Reck
73b7a4db41 Dump RenderThread stack on unresponsive
Bug: 16408405

Change-Id: I4ba4836fd1451fb8ba77c34cdb843d3cb4217bb8
2014-07-23 22:28:44 +00:00
John Reck
68bfe0a37a Animator refactoring & fixes
Tweaks animators to have less unnecessary refcounting

 Pull animator management out into seperate class

 More control to tweak animator lifecycle, such as doing
 Java-side handling of start delay by attaching but not
 starting the animator

Change-Id: I4ff8207580ca11fb38f45ef0007b406e0097281c
2014-06-26 10:45:43 -07:00
John Reck
6b39324d77 Merge "No-fail invokeFunctor" 2014-06-23 21:44:43 +00:00
John Reck
3b20251a35 No-fail invokeFunctor
Bug: 15513308
 Bug: 15449247

Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
2014-06-23 15:26:49 -07:00
Bo Liu
826b564486 Enable asynchronous RenderThread for WebView
BUG: 12179257

Change-Id: Ib7358dc84a0a58020d178d10b324b9631848c06d
2014-06-23 11:26:03 -07:00
John Reck
25fbb3fa11 Move LayerType to RenderNode
Change-Id: Icb79a5015cb0362b1f3a66d09007450730135a97
2014-06-12 19:25:33 -07:00
John Reck
e4267ea4f2 Even FASTER damage calculations!
* Now with more native!
 * Less matrix math thanks to bulk-property-update support!
 * Zero JNI on the View.damageInParent() path!
 * Fully aware of RT-driven animators!
 * Likely full of new and exciting bugs!
 * But it also fixes at least 1 existing invalidate bug!

Change-Id: Ie0773f85a60850ff2668370c58defef2e8aa079f
2014-06-04 12:21:26 -07:00
John Reck
d72e0a339b Re-jigger layers
Bug: 15185239
 Bug: 15238382

 Make DeferredLayerUpdater ref counted so that
 HardwareLayer:finalizer() works non-crashily on
 leaked layers
 Give DeferredLayerUpdater the ability to have a layer destroyer
 set so that leaked layers can still be recycled on the
 RenderThread
 Order layer updates based off of pushLayerUpdate() calls to fix
 issue with nested layers

Change-Id: I4449cee607f7e5126e02fed7464cf48038e3dfdf
2014-05-30 12:19:33 -07:00
John Reck
fe5e7b7346 Enable debug stuffs
Bug: 14596762
 * dumpsys gfxinfo implemented
 * profile GPU visual_bars implemented

Change-Id: Icb948a9d5af5989b5615504d0d76ade64b93ef5b
2014-05-29 15:00:29 -07:00
John Reck
a5dda645da Bag of scheduling tweaks
Bug: 15118640

 * Prevent over-stuffing the queue by dropping frames
 * Prevent double-drawing in one pulse by RT by deferring
   vsync registration until post-draw so that it catches
   the next vsync pulse instead of the current one
 * Bias vsync race condition towards the UI thread
 * Fix queueDelay to actually work

Change-Id: Ibf584258bd93ebcbba058bd976dc8b307f1c6155
2014-05-23 12:56:38 -07:00
John Reck
f9be77940e Make RenderNodeAnimator and WebView play nice
Change-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a
2014-05-05 12:35:30 -07:00
John Reck
18f16e6fba TIME LORD!
Bug: 14444180

Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
2014-05-05 10:57:04 -07:00
John Reck
52244fff29 Add CanvasProperty for drawCircle
Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
2014-05-02 13:43:46 -07:00
John Reck
e45b1fd03b RenderThread animator support
Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
2014-04-29 10:42:11 -07:00
John Reck
860d155f86 Fix issue with bitmap uploading
Bug: 13912749

Change-Id: Ic23fa1d280118dc93dc2716a4a24cc0bbbdca595
2014-04-14 13:17:25 -07:00
John Reck
8ca3eecc2b Remove sync flush
Bug: 13952590
 It was attempting to flush state changes after the canvas was
 destroyed, which caused layer updates to crash.

 Due to the removal of SetDisplayListData, the sync mode isn't able
 to do anything ever, so remove it.

Change-Id: I1e18ce288d81fd47cc6e612afda9476f75ecef2e
2014-04-10 10:46:55 -07:00
John Reck
f4198b713e Merge hasFunctors & pushStaging into prepareTree
Bug: 13902607
 Fixes synchronous mode for WebView in HardwareLayers

Change-Id: I90de1e26dcfd9b75cc2f03bac72705fc23237b68
2014-04-09 17:00:04 -07:00
John Reck
8de65a8e05 Switch DisplayListData to a staging model
Bug: 13912977

Change-Id: I5b2f664e797be22a58300964f57ceb4fab60528c
2014-04-09 15:48:00 -07:00
John Reck
087bc0c14b Refcount RenderNode
Change-Id: I7a86db8acc2b78ef33d987a43a119f5933d7d752
2014-04-07 14:53:08 -07:00
John Reck
668f0e38ef Async drawing!
Change-Id: I7e728356f58af88174328a8c0b90d27b128bfe01
2014-03-27 10:00:04 -07:00