History log of /frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2de950d5a8b47c7b4648ada1b1260ce4b7342798 25-Jan-2017 John Reck <jreck@google.com> Overhaul RenderNode's DisplayList management

* Move mValid to native
* Have destroyHardwareResources destroy everything
* Remove flaky mParentCount checks in setStaging
* All tree updates have an internal observer to
ensure onRemovedFromTree() is a reliable signal
* onRemovedFromTree() immediately releases resources
to avoid displaylist "leaks"

Test: Unit tests for validity added & pass, manually
verified that b/34072929 doesn't repro

Bug: 34072929

Change-Id: I856534b4ed1b7f009fc4b7cd13209b97fa42a71c
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
b7d34b64dd32e3d84bd43344c9c3d9ad098129af 04-Nov-2016 Derek Sollenberger <djsollen@google.com> Refactor pin/unpinImages to work across pipelines.

Test: existing CTS tests still pass
Change-Id: Ib2607e9853396bad42f298829b5c5da0d210af32
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
06e2e9cf4c3fe1eaac3271c9a346d5cc7fe5c3a8 01-Sep-2016 Chris Craik <ccraik@google.com> Wait on frame work fences when frames are dropped

bug:30895941

Prevents a race where frame work could interleave between frames,
causing SurfaceView position updates to be delivered out of order.

Change-Id: I01e4cc557b69dcf33e877a0e16c0d115ec95e4cc
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
9a17da8125c36c82ba73e7f4b3ed80b9c633767f 18-Apr-2016 John Reck <jreck@google.com> Don't reuse LOST_SURFACE for stopped

Fixes: 28218991

If a draw() happens while we are stopped, don't report
that the surface is lost because this will prompt
a tear-down of the surface which isn't desired. It can
result in ViewRootImpl ending up in an internally-bad state
in this case.

Change-Id: If3eb8c6bc8702299e5330bc0917952624dce3b7e
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
8afcc76920499d0a384dba1470c5a377f80ed768 13-Apr-2016 John Reck <jreck@google.com> Revert "Revert "Make stopped state a first-class thing""

This reverts commit eab3f2658aa41d37c3b05d49a2ce4e3f4ed85399.

Fixes first-frame issue, mReportNextDraw needs to override
mStopped

Fixes: 28118961
Fixes: 27286867

Change-Id: I5c811759637d08ba9f3b342016d1b3006986d5a2
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
825fa4d5ae7b2907ee1769d09e6333306de2a92e 11-Apr-2016 John Reck <jreck@google.com> Merge "Revert "Make stopped state a first-class thing"" into nyc-dev
eab3f2658aa41d37c3b05d49a2ce4e3f4ed85399 11-Apr-2016 John Reck <jreck@google.com> Revert "Make stopped state a first-class thing"

This reverts commit 945961f78a78eced823d5ba78505c781b079703d.

Change-Id: Iebc1d49fac33380233f8785fc39bec6c30a5e714
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
c724dcf23c5e2ebd22c042a8a6f2424b7e9d5029 08-Apr-2016 John Reck <jreck@google.com> Merge "Make stopped state a first-class thing" into nyc-dev
945961f78a78eced823d5ba78505c781b079703d 08-Apr-2016 John Reck <jreck@google.com> Make stopped state a first-class thing

Bug: 27286867

WindowManager has committed to stopped state
controlling the lifecycle of the Surface, so
make that a first-class thing in HWUI as well.

This makes it more resistent to things like
a rogue updateSurface() happening while mStopped=true,
leading to bad things down the line. Instead let
the surface be changed/updated as often as desired,
and just block any attempt to draw on that surface.

Also removes some unnecessary makeCurrent()s, as
EglManager ensures that we *always* have a valid
GL context now (using a pbuffer surface if there is
no window surface set)

Change-Id: Iead78ddebc7997e8fdb0c9534836352f5e54b9bd
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
51f2d606dcbfba3cc5b03dfea37c1304b91c232f 06-Apr-2016 John Reck <jreck@google.com> Fix some edge cases

Bug: 27709981

This desperately needs a refactor, but to keep
the current (really needed & nice) behavior of
dispatching after sync finishes would be difficult
to handle cleanly without lots of ripping so... #yolo

