5650 Commits

Author SHA1 Message Date
Chris Craik
972d0488a5 Merge "When recording a child node into a parent, read staging projection property" 2014-04-09 18:10:28 +00:00
John Reck
f7d9c1dc84 Fix ThreadedRenderer.setEnabled()
Bug: 13914116
 Fixes lifecycle issues around setEnabled where ThreadedRenderer
 was reporting as being enabled before it had a Surface. This is
 incorrect.

 Also fix some EGL lifecycle issues

Change-Id: I12ebb279707f9b533a570b61d68735d858b560bf
2014-04-09 11:01:29 -07:00
Chris Craik
defb7f37fe When recording a child node into a parent, read staging projection property
bug:13770920

The other properties should not be read from the UI thread.

Change-Id: I61d13774553d46a8963623727d8e8eeeb3385cc9
2014-04-08 18:17:07 -07:00
John Reck
1949e7928e Ensure there's a GL context before creating a Layer
Bug: 13745587

Change-Id: Ib0ec059d9a5974a48734daeec9d83580cada94a3
2014-04-08 15:18:56 -07:00
John Reck
e2c4552643 Veto pool TODO
Change-Id: I50067dba630b75aa539e4406cfc15f66949684b3
2014-04-07 17:38:47 -07:00
John Reck
85189c5daf Merge "Fence on draws that are reported" 2014-04-08 00:32:15 +00:00
John Reck
28ad7b52e0 Fence on draws that are reported
Change-Id: Ib2ec16cbda40f40df1710bdc868869ea8301f17e
2014-04-07 16:59:25 -07:00
John Reck
96c637e941 Merge "Refcount RenderNode" 2014-04-07 22:42:21 +00:00
John Reck
087bc0c14b Refcount RenderNode
Change-Id: I7a86db8acc2b78ef33d987a43a119f5933d7d752
2014-04-07 14:53:08 -07:00
Leon Scroggins
7716b7d8ef Merge "Update to call new Skia APIs." 2014-04-04 20:31:00 +00:00
John Spurlock
0a0454fdcc am 642421aa: am 5c31e487: Merge "Introduce new UI_MODE_TYPE_WATCH and qualifier." into klp-modular-dev
* commit '642421aa7f284817cc1a972a7f9c7a64696a0116':
  Introduce new UI_MODE_TYPE_WATCH and qualifier.
2014-04-04 19:34:11 +00:00
John Spurlock
642421aa7f am 5c31e487: Merge "Introduce new UI_MODE_TYPE_WATCH and qualifier." into klp-modular-dev
* commit '5c31e487c4577e1c47ee7c949325d6a13f0d462e':
  Introduce new UI_MODE_TYPE_WATCH and qualifier.
2014-04-04 19:28:09 +00:00
John Spurlock
6c191299a7 Introduce new UI_MODE_TYPE_WATCH and qualifier.
Default ui mode to watch if we have FEATURE_WATCH.

Bug:13395758
Change-Id: Ie5ff95de60e69e91ad3612c7d2f1fca7f49061bd
2014-04-04 15:21:53 -04:00
Leon Scroggins
cc11f15f76 Update to call new Skia APIs.
I816129d49c0118453222916f3c818eccac33663d merges a new version of
Skia that updates various APIs. Call the new ones.

SkBitmap::copyTo now takes an SkColorType instead of an
SkBitmap::Config, so do the conversion with
SkBitmapConfigToColorType or use the enum when it makes sense.

Call SkImageDecoder::decodeSubset instead of (deprecated)
SkImageDecoder::decodeRegion.

Override SkCanvas::ClipVisitor::clipRRect in ClipCopier.

In Canvas::clip calls, call SkCanvas::isClipEmpty(), which was
previously called inside the clip call, to determine the return value.

For various SkPaint effects, call the new factories (as the constructors
have been made protected).

Implement SkJavaOutputStream::bytesWritten(), overriding a new pure
virtual function on SkWStream.

