1853 Commits

Author SHA1 Message Date
John Reck
30839ce439 am ec9b598c: am b9a4d15d: Merge "Force-flush state sync on texid change" into lmp-mr1-dev automerge: b21a7ad
* commit 'ec9b598c7be65abb5ceb9d82e752c50f7e93deab':
  Force-flush state sync on texid change
2014-12-12 04:34:55 +00:00
Chris Craik
a1c3fdfbc7 am 3f454e7d: am 63c7b246: Merge "Correct layer size formatting in trace" into lmp-mr1-dev automerge: 00905a9
* commit '3f454e7d1cf7103e312f67f745f01f00fa49df13':
  Correct layer size formatting in trace
2014-12-12 04:30:44 +00:00
John Reck
ec9b598c7b am b9a4d15d: Merge "Force-flush state sync on texid change" into lmp-mr1-dev
automerge: b21a7ad

* commit 'b21a7ad02e43900ea5480e796cb1518bd5829e3f':
  Force-flush state sync on texid change
2014-12-12 04:27:14 +00:00
Chris Craik
3f454e7d1c am 63c7b246: Merge "Correct layer size formatting in trace" into lmp-mr1-dev
automerge: 00905a9

* commit '00905a984c07ffc9960ce83548631c59aae37ec6':
  Correct layer size formatting in trace
2014-12-12 04:25:43 +00:00
John Reck
b9a4d15d09 Merge "Force-flush state sync on texid change" into lmp-mr1-dev 2014-12-11 22:44:19 +00:00
Chris Craik
63c7b24645 Merge "Correct layer size formatting in trace" into lmp-mr1-dev 2014-12-11 22:43:18 +00:00
Chris Craik
c2379070a4 Correct layer size formatting in trace
bug:18722704
Change-Id: Icef9aaa62633b2d86ad250f43d4c8fa5cc0b6842
2014-12-11 14:29:51 -08:00
John Reck
9a7fe1a034 Force-flush state sync on texid change
Bug: 18718646

Caused because the Texture object thought the GLES texture
was in a different state than it was as it persists across
EGL/GL contexts. Fix this by force-flushing the default
values when the texid has changed.

Change-Id: I264bac9a2beb08df8e2ba8a85ad15f0dd1fce22a
2014-12-11 14:27:39 -08:00
Yohann Roussel
59cf734f9e resolved conflicts for merge of d67bb501 to master
Change-Id: I40698ce1e382cb41eec7af5ea49ac0e2f997d555
2014-12-11 11:10:50 +01:00
John Reck
d67bb5015f am eb2dcc79: Merge "Don\'t preload textures for AssetAtlas" into lmp-mr1-dev
automerge: e4a6ed9

* commit 'e4a6ed9d6d8721c9fad018b0d43dfe7daf4b24e7':
  Don't preload textures for AssetAtlas
2014-12-11 01:25:54 +00:00
John Reck
eb2dcc791e Merge "Don't preload textures for AssetAtlas" into lmp-mr1-dev 2014-12-11 01:12:31 +00:00
John Reck
ebd52610cf Don't preload textures for AssetAtlas
Bug: 18317479

RenderNode::prepareSubTree calls prefetchAndMarkInUse
on every bitmapResoruce in the DisplayList. However,
this resulted in textures being uploaded for bitmaps
that would be drawn from the AssetAtlas instead.

To fix this we teach TextureCache about the AssetAtlas
so that calls to TextureCache return the Texture from
AssetAtlas if it exists. Thus usage of AssetAtlas
is now purely to allow for further optimizations via
draw merging instead of a requirement to get
any benefit at all.

Change-Id: I65282fa05bac46f4e93822b3467ffa0261ccf200
2014-12-10 17:07:41 -08:00
Chris Craik
e2831a181f resolved conflicts for merge of 5369b769 to master
Change-Id: Iccb2ce948321534e05d67e64dc40a38332adb1a7
2014-12-10 17:05:43 -08:00
Chris Craik
5369b76963 resolve merge conflicts of ed211b9 to lmp-mr1-dev-plus-aosp.
Change-Id: Ib9d6d301282bbaae6b23b9ce07b9e6a4e9075991
2014-12-10 15:23:54 -08:00
Chris Craik
4ac36f80be Fix frame-allocated path lifecycles
bug:18667472