Change-Id: I831a06c6ae7412a062720d68ecbe3085190f0258
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
d2dfd8f128b632ed99418ab2b32949c939a9a369 16-Dec-2015 Chris Craik <ccraik@google.com> Add TextureView support to new renderer/reorderer

bug:22480459

Change-Id: I2e4c0bc6b904706132f3f5087ededc9cac9b40fb
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
e2e53a7079733694bd52dbce665e9ceff21e9727 28-Oct-2015 Chris Craik <ccraik@google.com> Simplify TreeInfo

Change-Id: I8f05e9046236d607016b6c2bb77a333cfb47ba47
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
ea7a7fb75acb7305eb774ca7bc7e96103bd49323 28-Aug-2015 Skuhne <skuhne@google.com> MultiThreaded rendering of different renderNodes

This is adding the renderer side infrastructure to allow
rendering multiple render nodes with different threads.
This is a pre-step for decoupling a non client decor
resize reder from a content resize render.

Multiple render nodes can be added to be drawn, and to
prevent overdrawing, a content bounds area can be set

Bug: 22527834

Change-Id: Ie7271e20895bf38957e5a84aeefc883e282039ad
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
c052a9a1bb1d0b7918f73166a36e96e0b1a9ed92 22-Jul-2015 John Reck <jreck@google.com> am a2fd3234: am 3bfe4b47: am 1cd5afc1: am 9317d0b9: am 1fddd3ef: Merge "Mark isInUse per-window" into mnc-dev

* commit 'a2fd32348b06b22963fcc7c33179fddbd2394dbf':
Mark isInUse per-window
00e79c9947b741194ff6c0d08ede9b3befbf9c9d 21-Jul-2015 John Reck <jreck@google.com> Mark isInUse per-window

Bug: 22509159
Change-Id: I0ae0f1fa582ee38dcb9f24ca20f0b4d0c57ccb32
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
5a4690bf26932c0d6940e4af8516d920e09ae81a 14-Jul-2015 Chris Craik <ccraik@google.com> Clean up unncessary defines

LOG_TAG and TRACE_TAG are already defined in the makefile

Change-Id: I9e53e3dacbe018441edd74cb7c8c90846defee74
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
be3fba05e823f740f65b2679929347dc3dd282ad 06-Jul-2015 John Reck <jreck@google.com> 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
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
1b54fb27ac48495ed0b33868fda5776fb49fe0f3 03-Jun-2015 Chris Craik <ccraik@google.com> Delete MAKE_ENUM_FLAGS

bug:21595702

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

Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
4c9e59d03c2bca38001225b79d01740b8999adfb 12-May-2015 John Reck <jreck@google.com> Unify DrawProfiler/JankStats

Bug: 20822400

Change-Id: I24345c3120440bfce14e8cbe7e880b39f10b744a
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
b36016c65f1d1b5846dba0349aab491dbd3a746a 11-Mar-2015 John Reck <jreck@google.com> Cleanups & simplifications

Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
c87be99c6ead0720a8918ea38ce3b25e5c49e1c6 20-Feb-2015 John Reck <jreck@google.com> C++11 style fixups

Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
ba6adf66d3c44c0aa2fd8a224862ff1901d64300 19-Feb-2015 John Reck <jreck@google.com> Initial attempt at jank-tracking stat collection

Is a bit naive, perhaps overly aggressive, but sorta works

Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
d41c4d8c732095ae99c955b6b82f7306633004b1 06-Jan-2015 Chris Craik <ccraik@google.com> 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
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
aa95a88327d9a3ac8a4a00b065b78ac0f28b3a19 07-Nov-2014 John Reck <jreck@google.com> 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
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
738ec3aace180018560998d1c2cdeb9ddde5fbfa 25-Jul-2014 Chris Craik <ccraik@google.com> Revert "Dump RenderThread stack on unresponsive"

bug:16563871
bug:16565900
bug:16555847
bug:16551643

This reverts commit ca66e06b9db6e6c921662886e4b7ddd02ac92280.

Change-Id: I23e8d4eaf828b1b298126ba5f36e4e8e7451706a
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
73b7a4db4116774156fda3a510cc3afa14be9ffd 23-Jul-2014 John Reck <jreck@google.com> Dump RenderThread stack on unresponsive

