7584 Commits

Author SHA1 Message Date
Raph Levien
c147dbbca4 Merge "Avoid copying of font table data, provide raw font bytes" into nyc-dev 2016-04-08 16:32:14 +00:00
Raph Levien
296bf8c55a Avoid copying of font table data, provide raw font bytes
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
2016-04-08 08:29:32 -07:00
John Reck
620a86e464 Merge "Make stopped state a first-class thing" into nyc-dev
am: c724dcf

* commit 'c724dcf23c5e2ebd22c042a8a6f2424b7e9d5029':
  Make stopped state a first-class thing

Change-Id: Idfa3cc5d8fa5b07c742c2700b38441ff7d692f42
2016-04-08 15:17:03 +00:00
John Reck
944e6b51b1 Merge "Fix a derp" into nyc-dev
am: 4a73544

* commit '4a735441e82207e18036be09d0d02c855930938f':
  Fix a derp

Change-Id: I1975a6ed121ad0ddfc12784c45092c8af3823bdf
2016-04-08 15:17:01 +00:00
John Reck
c724dcf23c Merge "Make stopped state a first-class thing" into nyc-dev 2016-04-08 15:09:42 +00:00
John Reck
4a735441e8 Merge "Fix a derp" into nyc-dev 2016-04-08 15:09:26 +00:00
Michael Wright
63c168acf7 Add choreographer API to the NDK.
Change-Id: Icb8cffd3cd3bd06814466be72db3e26f6a62cbc6
2016-04-08 16:55:02 +02:00
John Reck
a41f244515 Fix a derp
Fixes: 28074465

I knew I added that flag for a reason...

Change-Id: I6e28237dcd50191769a828bf2646c3a00c14387c
2016-04-07 16:36:57 -07:00
Chris Craik
6e5c652347 Merge "Support replace op in new pipeline" into nyc-dev
am: d306065

* commit 'd30606575783acd8689cfac604cba51e537b6b77':
  Support replace op in new pipeline

Change-Id: Iab37f13a5fca72b2e581a897f7e03c17f9ce0b84
2016-04-07 23:30:19 +00:00
Chris Craik
d306065757 Merge "Support replace op in new pipeline" into nyc-dev 2016-04-07 23:21:02 +00:00
John Reck
c01a9b6a9b Merge "Fix some edge cases" into nyc-dev
am: 4a62eff

* commit '4a62effbfe8ad9a0eb7049c2f52a57d39bb64e29':
  Fix some edge cases

Change-Id: I35a99c3164bf3bf91f609ce8bec01d15ca8b7c0d
2016-04-07 23:12:14 +00:00
John Reck
945961f78a 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
2016-04-07 16:02:33 -07:00
Chris Craik
04d46eb69f Support replace op in new pipeline
bug:26562461

Change-Id: Ie48d2da30f5e9d9abe88a5cd973dfb26e38abf63
2016-04-07 15:02:39 -07:00
John Reck
51f2d606dc 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
2016-04-07 14:10:43 -07:00
Chris Craik
4d5c3769c0 Fix OffscreenBuffer leak
am: 74af6e2

* commit '74af6e282f8a8f75928a071e8200039517cf5c12':
  Fix OffscreenBuffer leak

Change-Id: I24c16488d73588efe15e64ab711f8d3bc7a580b7
2016-04-05 20:50:03 +00:00
Chris Craik
74af6e282f Fix OffscreenBuffer leak
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
2016-04-05 20:42:37 +00:00
sergeyv
f7f984425d Merge "Fix opacity setup in FrameBuilder" into nyc-dev
am: 5169c62

* commit '5169c62c6c0acbf9d5a36a90233e7ba2e9532e58':
  Fix opacity setup in FrameBuilder