Update Matrix calls to always return true (since SkMatrix calls no
longer return a value).

Depends on I816129d49c0118453222916f3c818eccac33663d (skia).

Change-Id: I5cdcea827ebff587df0bbddc0965e3e0fbf48002
2014-04-04 14:42:39 -04:00
Chris Craik
49e6c73913 Move most TransformationInfo properties to RenderNode
This change dedupes the various properties that were represented both
in TransformationInfo, and RenderProperties on the native side.

RenderNode (and its associated properties) are now permanently
attached to a View in SW or HW. The native copy of these properties
are their sole representation.

Alpha to come in a later CL.

Also fixed issue with copying RenderNode's transform, and added
support of deleting RenderNodes in software rendering.

Change-Id: Ideb6e7f32b780e87aa1c32637c368356b3eee3a1
2014-04-02 18:38:25 -07:00
Ben Cheng
0e2806b171 am 3399ec31: am b386bfd7: am 89dddcc9: Merge "Use default visibility for Snapshot::getLocalClip."
* commit '3399ec317d8a318ca384036bc6fecf4656f1f118':
  Use default visibility for Snapshot::getLocalClip.
2014-04-02 21:07:25 +00:00
Ben Cheng
3399ec317d am b386bfd7: am 89dddcc9: Merge "Use default visibility for Snapshot::getLocalClip."
* commit 'b386bfd791d77e24bcfe3261420f82b0a9d3851d':
  Use default visibility for Snapshot::getLocalClip.
2014-04-02 20:59:47 +00:00
Ben Cheng
b386bfd791 am 89dddcc9: Merge "Use default visibility for Snapshot::getLocalClip."
* commit '89dddcc948cb3e826bfddeefae73066849aba0fc':
  Use default visibility for Snapshot::getLocalClip.
2014-04-02 20:54:47 +00:00
Michael Wright
744cf2b98f am 4932a355: Merge "Misc. buttons aren\'t gamepad keys." into klp-modular-dev
* commit '4932a355f1594990173e0d9cd1fa38b8491c4a29':
  Misc. buttons aren't gamepad keys.
2014-04-02 20:30:29 +00:00
Michael Wright
4932a355f1 Merge "Misc. buttons aren't gamepad keys." into klp-modular-dev 2014-04-02 20:26:36 +00:00
Ben Cheng
65ba94f79d Use default visibility for Snapshot::getLocalClip.
The method is in libhwui.so but used by libandroid_runtime.so
(via android_view_GLES20Canvas.cpp). If the compiler decides not to
inline this method, the linker won't be able to resolve the dependency
when it has hidden visibility.

The problem is found when testing GCC 4.9.

Change-Id: I3b4d096c7767f0bef0796886dfb2c5ba2ecff48c
2014-04-02 13:26:33 -07:00
Michael Wright
f46b5d466d Misc. buttons aren't gamepad keys.
BUTTON_[1-9] are intended to be misc. buttons so the kernel will
assign them to non-gamepad devices.  As such, we shouldn't treat them
as belonging to gamepads at all.

Bug: 13432364
Change-Id: I9495760f2379e44785b9ce1cf018b6db7f6cb0f4
2014-04-01 15:43:43 -07:00
John Reck
0d1f634f4b Add invokeFunctor
Change-Id: I09e675d3e02e3e528642175ada00b2b17fab7652
2014-03-28 20:57:32 -07:00
John Reck
c75db8266b Merge "Remove kStatusInvoke & kStatusDraw" 2014-03-29 01:41:50 +00:00
Michael Wright
4669cfff1e am d020fd33: Merge changes Ib18c99b9,I9f42eeb9 into klp-modular-dev
* commit 'd020fd33d147c88a9cda4976d2fa559e55b4ab03':
  Generate and respect ACTION_CANCEL for joystick fallbacks. DO NOT MERGE
  Adds API for determining confirm and cancel keys.
