Commit Graph

49082 Commits

Author SHA1 Message Date
Mathias Agopian
2e3a7f1e3d Merge "Basic binary event-log helpers" 2013-06-06 00:01:15 +00:00
Mathias Agopian
7cc6df5957 fix a possible deadlock when removing a layer and destroying a client
generally the last reference to a Layer is released in commitTransaction()
with mStateLock held. Layer itself only holds weak references to Client,
however, ~Layer() briefly promotes this weak reference -- during that time
the all other strong references to that Client go away, ~Layer is left with
the last one... then hell breaks loose as ~Client is called, which in turn
needs to acquire mStateLock.

We fix this by holding a temporary copy of the drawing state during
the transaction so that the side-effects of copying the current
state into the drawing state are seen only after mStateLock has
been released.

Bug: 9106453
Change-Id: Ic5348ac12283500ead87286a37565e8da35f1db2
2013-06-05 14:38:23 -07:00
Mathias Agopian
85cce376cb Basic binary event-log helpers
EventLog can be used from SurfaceFlinger to log jank
statistics events to the binary event log.

Change-Id: If0fbbe7d7111f10957697166d37fd0c3418109bb
2013-06-05 13:37:49 -07:00
The Android Automerger
33e59ba848 merge in master-release history after reset to master 2013-06-04 07:50:08 -07:00
Zhijun He
ae772278fe CpuConsumer: Remove CpuConsumer JNI ID.
Not used anywhere, and it is pretty confusing to have it here.

Bug: 9254294
Change-Id: I12b761532918b546a0f56c74ccf81b2c119ccd66
2013-06-03 10:42:05 -07:00
The Android Automerger
f5b0e75841 merge in master-release history after reset to master 2013-06-03 07:51:31 -07:00
Michael Wright
ae4d9dd0da Merge "Added bitwise-or and bitwise-and to BitSet" 2013-05-31 03:31:49 +00:00
Mathias Agopian
d85879a819 Merge "free EGL resources associated to a thread when it terminates" 2013-05-31 02:01:31 +00:00
Michael Wright
24beb02a7a Added bitwise-or and bitwise-and to BitSet
Change-Id: I9bbf41f9d2d4a2593b0e6d7d8be7e283f985bade
2013-05-30 18:40:04 -07:00
Mathias Agopian
4e620ddce3 free EGL resources associated to a thread when it terminates
destroyed but current-to-a-thread resources are only destroyed
when they're made not-current; however, we were not destroying
those when the thread itself terminated, causing these resources
to be leaked forever.

we now install a tls-key destructor that takes care of this
by calling eglReleaseThread upon thread termination.

Bug: 9209776
Change-Id: I88298a34e3a27488eb81eab76717715569c7d57c
2013-05-30 16:07:36 -07:00
Jeff Sharkey
05431a94d4 Merge "Bring back overloading to print String8/16." 2013-05-30 21:33:36 +00:00
Mathias Agopian
b2397fff6f Merge changes Id5584bc1,I8ca826d0
* changes:
  revert parts of dc5b63e40, which made gyro drift estimation unstable
  use gyro timestamp directly in fusion
2013-05-30 21:30:17 +00:00
Mathias Agopian
24f9bea8eb revert parts of dc5b63e40, which made gyro drift estimation unstable
initialize the system covariance matrix with non-zero
    values for the gyro-bias part. this improves the initial
    bias estimation speed significantly.

the initial covariance matrix should be small because the drift
changes slowly. the real problem is that we're not starting with
a good estimate of the drift, which this algorithm relies on.

so with this revert, it'll take a while for the drift to be estimated
but it won't be unstable.

Change-Id: Id5584bc114a2390d507643b2451b2650c1b90721
2013-05-30 14:26:36 -07:00
Jeff Brown
af0f8c0a56 am 255405eb: am 86b2ecdd: Merge "fix mem leak on error handling"
* commit '255405eb19e6a3fa7f7bb4de9b07beacdf65ece9':
  fix mem leak on error handling
2013-05-30 14:23:58 -07:00
Andrew Hsieh
fa7d40331c am 75765d3a: am 1c45dc66: Merge "Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event"
* commit '75765d3af58ad7ed97c0d646c936294ba861848f':
  Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event
2013-05-30 14:23:56 -07:00
Mathias Agopian
2e2a560c4b use gyro timestamp directly in fusion
we used to estimate the gyro rate and deduce the period from that
but it turns out this is causing problems.

