Fixes: 27941148
Make OffscreenBuffer lifecycle an explicit (and tested) contract between
FrameBuilder and BakedOpRenderer, entirely separate from dispatch. This
makes it safe to reject any rendering work via overdraw content
rejection (before it gets to a BakedOpDispatcher).
Adds a couple tests around OffscreenBuffer leaks, and switches
OffscreenBuffer tests to RENDERTHREAD_TEST macro, as appropriate.
Change-Id: Id114b835d042708ae921028fb4b17e5fa485fe64
This CL introduces staging properties to VectorDrawable, which holds
properties coming from UI thread. When staging properties are changed,
they are marked dirty, and the staging properties then get pushed to
RenderThread at sync point. In cases where no staging property has
been changed, at sync point we sync the render thread properties back
to staging properties to reflect the latest render thread animation
value change.
Also, update Vector Drawable bitmap only when it's dirty
Bug: 27343970
Bug: 27385912
Bug: 27263667
Bug: 27927674
Bug: 27774383
Change-Id: Ia864f5400a53a08dbfb284fae581fb1aac4fff87
bug:27918183
Fixes an issue where all convex outlines were pushed as empty rects to
RenderNode.
Also adds outline/reveal clip property logging, so such issues are
easier to debug in the future.
Change-Id: Ic4a996ecd09a8ef84cdf8b963bdb4853c7f6d180
Bug: 27922347
* Dump the full histogram
* Expand the histogram to have a slow-frame section with
large 50ms buckets to raise the cap to 5s to give more
insight into system-health
* Stop excluding first-frame metrics as we want to include
those in our global tracking. Automated tests already filter
these out by doing resets before running anyway.
Change-Id: Idaba8aad591f59d10a6477b11efc0767ff715083
Bug: 26912651
By setting debug.hwui.filter_test_overhead to true, hwui's
janktracker will attempt to filter out overhead caused
by the event injection that automated testing uses
Change-Id: I75c8dc5e7798e06e3009baf396108507c7240eec
bug:27873093
Adds the simple overdraw avoidance optimization to the new
pipeline. This means when LayerBuilder defers draws that are opaque over
the full area of the repaint region, it will discard all drawing content
beneth.
Also moves a lot of complexity out of BakedOpState's header.
Change-Id: Iffca6d8e1b170ef31a5d6c83d25592670e02323d
Fixes: 27825042
TextureView's matrix may not be set at record time - delay using it
until on RenderThread, when deferring the op.
Change-Id: Icf8b55d656e304ec049ca803b042dc2359482db2
Fixes: 27873879
If frametime > max janktracker would accidentally
double-increment totalFrameCount due to overflowing
the end of frameCounts
Change-Id: Iebfd1349b7014ade807f42d9c196139274a96684
bug:27810783
Previous drawColor->drawPaint conversion failed to preserve unbounded
nature of drawColor from old pipeline.
Change-Id: Ifd7a7b9d645f0887e252e48ca95d3195ee31615f
This update is a precondition for landing additional tests
that depend on the minkin layout implementation.
bug: 27675371
Change-Id: I9bb98bae6b39462246e42cf8acb968b7df05292d
Fixes: 27795291
Track the 10 slowest frames over the last 24 hours
to try and give approximate insight into total system health.
Change-Id: I8aa646cef0bea185d46b3c78478266bc01d17fd7
bug:26591194
Also, revert to using current clip bounds as drawColor/drawPaint bounds
for simplicity in new pipeline.
Change-Id: I1a6b3f9716b564b46df41d57dfe14475fdd24de0