2014-03-29 00:59:46 +00:00
John Reck
750ca6dbdb Remove kStatusInvoke & kStatusDraw
They are unused

Change-Id: I44ecf1164dc6bc1b09438e733976d5a97a25f00e
2014-03-28 16:43:15 -07:00
Chris Craik
b265e2ca50 Support shadows on the root RenderNode
bug:13211941

Cleans up some of the RenderNode method naming

Also removes unnecessary clip/save/restores, clipping shadows
predictably, as drawn by the parent, before drawing (and clipping,
etc.) the shadow casting child.

Change-Id: I795115e1fb869bbbdd7be43e279b97490fecc7e0
2014-03-28 14:43:22 -07:00
Chris Craik
08c96b5515 Merge "Disable shadow overdraw avoidance in the inverse clip case" 2014-03-28 18:00:03 +00:00
Chris Craik
024433f896 Disable shadow overdraw avoidance in the inverse clip case
The caster is effectivly transparent, so skip the optimization just as
is done for alpha < 1.0

Change-Id: I3d294222adf0137e20c1fb5808313d487e92e0a8
2014-03-27 16:01:04 -07:00
John Reck
07b6c552e6 Merge "Async drawing!" 2014-03-27 17:11:31 +00:00
John Reck
668f0e38ef Async drawing!
Change-Id: I7e728356f58af88174328a8c0b90d27b128bfe01
2014-03-27 10:00:04 -07:00
Narayan Kamath
ecd072161e resolved conflicts for merge of 22d07464 to master
Change-Id: Ic037261eedd6e224938c960d2b4597590c81ed9d
2014-03-27 14:22:47 +00:00
Narayan Kamath
22d074643e resolved conflicts for merge of eaab4df0 to klp-modular-dev-plus-aosp
Change-Id: I871431e5a3ce45a33563ced845e044d37471689b
2014-03-27 12:50:58 +00:00
Narayan Kamath
eaab4df0dd am cd3f60f3: Merge "AArch64: Make frameworks/base code more portable"
* commit 'cd3f60f30366a34b4499aab5a47b622069ba9cd6':
  AArch64: Make frameworks/base code more portable
2014-03-27 12:36:10 +00:00
Ashok Bhat
f5df700e6c AArch64: Make frameworks/base code more portable
Changes in this patch include

[x] Use %zu for size_t, %zd for ssize_t

[x] Some minor changes have been done to conform with
    standard JNI practice (e.g. use of jint instead of int
    in JNI function prototypes)

Change-Id: Id1aaa7894a7d0b85ac7ecd7b2bfd8cc40374261f
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-03-27 12:30:42 +00:00
Michael Wright
1b10869f39 Generate and respect ACTION_CANCEL for joystick fallbacks. DO NOT MERGE
Also change MotionEvent.PointerCoords bit packing and unpacking
methods to be consistent with BitSets which are now used on the
native PointerCoords object.

Bug: 11480300
Change-Id: Ib18c99b94ac555104c69eac526860aa501e89e03
2014-03-26 14:56:07 -07:00
Chris Craik
62828dfca2 Merge "Add private circular reveal API on View/RenderNode" 2014-03-26 17:40:32 +00:00
Chris Craik
8c271ca63b Add private circular reveal API on View/RenderNode
Change-Id: I139c8e12b354083149a665f6768f3f6931a8dd15
2014-03-25 16:03:48 -07:00
Chris Craik
e08f166955 am 72cf99ab: am 7e55b35a: am 4118480a: am 80470cdf: Merge "Solve three memory leaks related to PatchCache"
* commit '72cf99abdb6648f9346b72e0ef6d4da3c4dc9d17':
  Solve three memory leaks related to PatchCache
2014-03-25 21:23:52 +00:00
Chris Craik
72cf99abdb am 7e55b35a: am 4118480a: am 80470cdf: Merge "Solve three memory leaks related to PatchCache"
* commit '7e55b35a603fe64e8db2c6050a1b778baaccd920':
  Solve three memory leaks related to PatchCache
