Age | Commit message (Collapse) | Author |
|
Using SYSTEM_TIME_MONOTONIC works for Android (where it translates to
CLOCK_MONOTONIC) and host targets, while CLOCK_MONOTONIC is not defined
on macOS.
Bug: 117921091
Test: existing tests should pass
Change-Id: I1fad472881830fb0701a320cf37319e083932ad4
|
|
Bug: 127822449
Test: verified render_ahead working with skiavk
Change-Id: Iae1b227a763f6def035057f38cca4b0ab65c7e82
|
|
Bug: 79231206
Test: Repro steps from bug
Change-Id: I4c2810c42a7a4358f64584da3ab0cdf1499e71b6
|
|
Otherwise it could lead to parameters applied in the wrong frame,
leading to jank.
Test: Open notification
Bug: 78611607
Change-Id: Ia7900e753b29187a7a7b81f393666687e8b8e04b
|
|
This reverts commit ec100976e0655acaa204c8800dfb83dadae20cc8.
Reason for revert: b/77971494
Test: hwuiunit passes
Change-Id: I2e7dc719d2df1dd939b275496c0edc38e458c434
|
|
For periods of time during which latency is less important
allow a client to request a deeper render-ahead pipeline.
The latency tradeoff results in less overall visual jank
Test: none, only used by macrobench
Change-Id: I516203b70bdc75b6415fa08bf9c4fb1b598b0102
|
|
Test: none yet
Bug: 73810478
Bug: 72041926
Change-Id: I7154ed4b3d2cd820dc8c8ff55eed130be87d1606
|
|
Test: No code changes, just ran through clang-format
Change-Id: Id23aa4ec7eebc0446fe3a30260f33e7fd455bb8c
|
|
Test: unit tests & benchmarks pass/faster
Change-Id: I9521432172d6dd6039c5280b1265479a36a86247
|
|
Move content bounds into DrawFrameTask. This ensures
that changes in bounds are synchronized with changes in
rendering commands, avoiding potential underdraw.
Bug: 64200212
Test: Repro steps in bug. Drag up/down on resize handle, verify
no flicker.
Change-Id: I3109acf262e23c2a7d8904f1dcbfc8273aaed65b
|
|
* 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
|
|
Test: existing CTS tests still pass
Change-Id: Ib2607e9853396bad42f298829b5c5da0d210af32
|
|
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
|
|
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
|
|
This reverts commit eab3f2658aa41d37c3b05d49a2ce4e3f4ed85399.
Fixes first-frame issue, mReportNextDraw needs to override
mStopped
Fixes: 28118961
Fixes: 27286867
Change-Id: I5c811759637d08ba9f3b342016d1b3006986d5a2
|
|
|
|
This reverts commit 945961f78a78eced823d5ba78505c781b079703d.
Change-Id: Iebc1d49fac33380233f8785fc39bec6c30a5e714
|
|
|
|
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
|
|
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
|
|
bug:22480459
Change-Id: I2e4c0bc6b904706132f3f5087ededc9cac9b40fb
|
|
Change-Id: I8f05e9046236d607016b6c2bb77a333cfb47ba47
|
|
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
|
|
isInUse per-window" into mnc-dev
* commit 'a2fd32348b06b22963fcc7c33179fddbd2394dbf':
Mark isInUse per-window
|
|
Bug: 22509159
Change-Id: I0ae0f1fa582ee38dcb9f24ca20f0b4d0c57ccb32
|
|
LOG_TAG and TRACE_TAG are already defined in the makefile
Change-Id: I9e53e3dacbe018441edd74cb7c8c90846defee74
|
|
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
|
|
bug:21595702
Settle on namespace-enum for consistency. Also removes k prefix.
Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
|
|
Bug: 20822400
Change-Id: I24345c3120440bfce14e8cbe7e880b39f10b744a
|
|
Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
|
|
Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
|
|
Is a bit naive, perhaps overly aggressive, but sorta works
Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
|
|
Adds remaining missing overrides and nullptr usages, missed due to
an extreme failure in tool usage.
Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
|
|
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
|
|
bug:16563871
bug:16565900
bug:16555847
bug:16551643
This reverts commit ca66e06b9db6e6c921662886e4b7ddd02ac92280.
Change-Id: I23e8d4eaf828b1b298126ba5f36e4e8e7451706a
|
|
Bug: 16408405
Change-Id: I4ba4836fd1451fb8ba77c34cdb843d3cb4217bb8
|
|
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
|
|
|
|
Bug: 15513308
Bug: 15449247
Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
|
|
BUG: 12179257
Change-Id: Ib7358dc84a0a58020d178d10b324b9631848c06d
|
|
Change-Id: Icb79a5015cb0362b1f3a66d09007450730135a97
|
|
* 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
|
|
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
|
|
Bug: 14596762
* dumpsys gfxinfo implemented
* profile GPU visual_bars implemented
Change-Id: Icb948a9d5af5989b5615504d0d76ade64b93ef5b
|
|
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
|
|
Change-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a
|
|
Bug: 14444180
Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
|
|
Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
|
|
Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
|
|
Bug: 13912749
Change-Id: Ic23fa1d280118dc93dc2716a4a24cc0bbbdca595
|