14 Commits

Author SHA1 Message Date
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
John Reck
cd028f336e Fix contants; RT-enable WebView pt2
Bug: 15838537

 * Fix kSync_UIRedrawRequired constant value (woops)
 * Tell CanvasContext that WebView is now rt-safe

Change-Id: Idf15cf21115c2ca24b8ccd00025e8502864cd87c
2014-06-24 08:44:29 -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
e45b1fd03b RenderThread animator support
Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
2014-04-29 10:42:11 -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