Bug: 5192288
Change-Id: I8ca826d0e11e488587bcaa1720de99e92b82f191
2013-05-30 14:18:23 -07:00
Jeff Sharkey
8cb8925921 Bring back overloading to print String8/16.
Change-Id: Iecab20db2b8574d5f1e6fdefdc2c8d4ce6c37121
2013-05-30 14:04:28 -07:00
Jeff Brown
255405eb19 am 86b2ecdd: Merge "fix mem leak on error handling"
* commit '86b2ecdd311fca2e1e4a3504bf96bb23c5630492':
  fix mem leak on error handling
2013-05-29 19:01:17 -07:00
Jeff Brown
86b2ecdd31 Merge "fix mem leak on error handling" 2013-05-30 01:58:45 +00:00
Andrew Hsieh
75765d3af5 am 1c45dc66: Merge "Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event"
* commit '1c45dc66c77f0ddb246a55d780206a183740ff7f':
  Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event
2013-05-29 18:33:33 -07:00
Andrew Hsieh
1c45dc66c7 Merge "Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event" 2013-05-30 01:30:48 +00:00
The Android Automerger
4357f160f8 merge in master-release history after reset to master 2013-05-29 07:49:42 -07:00
Hyejin Kim
3f727c0ea3 fix mem leak on error handling
Change-Id: I40d8e371c46184aa701fa676246201a9d8f6e27d
2013-05-28 18:39:02 -07:00
jp abgrall
c40f4e64f2 am 4b2b0a74: am 74bd799e: Merge "Exit dumpstate on SIGPIPE to avoid cascading child crashes"
* commit '4b2b0a7494c872b7d545a9abe2d08ca0d0325073':
  Exit dumpstate on SIGPIPE to avoid cascading child crashes
2013-05-28 15:52:27 -07:00
Jeff Brown
ad8ce82396 am 31ab96fc: am 135e4dbd: Merge "utils: Allow non android namespaces to use ALOGD_IF_SLOW"
* commit '31ab96fcc1810e044f8bdb35d3bfbbba2fa6bafd':
  utils: Allow non android namespaces to use ALOGD_IF_SLOW
2013-05-28 15:52:26 -07:00
jp abgrall
4b2b0a7494 am 74bd799e: Merge "Exit dumpstate on SIGPIPE to avoid cascading child crashes"
* commit '74bd799ec20d2420459fa382533b1cc39ca9a54c':
  Exit dumpstate on SIGPIPE to avoid cascading child crashes
2013-05-28 15:46:14 -07:00
Jeff Brown
31ab96fcc1 am 135e4dbd: Merge "utils: Allow non android namespaces to use ALOGD_IF_SLOW"
* commit '135e4dbd65d49730fbd6f830de7b303e01d20d5f':
  utils: Allow non android namespaces to use ALOGD_IF_SLOW
2013-05-28 15:46:03 -07:00
jp abgrall
74bd799ec2 Merge "Exit dumpstate on SIGPIPE to avoid cascading child crashes" 2013-05-28 21:18:59 +00:00
Jeff Brown
135e4dbd65 Merge "utils: Allow non android namespaces to use ALOGD_IF_SLOW" 2013-05-28 20:20:15 +00:00
John Michelau
885f888c55 Exit dumpstate on SIGPIPE to avoid cascading child crashes
When dumpstate ignores SIGPIPE it can lead to a cascade of tombstones /
coredumps since many of its children don't handle or ignore it.  It's
best to just exit dumpstate once the pipe is broken.

Change-Id: Ic0c57ecf4171f0c0a07837e51c41cb1876e1350c
2013-05-28 14:20:59 -05:00
The Android Automerger
ccf8e52e24 merge in master-release history after reset to master 2013-05-27 07:50:40 -07:00
Andrew Hsieh
26c2416281 Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event
See b.android.com/55873

Change-Id: I92c549e1a595662d4df8fa0e47675ccb2b8814fd
2013-05-27 12:26:04 +08:00
Jesse Hall
fb469f1906 Merge "Prevent opaque windows from making framebuffer translucent" 2013-05-24 20:54:18 +00:00
Tim Murray
80391a1e35 Merge "Add RenderScript category for atrace." 2013-05-24 20:36:16 +00:00
Jesse Hall
29c3f35279 Prevent opaque windows from making framebuffer translucent
To keep the code readable now that we have four different texenv
configurations, this change separates the decisions about what
configuration to use from the GL calls to set up the configuration.