Previously, we were allocating per-frame temporary paths within the
PlaybackStateStruct, but these are not safe as layers allocate these
transiently. Instead, move these to the OpenGLRenderer, which has
better define lifecycle.

Additionally, don't store SkPath objects directly in vector, since
they are then subject to relocation.

Change-Id: I8187ef542fcd5b030502bb75eb123ee26c0daa96
2014-12-10 12:27:08 -08:00
Nick Kralevich
7668e78601 resolved conflicts for merge of 3bae94d7 to master
Change-Id: I381539b1494447d62290c492f2550840fe0b559c
2014-12-10 11:03:40 -08:00
Derek Sollenberger
8386aee175 am 1f78b336: am 497499b1: am 04c2bf4f: Merge "Remove unnecessary/erroneous reference counting" into lmp-mr1-dev
* commit '1f78b3364f0e39db912d898187bed0195d9319cd':
  Remove unnecessary/erroneous reference counting
2014-12-09 23:49:27 +00:00
John Reck
3bae94d78e resolved conflicts for merge of fe11126d to lmp-mr1-dev-plus-aosp
Change-Id: I60bf82ff71d9af0d80e7da8856efb4641c85885b
2014-12-09 15:38:38 -08:00
John Reck
4f1942d999 Merge "Teach AssetAtlas about more drawables" into lmp-mr1-dev 2014-12-09 23:12:42 +00:00
Derek Sollenberger
1f78b3364f am 497499b1: am 04c2bf4f: Merge "Remove unnecessary/erroneous reference counting" into lmp-mr1-dev
* commit '497499b1eb76726090ea46dcfc5b8ab0221cd447':
  Remove unnecessary/erroneous reference counting
2014-12-09 22:18:33 +00:00
John Reck
dad7d84c04 Teach AssetAtlas about more drawables
Bug: 18317479

Change-Id: I16868ee204d24af72af9a2efc987f7e9eb1d266b
2014-12-09 14:18:33 -08:00
Derek Sollenberger
ee648e517f Remove unnecessary/erroneous reference counting
The SkBitmap* used by HWUI holds a reference to the PixelRef (which
in turn holds the colorTable) so keeping an additional ref is not
only unnecessary, but also potentially problematic.

If a bitmap changes its pixelRef after it has been added to a displayList,
then we end up with unbalanced ref/unref calls that cause the newly added
PixelRef to be unref'd and prematurely deleted, while the original PixelRef
is leaked.

bug: 18659976
Change-Id: I34a06152e7bb2d733249a207dafd36b9b5dc0712
2014-12-09 18:36:42 +00:00
John Reck
9fb42f0778 resolved conflicts for merge of a75b0ad3 to master
Change-Id: I32a2d129c556407727ada909daa6470309d42499
2014-12-04 13:51:41 -08:00
John Reck
a75b0ad384 resolved conflicts for merge of a51a0901 to lmp-mr1-dev-plus-aosp
Change-Id: Id7df835f0bd3d5d276b162635ddfb7fe0918dfed
2014-12-04 13:41:04 -08:00
John Reck
01a5ea35fb Resume RT-animations after a pauseSurface
Bug: 18203577

The issue occurs as a result of performTraversals() both doing
a window relayout call *and* early-returning because it's not dirty.

To fix this pauseSurface() returns whether or not the RT-side is
"dirty" to force ViewRootImpl to do a draw even if mDirty is
otherwise empty.

Change-Id: I534f367e75d18d273ebf14df3927f5c464ef6bef
2014-12-03 13:03:59 -08:00
Chris Craik
e749bd2c72 am a22ab0da: am 9a04480e: am ef124887: Merge "Clip outline to View clip bounds for shadow computation" into lmp-mr1-dev
* commit 'a22ab0da6f72b2e52166cc6e11f4c6d44c0fb714':
  Clip outline to View clip bounds for shadow computation