2014-03-25 20:36:15 +00:00
Chris Craik
7e55b35a60 am 4118480a: am 80470cdf: Merge "Solve three memory leaks related to PatchCache"
* commit '4118480aabb4a7b332e289ebb71d2e4f9bc05d7e':
  Solve three memory leaks related to PatchCache
2014-03-25 20:28:00 +00:00
Chris Craik
6fe434a41b am 4118480a: am 80470cdf: Merge "Solve three memory leaks related to PatchCache"
* commit '4118480aabb4a7b332e289ebb71d2e4f9bc05d7e':
  Solve three memory leaks related to PatchCache
2014-03-25 20:27:52 +00:00
Chris Craik
4118480aab am 80470cdf: Merge "Solve three memory leaks related to PatchCache"
* commit '80470cdf6c6995f4afe8d5e2c4b6e898625173fb':
  Solve three memory leaks related to PatchCache
2014-03-25 13:21:01 -07:00
Adam Lesinski
de898ff429 Shared library resource support
Shared libraries can now export resources for applications
to use.

Exporting resources works the same way the framework exports
resources, by defining the public symbols in res/values/public.xml.

Building a shared library requires aapt to be invoked with the
--shared-lib option. Shared libraries will be assigned a package
ID of 0x00 at build-time. At runtime, all loaded shared libraries
will be assigned a new package ID.

Currently, shared libraries should not import other shared libraries,
as those dependencies will not be loaded at runtime.

At runtime, reflection is used to update the package ID of resource
symbols in the shared library's R class file. The package name of
the R class file is assumed to be the same as the shared library's
package name declared in its manifest. This will be customizable in
a future commit.

See /tests/SharedLibrary/ for examples of a shared library and its
client.

Bug:12724178
Change-Id: I60c0cb8ab87849f8f8a1a13431562fe8603020a7
2014-03-25 12:09:56 -07:00
John Reck
bcad68ad80 Merge "Move where updateProperties is called" 2014-03-25 17:46:18 +00:00
John Reck
632717e609 Merge "Add missing null check" 2014-03-25 17:25:33 +00:00
John Reck
5bf11bb98f Add missing null check
Bug: 13635394
 mDisplayListData can be null, make sure
 to check for that before trying to walk through the
 children list in updateProperties

Change-Id: I8d97b1656c1acf47b7c5df8a8771b0f30907261d
2014-03-25 10:22:09 -07:00
John Reck
bfb07a0377 Move where updateProperties is called
Change-Id: I27da448996019094c44487ce28c5689d098d6535
2014-03-24 21:00:18 -07:00
Jens Gulin
6056e10271 Solve three memory leaks related to PatchCache
A Patch can be fairly large, holding bitmap data, but
is also frequently leaked which adds to the severity.
The feature is used in many important processes such
as Home, SystemUI and Chrome.

The following leaks are solved:

1. The Patch itself was not always freed.
PatchCache::removeDeferred() can mark patches to be
cared for by PatchCache::clearGarbage(). But
mCache.remove() would only destroy the container
and the pointer, not the Patch object itself.

2. The vertices stored in the Patch at Patch::createMesh()
would always leak. The empty/default destructor in Patch
would not properly destroy "vertices" since it's just a
pointer.

3. A BufferBlock that's added to the mFreeBlocks
in PatchCache could leak. The leak happened when a
patch later needed the entire free block, because the
object was removed from the list but never deleted
in PatchCache::setupMesh().

Change-Id: I41e60824479230b67426fc546d3dbff294c8891f
2014-03-25 09:37:02 +09:00
John Reck
78ce1c5247 Add back clobbered cleanup
Change-Id: I418b612710850bbc3033c4bd0143fb0f0befd2cb
2014-03-24 15:43:49 -07:00