Minikin is changing its approach to table access to use HarfBuzz to
access the tables, based on raw font data, rather than calling the
MinikinFont::GetTable() virtual method. This patch provides raw access
to the font data to make this work.
There's a bit of plumbing to make sure fonts get a pointer to the raw
data as well.
Bug: 27860101
Change-Id: I638e18cf363644bf22fbc9fb9b3358a9e731087f
am: c724dcf
* commit 'c724dcf23c5e2ebd22c042a8a6f2424b7e9d5029':
Make stopped state a first-class thing
Change-Id: Idfa3cc5d8fa5b07c742c2700b38441ff7d692f42
am: d306065
* commit 'd30606575783acd8689cfac604cba51e537b6b77':
Support replace op in new pipeline
Change-Id: Iab37f13a5fca72b2e581a897f7e03c17f9ce0b84
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
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
am: a7f775d
* commit 'a7f775db93235ab25636ab2350ccf6df2729c030':
Fix how outlines are sent to rendernode
Change-Id: I5ffd4fbd553c3b81aca4290b8c03a9837ac7f31b
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
am: 08f41df
* commit '08f41dfb8c43e8d34d8723ef22fe96b580af4d56':
Fix layer damage and clipping for Text shadows
Change-Id: I17147a76c8f02dd2933cc8ac5664d889ba7d0c26
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
am: 30cadc2
* commit '30cadc25293b82c6f142ead81ef10563ed52bf99':
AAPT2: Suppress warnings from libandroidfw when built for host
Change-Id: I53cdedcfb71db41226d6bb07c3e2a8cca70b8320
Certain error cases are expected (like not finding a package) when
using libandroidfw on the host side for AAPT2. Suppress those warnings
and let AAPT2 handle error cases.
Change-Id: I3de97128686c03c89c5b99559bf46d4f2f1dfe4d
am: 7fa1115
* commit '7fa1115aaf07103c2480b61578bc62ff9cfd53a6':
Add an option to try and filter out test overhead
Change-Id: I9acf8dffe4f874e846a445fecf01b05a6636e6b6
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
am: 0b88079
* commit '0b880795c12954f1b7818c78d6416d47f1df08dc':
Support buildLayer in new pipeline
Change-Id: If4a178c5b757b17d652c0e5103d9db826e1ef7bd
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
am: f01e4af
* commit 'f01e4af5a3af7ceb7d022660953d3ed6ab2e193c':
Fix array out of bounds access in JankTracker
Change-Id: I7a999da1b8cafe96b5739f1361be7428ffc26b80