2014-12-02 01:45:54 +00:00
Chris Craik
a22ab0da6f am 9a04480e: am ef124887: Merge "Clip outline to View clip bounds for shadow computation" into lmp-mr1-dev
* commit '9a04480e36c42eb63d1d727221ba3ce6a6d533ef':
  Clip outline to View clip bounds for shadow computation
2014-12-02 01:39:20 +00:00
Chris Craik
ef124887c6 Merge "Clip outline to View clip bounds for shadow computation" into lmp-mr1-dev 2014-12-02 01:27:26 +00:00
Chris Craik
faa79ff9d9 Clip outline to View clip bounds for shadow computation
bug:18509823

This allows animations of View clipBounds (and other callers of
setClipBounds) to affect shadows, instead of leaving them floating.

Change-Id: I249fa4b371a170cb0c54001f5b0e0097e109b8b8
2014-12-01 15:47:10 -08:00
John Reck
76de89820c Merge "Prevent calling GL functions with an invalid surface" into lmp-mr1-dev 2014-12-01 22:39:31 +00:00
John Reck
c5cf471758 am d7af6eaa: am d51205fd: am 6afc5cf3: Merge "Prevent calling GL functions with an invalid surface"
* commit 'd7af6eaace4ffdd3635a1cdeff65e9dc1af39f67':
  Prevent calling GL functions with an invalid surface
2014-12-01 21:47:03 +00:00
John Reck
d7af6eaace am d51205fd: am 6afc5cf3: Merge "Prevent calling GL functions with an invalid surface"
* commit 'd51205fda7351ca32e54ef34b32e72f6c7c79847':
  Prevent calling GL functions with an invalid surface
2014-12-01 21:40:32 +00:00
Sangkyu Lee
a12b2405df Prevent calling GL functions with an invalid surface
Bug: 18518580

When destroying CanvasContext, the surface can be invalid
state. So the surface should be updated to null prior to
destroying GL resources to ensure that GL functions
are not called with an invalid surface.
Some GL implementation makes an error if GL functions
are called with an invalid surface. (Adreno 3xx)

Cherry picked from AOSP: f76d36f96bf221672e98e440c9df7cbf0e02e84e

Change-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294
2014-12-01 21:38:34 +00:00
John Reck
6afc5cf3d9 Merge "Prevent calling GL functions with an invalid surface" 2014-12-01 21:28:27 +00:00
Chris Craik
659de832b9 Merge "Enable stencil clipping within clearLayerRegions" into lmp-mr1-dev 2014-12-01 20:08:29 +00:00
Chris Craik
62bdf2c863 am e986817a: am 6eac26a4: am ca84c8b1: Merge "Revert "Force-use the pbuffer surface for destroy"" into lmp-mr1-dev
* commit 'e986817a2dc8a412c12e456319965a67ac60f236':
  Revert "Force-use the pbuffer surface for destroy"
2014-11-26 21:08:00 +00:00
Chris Craik
e986817a2d am 6eac26a4: am ca84c8b1: Merge "Revert "Force-use the pbuffer surface for destroy"" into lmp-mr1-dev
* commit '6eac26a49957eda233ad22ad75da43379f220bbc':
  Revert "Force-use the pbuffer surface for destroy"
2014-11-26 21:02:24 +00:00
Chris Craik
ca84c8b1b0 Merge "Revert "Force-use the pbuffer surface for destroy"" into lmp-mr1-dev 2014-11-26 20:50:10 +00:00
Chris Craik
9f81485a76 Revert "Force-use the pbuffer surface for destroy"
bug:18528859

This reverts commit b945f2313aee6e49a082ba5caaf95334d2570d52.

Change-Id: I6915624d356cb8570471eb3a5b8921f59b58db6d
2014-11-26 18:59:58 +00:00
Dohyun Lee
52b2cf9fdf Enable stencil clipping within clearLayerRegions
bug:18538502