Bug: 8963244
Change-Id: Ia07a306a7809ba8f93493d0160ccbd509e948581
2013-05-24 10:51:41 -07:00
Lajos Molnar
9e3cb55b8f BufferQueue: remove freeAllBuffersExceptHeadLocked()
Now that we are having separate buffer-instances for the buffer-
queue, we can free all buffers; we don't have to keep the head
alive.

Change-Id: I023e9161a2501d99333f8868ce438afa914ec50f
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
2013-05-23 22:21:13 +00:00
Lajos Molnar
c5d7b7d323 BufferQueue: track buffer-queue by instance vs. by reference
Instead of representing the buffer-queue as a vector of buffer
indices, represent them as a vector of BufferItems (copies).
This allows modifying the buffer slots independent of the queued
buffers.

As part of this change, BufferSlot properties that are only
been relevant in the buffer-queue have been removed.

Also, invalid scalingMode in queueBuffer now returns an error.

ConsumerBase has also changed to allow reuse of the same
buffer slots by different buffers.

Change-Id: If2a698fa142b67c69ad41b8eaca6e127eb3ef75b
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
2013-05-23 22:17:54 +00:00
Tim Murray
f0f2841d95 Add RenderScript category for atrace.
Change-Id: I069a301329f4a579c7b2716fa52c3f4a0ae0062b
2013-05-23 14:39:42 -07:00
Tim Murray
d837969640 Make trace macros slightly more robust
Change-Id: I9544eb7b27fc1a971cabadd8d5b4b4b80678febf
2013-05-23 13:44:08 -07:00
The Android Automerger
69ec278a60 merge in master-release history after reset to master 2013-05-22 07:50:04 -07:00
Dianne Hackborn
80d7fd86e0 Power manager now takes calling package name arg.
Change-Id: Iae57b8eb7abe4e66f0d2645db8cdf57acf7dcd3e
2013-05-20 16:50:10 -07:00
The Android Open Source Project
41d9c2ff21 am f0e52b64: (-s ours) Reconcile with jb-mr2-release - do not merge
* commit 'f0e52b648b435634d8cbcf52cac86c8dac9e4a63':
2013-05-20 08:22:44 -07:00
The Android Open Source Project
f0e52b648b Reconcile with jb-mr2-release - do not merge
Change-Id: I400727c668eff57b5760595787d21dd021464587
2013-05-20 08:20:26 -07:00
The Android Automerger
49675151de merge in master-release history after reset to master 2013-05-20 07:50:23 -07:00
The Android Automerger
3042131d29 merge in jb-mr2-release history after reset to jb-mr2-dev 2013-05-19 05:55:29 -07:00
Chong Zhang
cb5368356e Merge "wifi-display: add support for metadata mode on encoder output" 2013-05-18 00:02:10 +00:00
Nick Kralevich
058219f51d Merge "Remove unnecessary header file." 2013-05-17 21:58:50 +00:00
Mathias Agopian
58d4a86639 am 2cad801d: (-s ours) am 23dacde4: [DO NOT MERGE] fix a bug where surfaceflinger and system_server could deadlock
* commit '2cad801d0d05190cf4ab7edc7ecffc5862ee18dd':
  [DO NOT MERGE] fix a bug where surfaceflinger and system_server could deadlock
2013-05-17 13:55:28 -07:00
Mathias Agopian
2cad801d0d am 23dacde4: [DO NOT MERGE] fix a bug where surfaceflinger and system_server could deadlock
* commit '23dacde4b624921df4f2c9646d20ca7acae357b6':
  [DO NOT MERGE] fix a bug where surfaceflinger and system_server could deadlock
2013-05-17 13:53:31 -07:00
Mathias Agopian
23dacde4b6 [DO NOT MERGE] fix a bug where surfaceflinger and system_server could deadlock
because surfaceflinger handles screenshot in a different
thread from the binder thread that requested it and because
the IGraphicBufferProducer is a synchronous interface
calling back into the system server; it is possible for
the latter to run out of binder threads (b/c it holds
a lock while calling into SF).

The solution is to make sure all calls on IGraphicBufferProducer
happen on the incoming binder thread. We achieve this by creating
a IGBP wrapper which is given to the screenshot code.

Bug: 8734824
Change-Id: Ife2441c7322e51ecfb20e0df03dacf6bce49578e
2013-05-17 13:20:53 -07:00