7383 Commits

Author SHA1 Message Date
Doris Liu
b35da39060 Allow leading spaces in path string (to keep behavior consistent)
Bug: 28132454
Change-Id: Iee799c13a85738db3d6940aca0fe917f284fa651
2016-04-12 21:38:07 +00:00
John Reck
d2eec0efb2 Merge "Framework-side of SurfaceView#getBitmap" into nyc-dev 2016-04-12 14:36:11 +00:00
John Reck
10dd0585c1 Framework-side of SurfaceView#getBitmap
Bug: 27708453

Change-Id: Ie6fd7eca522d3e6549d8af587c975fd7e6053649
2016-04-11 16:00:22 -07:00
Sergei Vasilinetc
e41437167b Merge "Stop comparing Descriptions with memcmp" into nyc-dev 2016-04-11 22:58:57 +00:00
Chris Craik
b38cb04952 Merge "Apply clip at reorder barriers to shadows" into nyc-dev 2016-04-11 21:17:39 +00:00
John Reck
825fa4d5ae Merge "Revert "Make stopped state a first-class thing"" into nyc-dev 2016-04-11 20:54:36 +00:00
John Reck
eab3f2658a Revert "Make stopped state a first-class thing"
This reverts commit 945961f78a78eced823d5ba78505c781b079703d.

Change-Id: Iebc1d49fac33380233f8785fc39bec6c30a5e714
2016-04-11 20:49:28 +00:00
sergeyv
7224e2b624 Stop comparing Descriptions with memcmp
bug:27894959
Change-Id: I379c11381c08f6f77577a914638b32415768f26e
2016-04-11 13:09:00 -07:00
Chris Craik
d645640180 Apply clip at reorder barriers to shadows
Fixes: 28004930

Change-Id: I208b78430c770a3135afd68c53cf8ff3fba50c52
2016-04-11 12:32:41 -07:00
Seigo Nonaka
b93872ad64 Follow the constructor signature change in Minikin.
Bug: 28105730
Change-Id: I933521ba08e89c0538b5aa9efa5dcc5e2a17b905
2016-04-11 18:12:27 +09:00
Doris Liu
0e89f98044 Merge "Improve error logging for parsing failures" into nyc-dev 2016-04-08 18:02:51 +00:00
Doris Liu
0a1a5167be Improve error logging for parsing failures
Bug: 27043594
Change-Id: I901b65f734c49444a78e0714e007e15e2340ab9d
2016-04-08 18:01:54 +00:00
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
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
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
d306065757 Merge "Support replace op in new pipeline" into nyc-dev 2016-04-07 23:21:02 +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
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
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
a7f775db93 Merge "Fix how outlines are sent to rendernode" into nyc-dev 2016-04-04 22:08:32 +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
bbb4c2eb2e Merge "Add a callback for rendernode parentcount=0" into nyc-dev 2016-03-31 18:24:49 +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
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
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
6246d27813 Support buildLayer in new pipeline
bug:26561995
bug:27620686

Change-Id: I6c39f9a077e7e6002d3c01b8888238fd17b0f02a
2016-03-29 16:50:32 -07: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
a5c45459d3 Merge "Add a font microbench" into nyc-dev 2016-03-29 20:07:56 +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
Derek Sollenberger
58691b6fe7 Fix broken test.
bug: 27877439
Change-Id: I43b009f3c9ebe8011a241d0740136e6cff2e1ff7
2016-03-28 16:17:36 -04:00
Chris Craik
3839ab1e3e Merge "Consume TextureView matrix safely" into nyc-dev 2016-03-28 18:30:22 +00:00
Chris Craik
aab289b8c2 Merge "Add a couple more tests around bitmap uploads" into nyc-dev 2016-03-28 17:47:52 +00:00
Chris Craik
aafb01d8ad Consume TextureView matrix safely
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
2016-03-28 10:12:37 -07:00
John Reck
d6e3cf4ab5 Fix array out of bounds access in JankTracker
Fixes: 27873879

If frametime > max janktracker would accidentally
double-increment totalFrameCount due to overflowing
the end of frameCounts

Change-Id: Iebfd1349b7014ade807f42d9c196139274a96684
2016-03-28 09:37:20 -07:00
Derek Sollenberger
b64da4cac4 Merge "Compute text bounds on a per glyph basis when drawing from an SkPicture." into nyc-dev 2016-03-28 14:31:17 +00:00
Chris Craik
349c866e39 Merge "Create first class unbounded ColorOp" into nyc-dev 2016-03-26 00:26:12 +00:00
Chris Craik
243e85b2e4 Fix TextureLayer test
Fixes: 27823158

Change-Id: Ifed0d6119349662a23899935bfe5f3bacb361617
2016-03-25 15:36:43 -07:00
Chris Craik
a204848b1d Create first class unbounded ColorOp
bug:27810783

Previous drawColor->drawPaint conversion failed to preserve unbounded
nature of drawColor from old pipeline.

Change-Id: Ifd7a7b9d645f0887e252e48ca95d3195ee31615f
2016-03-25 15:13:23 -07:00