Change-Id: Ic887d694e745d365b8e0cfe335814e0ecd8e682f
2016-04-05 01:59:30 +00:00
Sergei Vasilinetc
5169c62c6c Merge "Fix opacity setup in FrameBuilder" into nyc-dev 2016-04-05 01:54:47 +00:00
sergeyv
a82ffc549b Fix opacity setup in FrameBuilder
bug:27941278
Change-Id: Ib0599f669406d2fb477d51d5ba701a89f83f9bd9
2016-04-04 17:25:35 -07:00
Chris Craik
517dad11db Merge "Fix how outlines are sent to rendernode" into nyc-dev
am: a7f775d

* commit 'a7f775db93235ab25636ab2350ccf6df2729c030':
  Fix how outlines are sent to rendernode

Change-Id: I5ffd4fbd553c3b81aca4290b8c03a9837ac7f31b
2016-04-04 22:14:25 +00:00
Chris Craik
a7f775db93 Merge "Fix how outlines are sent to rendernode" into nyc-dev 2016-04-04 22:08:32 +00:00
Doris Liu
8dcc23f70d Merge "Make AVD thread safe" into nyc-dev
am: d928908

* commit 'd9289085be9487ac568b08048047c078b1302eb3':
  Make AVD thread safe

Change-Id: I2a9a288b0b28935870563f4b2660c3588049e735
2016-04-04 21:59:16 +00:00
Doris Liu
1d8e194661 Make AVD thread safe
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
2016-04-04 14:40:17 -07:00
Chris Craik
136d1af1cc Fix how outlines are sent to rendernode
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
2016-04-04 13:40:39 -07:00
John Reck
3c77e5aa9d Merge "Add a callback for rendernode parentcount=0" into nyc-dev
am: bbb4c2e

* commit 'bbb4c2eb2e871977289a9c48f414962e46b56ddc':
  Add a callback for rendernode parentcount=0

Change-Id: I8168b028ce61413da8ecea76e6531c5dde9ddb46
2016-03-31 18:31:30 +00:00
John Reck
bbb4c2eb2e Merge "Add a callback for rendernode parentcount=0" into nyc-dev 2016-03-31 18:24:49 +00:00
Chris Craik
4f6bb3e012 Merge "Fix layer damage and clipping for Text shadows" into nyc-dev
am: 08f41df

* commit '08f41dfb8c43e8d34d8723ef22fe96b580af4d56':
  Fix layer damage and clipping for Text shadows

Change-Id: I17147a76c8f02dd2933cc8ac5664d889ba7d0c26
2016-03-31 17:49:15 +00:00
John Reck
6fa7b4616e Merge "Expand JankTracker" into nyc-dev
am: c48dd5d

* commit 'c48dd5d81e2fadf33314f0e738fd9fc406c6c533':
  Expand JankTracker

Change-Id: I2c3c5a8e5a8d279f1457be6050674d5208135727
2016-03-31 17:49:00 +00:00
Chris Craik
08f41dfb8c Merge "Fix layer damage and clipping for Text shadows" into nyc-dev 2016-03-31 17:08:04 +00:00
John Reck
660108075e Expand JankTracker
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
2016-03-31 08:40:23 -07:00
John Reck
44b49f070a Add a callback for rendernode parentcount=0
Bug: 27709981
Fixes: 22565656

Change-Id: I1cb4461baf9069dc4e7ca6de10d5862578c107f4
2016-03-31 08:36:50 -07:00
Chris Craik
70969ccde4 Fix layer damage and clipping for Text shadows
Fixes: 27787426

Change-Id: I4c65cca0cfcd343a9cfbaedd3a32b83f90df2ecf
2016-03-30 18:09:18 -07:00
Adam Lesinski
617608769d Merge "AAPT2: Suppress warnings from libandroidfw when built for host" into nyc-dev
am: 30cadc2

* commit '30cadc25293b82c6f142ead81ef10563ed52bf99':
  AAPT2: Suppress warnings from libandroidfw when built for host

Change-Id: I53cdedcfb71db41226d6bb07c3e2a8cca70b8320
2016-03-30 23:39:02 +00:00
Adam Lesinski
1d7172e598 AAPT2: Suppress warnings from libandroidfw when built for host
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
2016-03-30 16:22:33 -07:00
John Reck
b96c35d51d Merge "Add an option to try and filter out test overhead" into nyc-dev
am: 7fa1115