Cherry-pick of adc0d9da8648abfea1035fb1108eceea9fd9b5b1 from AOSP

Previously stencil clipping within clearLayerRegions is disabled by commit
62d307c2402777d5e53b4590af5f32f8c55afd81. However, clearing whole layer
regions causes black-colored triangle regions when a TextView has
RotateAnimation because the draw within clearLayerRegions does not
affected by the current stencil clip.

Change-Id: Id32a0b16754b109905f833e063ebfa156bd953f2
Signed-off-by: Dohyun Lee <dohyun.lee@lge.com>
2014-11-26 10:51:32 -08:00
John Reck
e39f788950 am 0d4ab958: am 4e3404d9: am dec3f138: Merge "Force-use the pbuffer surface for destroy" into lmp-mr1-dev
* commit '0d4ab958c11801f5453e999f930416c87c63d100':
  Force-use the pbuffer surface for destroy
2014-11-26 12:09:42 +00:00
Chris Craik
3c96a2b8fe am 1fb141f8: am 9c5b7b09: am ee660651: Merge "Improve DisplayList state output" into lmp-mr1-dev
* commit '1fb141f83bad3884e2199c7acdc23932afaefe0c':
  Improve DisplayList state output
2014-11-26 12:09:28 +00:00
John Reck
0d4ab958c1 am 4e3404d9: am dec3f138: Merge "Force-use the pbuffer surface for destroy" into lmp-mr1-dev
* commit '4e3404d90fe33a0ff790aff4a97b6bb55e4c0e8f':
  Force-use the pbuffer surface for destroy
2014-11-26 12:02:19 +00:00
Chris Craik
1fb141f83b am 9c5b7b09: am ee660651: Merge "Improve DisplayList state output" into lmp-mr1-dev
* commit '9c5b7b094254cad0a8a90ece5ea650c49694087d':
  Improve DisplayList state output
2014-11-26 12:01:46 +00:00
Sangkyu Lee
f76d36f96b Prevent calling GL functions with an invalid surface
When destroying CanvasContext, the surface can be invalid
state. So the surface should be updated to null prior to
destroying GL resources to ensure that GL functions
are not called with an invalid surface.
Some GL implementation makes an error if GL functions
are called with an invalid surface. (Adreno 3xx)

Change-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294
2014-11-26 09:59:39 +09:00
Chris Craik
47414be761 am ab1a53c5: am bf62d307: am af5bd75b: Merge "Enable stencil clipping within clearLayerRegions"
* commit 'ab1a53c509edbc8bacd944233335587dffd95999':
  Enable stencil clipping within clearLayerRegions
2014-11-26 00:14:29 +00:00
Chris Craik
ab1a53c509 am bf62d307: am af5bd75b: Merge "Enable stencil clipping within clearLayerRegions"
* commit 'bf62d3070c1653b79f4edcc0729b6a1a833d3ca1':
  Enable stencil clipping within clearLayerRegions
2014-11-26 00:08:05 +00:00
John Reck
dec3f138c2 Merge "Force-use the pbuffer surface for destroy" into lmp-mr1-dev 2014-11-25 19:52:53 +00:00
John Reck
fb7ff703e0 am 5ab86ba0: am 89a63f02: am 0c31d97a: Merge "Switch TextureCache to SkPixelRef::fStableId" into lmp-mr1-dev
* commit '5ab86ba05decf12e8ee3f693aab6b265905049c6':
  Switch TextureCache to SkPixelRef::fStableId
2014-11-25 18:51:29 +00:00
John Reck
5ab86ba05d am 89a63f02: am 0c31d97a: Merge "Switch TextureCache to SkPixelRef::fStableId" into lmp-mr1-dev
* commit '89a63f02f5d0814435e72b515b792bc6737014dc':
  Switch TextureCache to SkPixelRef::fStableId
2014-11-25 18:45:48 +00:00