Bug: 16408405

Change-Id: I4ba4836fd1451fb8ba77c34cdb843d3cb4217bb8
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
68bfe0a37a0dcef52abd81688d8520c5d16e1a85 25-Jun-2014 John Reck <jreck@google.com> 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
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
6b39324d7756f1a36faf275941aabb19ee6bbb53 24-Jun-2014 John Reck <jreck@google.com> Merge "No-fail invokeFunctor"
3b20251a355c88193c439f928a84ae69483fb488 23-Jun-2014 John Reck <jreck@google.com> No-fail invokeFunctor

Bug: 15513308
Bug: 15449247

Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
826b56448691221e4cfe2f19a09c3d8790f78d2c 14-May-2014 Bo Liu <boliu@google.com> Enable asynchronous RenderThread for WebView

BUG: 12179257

Change-Id: Ib7358dc84a0a58020d178d10b324b9631848c06d
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
25fbb3fa1138675379102a44405852555cefccbd 12-Jun-2014 John Reck <jreck@google.com> Move LayerType to RenderNode

Change-Id: Icb79a5015cb0362b1f3a66d09007450730135a97
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
e4267ea4f20740c37c01bfb6aefcf61fddc4566a 04-Jun-2014 John Reck <jreck@google.com> 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
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
d72e0a339b54af0c4e731513bbad120dff694723 30-May-2014 John Reck <jreck@google.com> 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
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
fe5e7b7346a54537b980796ceeca66bfdbd05561 24-May-2014 John Reck <jreck@google.com> Enable debug stuffs

Bug: 14596762
* dumpsys gfxinfo implemented
* profile GPU visual_bars implemented

Change-Id: Icb948a9d5af5989b5615504d0d76ade64b93ef5b
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
a5dda645da738da7b4ae15e28fa7d93d3b04b94f 23-May-2014 John Reck <jreck@google.com> 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
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
f9be77940e365036fecd8cc0e491e8545c34e79b 03-May-2014 John Reck <jreck@google.com> Make RenderNodeAnimator and WebView play nice

Change-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
18f16e6fba74eda173e1e7c869e6e2e2acc073ff 03-May-2014 John Reck <jreck@google.com> TIME LORD!

Bug: 14444180

Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
52244fff29042926e21fa897ef5ab11148e35299 02-May-2014 John Reck <jreck@google.com> Add CanvasProperty for drawCircle

Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
e45b1fd03b524d2b57cc6c222d89076a31a08bea 15-Apr-2014 John Reck <jreck@google.com> RenderThread animator support

Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
860d155f866cc15a725e7ce03763280987f24901 12-Apr-2014 John Reck <jreck@google.com> Fix issue with bitmap uploading

Bug: 13912749

Change-Id: Ic23fa1d280118dc93dc2716a4a24cc0bbbdca595
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
8ca3eecc2b7fe507d3482745efc4cd2567ad15a1 10-Apr-2014 John Reck <jreck@google.com> 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
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
f4198b713e43c0c0f9adac74203cf24c2a49b802 10-Apr-2014 John Reck <jreck@google.com> Merge hasFunctors & pushStaging into prepareTree

Bug: 13902607
Fixes synchronous mode for WebView in HardwareLayers

Change-Id: I90de1e26dcfd9b75cc2f03bac72705fc23237b68
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
8de65a8e05285df52a1e6f0c1d5616dd233298a7 10-Apr-2014 John Reck <jreck@google.com> Switch DisplayListData to a staging model

Bug: 13912977

Change-Id: I5b2f664e797be22a58300964f57ceb4fab60528c
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
087bc0c14bdccf7c258dce0cdef46a69a839b427 05-Apr-2014 John Reck <jreck@google.com> Refcount RenderNode

Change-Id: I7a86db8acc2b78ef33d987a43a119f5933d7d752
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp
668f0e38ef0277d55d3118af37e17b8c435df85c 26-Mar-2014 John Reck <jreck@google.com> Async drawing!

Change-Id: I7e728356f58af88174328a8c0b90d27b128bfe01
/frameworks/base/libs/hwui/renderthread/DrawFrameTask.cpp