* commit '7fa1115aaf07103c2480b61578bc62ff9cfd53a6':
  Add an option to try and filter out test overhead

Change-Id: I9acf8dffe4f874e846a445fecf01b05a6636e6b6
2016-03-30 20:11:31 +00:00
John Reck
7fa1115aaf Merge "Add an option to try and filter out test overhead" into nyc-dev 2016-03-30 20:07:03 +00:00
John Reck
c7cd9cf25d Add an option to try and filter out test overhead
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
2016-03-30 10:08:13 -07:00
Chris Craik
a8321fb6a2 Merge "Support buildLayer in new pipeline" into nyc-dev
am: 0b88079

* commit '0b880795c12954f1b7818c78d6416d47f1df08dc':
  Support buildLayer in new pipeline

Change-Id: If4a178c5b757b17d652c0e5103d9db826e1ef7bd
2016-03-30 16:52:31 +00:00
Chris Craik
6246d27813 Support buildLayer in new pipeline
bug:26561995
bug:27620686

Change-Id: I6c39f9a077e7e6002d3c01b8888238fd17b0f02a
2016-03-29 16:50:32 -07:00
Chris Craik
f42e9b1b1e Merge "Overdraw avoidance in new pipeline" into nyc-dev
am: 80a67f3

* commit '80a67f363f6ae941c28572ea8420c14c2ce6ef79':
  Overdraw avoidance in new pipeline

Change-Id: I139d5172d2913ecce6f8ab91d5f5b5f34988039a
2016-03-29 21:49:21 +00:00
Chris Craik
80a67f363f Merge "Overdraw avoidance in new pipeline" into nyc-dev 2016-03-29 21:41:52 +00:00
Chris Craik
80d2ade939 Overdraw avoidance in new pipeline
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
2016-03-29 13:30:15 -07:00
John Reck
a4d8ea14bf Merge "Add a font microbench" into nyc-dev
am: a5c4545

* commit 'a5c45459d3f114f125da3357c36b5a3f659d2229':
  Add a font microbench

Change-Id: Ib992cc06dcc7063283bee9840ec1b290f378adf5
2016-03-29 20:16:04 +00:00
John Reck
a5c45459d3 Merge "Add a font microbench" into nyc-dev 2016-03-29 20:07:56 +00:00
John Reck
0775a95c39 Merge "Fix array out of bounds access in JankTracker" into nyc-dev
am: f01e4af

* commit 'f01e4af5a3af7ceb7d022660953d3ed6ab2e193c':
  Fix array out of bounds access in JankTracker

Change-Id: I7a999da1b8cafe96b5739f1361be7428ffc26b80
2016-03-29 18:37:46 +00:00
John Reck
f01e4af5a3 Merge "Fix array out of bounds access in JankTracker" into nyc-dev 2016-03-29 18:08:51 +00:00
John Reck
2c0f93798b Add a font microbench
Also remove a low-signal high-frequency trace mark

Fixes: 27894187

Change-Id: I090122a0db8e455eaa9dbce2b0f5b6778a218188
2016-03-29 09:55:13 -07:00
Dan Austin
62c01e3740 Merge "Address const issues in preparation for libcxx rebase." am: 64ade5d
am: 170c93f

* commit '170c93f57fba11aade98caaffefb8d65dc7c864e':
  Address const issues in preparation for libcxx rebase.
2016-03-28 21:52:55 +00:00
Derek Sollenberger
64efee70a4 Fix broken test.
am: 58691b6

* commit '58691b6fe7631ab55e05775fa6e190dbdb4c3c69':
  Fix broken test.
2016-03-28 21:06:01 +00:00
Chris Craik
2841963e51 Merge "Consume TextureView matrix safely" into nyc-dev
am: 3839ab1

* commit '3839ab1e3eabbceeccfc0be25fbd15512138fab7':
  Consume TextureView matrix safely
2016-03-28 21:04:31 +00:00