2822 Commits

Author SHA1 Message Date
John Reck
2f78327cfc PixelCopy fixes
Bug: 27708453

Fixes some issues with camera sources. Previously
it was using GL_TEXTURE_2D target which doesn't
work properly if the source is YUV. It is critical
to ensure GL_TEXTURE_EXTERNAL_OES is used throughout
so the right sampler is used.

Change-Id: I0dcd8941ba08331f24809467b0e828663a38e93b
2016-04-22 16:31:17 -07:00
John Reck
9110429f0d Merge "Don't reuse LOST_SURFACE for stopped" into nyc-dev 2016-04-19 14:45:16 +00:00
John Reck
8cddce3f8f Merge "Make getFrameNumber lazy" into nyc-dev 2016-04-18 23:20:39 +00:00
John Reck
28912a5084 Make getFrameNumber lazy
Change-Id: I783de544ad9a3636ea90f1c8c4034738997bfbc8
Fixes: 28246085
2016-04-18 14:34:18 -07:00
Chris Craik
c79c3246c9 Merge "Improve multi-window render clipping logic" into nyc-dev 2016-04-18 19:40:50 +00:00
John Reck
9a17da8125 Don't reuse LOST_SURFACE for stopped
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
2016-04-18 11:29:35 -07:00
Chris Craik
9cd1bbe5c9 Improve multi-window render clipping logic
Fixes: 28125010

Restructures 'scene defer', to implement window backdrop overdraw
avoidance in new render pipeline, and disable clipping to content draw
bounds.

Also restructures FrameBuilder's constructors, to separate out into
multiple defer methods.

Change-Id: I53facb904c1a4a4acc493d8a489921a79a50494e
2016-04-18 10:39:02 -07:00
John Reck
f91cbc7fd2 Merge "Switch JankTracker to FrameInfo::duration()" into nyc-dev 2016-04-15 23:47:01 +00:00
John Reck
126720aa65 Switch JankTracker to FrameInfo::duration()
Fixes: 27533462

FrameInfo::duration() will remove time spent waiting
in the queue from the duration. This is desired because
that time is otherwise accounted for by the previous frame,
so we don't want to double count it.

This shows up mostly in TestSceneRunner & shadowgrid2
due to a combination of slow frame times and continous rendering.

Change-Id: I27c42d5c24d266de4ada8ea00ec9164d518754f8
2016-04-15 15:19:50 -07:00
John Reck
b8563f1ae4 Merge "Turn off HWUI_ENABLE_OPENGL_VALIDATION" into nyc-dev 2016-04-15 20:12:29 +00:00
John Reck
85cfc8c368 Merge "Add a callback for when a gl functor is released" into nyc-dev 2016-04-15 19:26:16 +00:00
John Reck
756619da20 Turn off HWUI_ENABLE_OPENGL_VALIDATION
Fixes: 28212865

Disable glGetError() checking after every gl call

Change-Id: I849934172a56150122a8d0114b0307515d988fe7
2016-04-15 11:31:09 -07:00
John Reck
cd1c3eba69 Add a callback for when a gl functor is released
Bug: 27709981

Change-Id: Id5be3e8f88d6d84a9c59c7ed23e7e8862feefbe8
2016-04-15 10:56:53 -07:00
Doris Liu
da62de4f65 Merge "Fix ref count of fillGradient and strokeGradient" into nyc-dev 2016-04-15 17:47:25 +00:00
Doris Liu
ad21fe2762 Fix ref count of fillGradient and strokeGradient
Bug: 28086621
Change-Id: Ibb52bdfb20904f0ad102878fbb33d3679bb5132d
2016-04-14 18:33:27 -07:00
John Reck
d6a25c2b3e Merge "Revert "Revert "Make stopped state a first-class thing""" into nyc-dev 2016-04-14 17:40:52 +00:00
John Reck
8afcc76920 Revert "Revert "Make stopped state a first-class thing""
This reverts commit eab3f2658aa41d37c3b05d49a2ce4e3f4ed85399.

Fixes first-frame issue, mReportNextDraw needs to override
mStopped

Fixes: 28118961
Fixes: 27286867

Change-Id: I5c811759637d08ba9f3b342016d1b3006986d5a2
2016-04-14 10:39:03 -07:00
Chris Craik
5ce4e2e78f Merge "Avoid reentrance on ClipArea APIs" into nyc-dev 2016-04-14 17:12:20 +00:00
Chris Craik
bf27b995ae Avoid reentrance on ClipArea APIs
bug:28144676

Calling ClipArea::clipRegion from within ClipArea::clipPathWithTransform
has us handling op-based special casing twice, which caused all clip
paths to appear to be replace ops.

Change-Id: Ib842db53ffed4eee29470f773d59a3a1d07a1a0e
2016-04-13 15:59:32 -07:00
Doris Liu
a184abe4b0 Merge "Allow leading spaces in path string (to keep behavior consistent)" into nyc-dev 2016-04-13 17:26:54 +00:00
Doris Liu
70eff906ad Merge "rm log spam" into nyc-dev 2016-04-13 17:22:57 +00:00
Doris Liu
351303531f Merge "Fix translationY not being set correctly for VD during animation" into nyc-dev 2016-04-13 17:22:19 +00:00
Doris Liu
952670d9cf rm log spam
Bug: 27385133
Change-Id: Ia97fbba61da691e2fde91ed1a857e0478046f8c0
2016-04-12 17:43:00 -07:00
Doris Liu
32d7cda0b8 Fix translationY not being set correctly for VD during animation
Bug: 28056917
Change-Id: Ic5b7d14ac3dff8cad1c62f08b6d3389f979a2b00
2016-04-12 17:32:21 -07:00
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
8f55d00c2a Fix reset() to zero slowFrameCounts
Change-Id: I9f7f7280bcd28c361e5665de39a4bd7c594ab521
Fixes: 26386641
2016-04-12 13:10:19 -07: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