Commit Graph

2816 Commits

Author SHA1 Message Date
Dan Stoza
9c634fd2d1 binder: Return pid_t/uid_t instead of int
Makes IPCThreadState::getCalling{Pid,Uid} return a more
appropriate type.

Change-Id: I97f8a83c1c0722bc1afbf8a6df1a288f8f1f0d2c
2014-12-01 11:07:14 -08:00
Chih-hung Hsieh
a7c75d1b17 am 2d7ec9d7: Merge "Fix build with clang in C++11 mode"
* commit '2d7ec9d7b5dfdb93930b94c134fa2dc10fd27313':
  Fix build with clang in C++11 mode
2014-11-25 22:56:02 +00:00
Bernhard Rosenkränzer
74debb0b8f Fix build with clang in C++11 mode
Now that we're in C++11 mode by default, clang complains about switch
statements with case values not matching the type -- since some
binder_driver_return_protocol values are > 0x7fffffff, we need to make
the switch statements operate on uint32_t rather than int32_t.

BUG: 18466763
Change-Id: Iedbfd5c7a3d3d9f087d2eab4ff21343ad7a2a448
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-11-25 14:06:04 -08:00
Andreas Gampe
09efe0ac2a am 2e42a906: Merge "Binder: Remove unused functions & variables"
* commit '2e42a90653abd0fc8a76909b5f101782d187136e':
  Binder: Remove unused functions & variables
2014-11-25 18:52:24 +00:00
Andreas Gampe
0b53b5c0b3 Binder: Remove unused functions & variables
For build-system CFLAGS clean-up, remove unused functions and
variables.

Change-Id: I88abc2bc99e6b91c7aa56470ff9671bf8bf29f8d
2014-11-24 11:39:11 -08:00
Elliott Hughes
f167968b46 am e0f91c37: Merge "We HAVE_LITTLE_ENDIAN."
* commit 'e0f91c3731b16b010eb31117e941e5468bdfeb2e':
  We HAVE_LITTLE_ENDIAN.
2014-11-22 08:01:17 +00:00
Elliott Hughes
a5d7459936 We HAVE_LITTLE_ENDIAN.
Change-Id: I68551ad663f2649a06b1958e9bef152e6d026e72
2014-11-21 23:35:36 -08:00
Dan Albert
c1ced8bbcd am c894c204: Merge "C++11 compatibility."
* commit 'c894c2045f589571c80af0648e7a9dcd7e97b6a8':
  C++11 compatibility.
2014-11-20 23:00:48 +00:00
Dan Albert
3bdc5b8268 C++11 compatibility.
* Explicit conversion for atomic_uintptr_t initialization.
 * Fix string literal concatenation to not be a UD literal.
 * Use __typeof__ instead of typeof (should become decltype once this
   actually moves to C++11).

Bug: 18466763
Change-Id: I4eedddfb945a2a703ed27317cb6e2b3041b1ebfc
2014-11-20 21:04:35 +00:00
Marco Nelissen
e12cfc23b2 am 55f71bc0: Merge "Replace IInterface::asBinder() with a static"
* commit '55f71bc0800b9ec7a779c5d30d5a90e074c2526b':
  Replace IInterface::asBinder() with a static
2014-11-17 18:52:56 +00:00
Marco Nelissen
097ca275f4 Replace IInterface::asBinder() with a static
so we can do NULL checks again, and update calls to IInterface::asBinder()
to use the new static version.

Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
2014-11-17 08:47:01 -08:00
Dianne Hackborn
1f3ac8b42f am a4cff88d: Fix issue #18356768: some app process may hang at Runtime#exit...
* commit 'a4cff88d80bf1acbdbd063af88ecad83a8b9b7b4':
  Fix issue #18356768: some app process may hang at Runtime#exit...
2014-11-14 01:43:31 +00:00
Dianne Hackborn
a4cff88d80 Fix issue #18356768: some app process may hang at Runtime#exit...
...in Parcel destructor

Don't use a Mutux object, just use simple posix mutex primitives,
to avoid static init/destroy order problems.

Change-Id: Ic012d94297564c0a55d58869f8276d7d10545fbc
2014-11-13 17:09:59 -08:00
Dianne Hackborn
ba2e1a332e am ca69e8f2: Merge "Add tracking of parcel memory allocations." into lmp-mr1-dev
* commit 'ca69e8f2d0a1fc963bd170f9b2bf164028761323':
  Add tracking of parcel memory allocations.
2014-11-12 03:51:05 +00:00
Dianne Hackborn
7e790af756 Add tracking of parcel memory allocations.
Change-Id: I76ffed0e69ccfe70e87d98646f11d4de7c3fd980
2014-11-11 16:23:04 -08:00
Dan Stoza
8e624d4cad am 98d20f82: Merge "Add a BufferItem parameter to onFrameAvailable" into lmp-mr1-dev
* commit '98d20f82ca8979b30c81df9639f54ab11e1951f9':
  Add a BufferItem parameter to onFrameAvailable
2014-11-07 20:03:42 +00:00
Dan Stoza
98d20f82ca Merge "Add a BufferItem parameter to onFrameAvailable" into lmp-mr1-dev 2014-11-07 19:44:31 +00:00
Dan Stoza
8dc55396fc Add a BufferItem parameter to onFrameAvailable
Passes the BufferItem for the queued buffer to the onFrameAvailable
callback so the consumer can track the BufferQueue's contents. Also
adds an onFrameReplaced callback, which is necessary if the consumer
wants to do anything more than simple queue length tracking.

Bug: 18111837
Change-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0
2014-11-07 10:39:13 -08:00
Dan Albert
cad831fb15 am c6f93a43: Merge "Add missing include to fix libc++ build."
* commit 'c6f93a43d636b0ad16b75adf664c6a33d30b39dd':
  Add missing include to fix libc++ build.
2014-11-07 18:37:43 +00:00
Dan Albert
0d1c700214 Add missing include to fix libc++ build.
This was previously committed, but I guess it got lost in the merge
queue.

Bug: 15193147
Change-Id: Ic0e5d90ab403fb833d6a3bb7c55d279c56534869
2014-11-07 09:33:44 -08:00
Michael Lentine
a2f27a0d63 am 26645298: Merge "Fix for corruption when numFds or numInts is too large." into lmp-mr1-dev
* commit '26645298400c0ae3a95731388364263d6a914ee4':
  Fix for corruption when numFds or numInts is too large.
2014-11-05 19:06:19 +00:00
Michael Lentine
2664529840 Merge "Fix for corruption when numFds or numInts is too large." into lmp-mr1-dev 2014-11-05 18:58:22 +00:00
Jesse Hall
06ce109470 am fee99040: Revert "Add more logging for dup(fd) failure"
* commit 'fee99040de000a64f6036a7db172fb7c68d9764a':
  Revert "Add more logging for dup(fd) failure"
2014-11-04 17:35:23 +00:00
Jesse Hall
88361aaaf4 am 8e5cf83a: Revert "Parcel: extra validation/debug code for writeDupFileDescriptor"
* commit '8e5cf83afbe2b671f96d04786cf0d0f967e342f9':
  Revert "Parcel: extra validation/debug code for writeDupFileDescriptor"
2014-11-04 17:35:23 +00:00
Jesse Hall
aa4ccfd123 am de288fe2: Revert "bufferqueue: workaround: allow NULL fence with queueBuffer"
* commit 'de288fe2d43adfa1b2243ae534faaf832bf50491':
  Revert "bufferqueue: workaround: allow NULL fence with queueBuffer"
2014-11-04 17:35:22 +00:00
Jesse Hall
fee99040de Revert "Add more logging for dup(fd) failure"
Underlying bug has been fixed, extra debug code no longer needed

This reverts commit 36273c991b.

Change-Id: Ia47f1ae9ee7338329bfb8d710aff57e15e944f20
2014-11-04 08:48:16 -08:00
Jesse Hall
8e5cf83afb Revert "Parcel: extra validation/debug code for writeDupFileDescriptor"
Underlying bug has been fixed, extra debug code no longer needed.

This reverts commit ccf851f108.

Change-Id: I19ad9239efdf1d8f70cd74af9b7c2ae97713208f
2014-11-04 08:47:57 -08:00
Jesse Hall
de288fe2d4 Revert "bufferqueue: workaround: allow NULL fence with queueBuffer"
Underlying bug has been fixed, workaround no longer needed

This reverts commit 5b0cbcf946.

Change-Id: Ic9532b407d1291a7780a12a75aaa117ae4aa9fcb
2014-11-04 08:47:37 -08:00
Chih-Hung Hsieh
923b0f6a67 am ac5cd96f: am dbab409c: Merge "Avoid two warnings from clang."
* commit 'ac5cd96fe24690d9e0ae823c77334b8579139aa2':
  Avoid two warnings from clang.
2014-11-04 01:58:17 +00:00
Chih-Hung Hsieh
ac5cd96fe2 am dbab409c: Merge "Avoid two warnings from clang."
* commit 'dbab409c49ca5dd6686912d0b3eeb19ef1c37a3e':
  Avoid two warnings from clang.
2014-11-04 01:24:07 +00:00
Michael Lentine
dfd06b89a4 Fix for corruption when numFds or numInts is too large.
Bug: 18076253
Change-Id: I4c5935440013fc755e1d123049290383f4659fb6
2014-11-03 14:08:54 -08:00
Michael Lentine
54430ca2a8 am 793fc0e1: Merge "Fix crash when user provides large values in the Parcel." into lmp-mr1-dev
* commit '793fc0e13d25bdecda1219999f8be2cb3c121d20':
  Fix crash when user provides large values in the Parcel.
2014-11-01 00:33:29 +00:00
Michael Lentine
8afa1c4ab8 Fix crash when user provides large values in the Parcel.
Bug: 18102648
Change-Id: Ie6a24718e586a34424238363de80f9545951514f
2014-10-31 16:08:44 -07:00
Michael Lentine
078794ed37 am 98536859: Merge "Fix output of pointers for 64bit devices." into lmp-mr1-dev
* commit '9853685931298ba02066ebb50a8377ad4aa80f00':
  Fix output of pointers for 64bit devices.
2014-10-31 22:58:19 +00:00
Chih-Hung Hsieh
8e5337de2c Avoid two warnings from clang.
Clang compiler warns about undefined static functions like getReturnString
before all references are removed inside IF_LOG_COMMANDS.
To remove such warnings, we can leave those static functions defined
and the compiler will remove them at the end when they are not used.

Add a cast to long before converting from int to void*,
to avoid type cast warnings on 64 bit targets.

BUG: 17043248
Change-Id: Ica31101522279d2c8eacc90e2939767002fb827b
2014-10-31 18:38:00 +00:00
Michael Lentine
fae12d4fb4 Fix output of pointers for 64bit devices.
Change-Id: I279c1cf8d4c126b98f4a92ca807ade3749d01ff0
2014-10-31 11:08:19 -07:00
Jesse Hall
f12f15502a am 1834f8ea: GLConsumer: correct EGL_NO_DISPLAY to EGL_NO_CONTEXT
* commit '1834f8ea975e9a882b44dc479320fe02e306e630':
  GLConsumer: correct EGL_NO_DISPLAY to EGL_NO_CONTEXT
2014-10-30 20:58:43 +00:00
Jesse Hall
1834f8ea97 GLConsumer: correct EGL_NO_DISPLAY to EGL_NO_CONTEXT
Change-Id: I4dcb57a0db9ee3c5222cd453c9213859384212b0
(cherry picked from commit 46a1f6b40e)
2014-10-29 17:15:09 +00:00
Michael Lentine
15b2ecf599 am dcc959be: Merge "Adding eglInitialize and eglTerminate image creation and deletion." into lmp-mr1-dev
* commit 'dcc959beb77099d319a94e3985da2f4ea4064e7b':
  Adding eglInitialize and eglTerminate image creation and deletion.
2014-10-21 18:35:24 +00:00
Michael Lentine
dcc959beb7 Merge "Adding eglInitialize and eglTerminate image creation and deletion." into lmp-mr1-dev 2014-10-21 18:20:45 +00:00
Jesse Hall
937052fb1c am a069e853: am 649bafb7: Merge "bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)" into lmp-dev
* commit 'a069e8532ba272ac5b935e332e426a3dacf827fc':
  bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)
2014-10-20 14:31:38 +00:00
Jesse Hall
a069e8532b am 649bafb7: Merge "bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)" into lmp-dev
* commit '649bafb7ba2c3204295bc3451ff7af7e28e714ed':
  bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)
2014-10-20 14:17:18 +00:00
Jesse Hall
f35a5ba664 am 649bafb7: Merge "bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)" into lmp-dev
* commit '649bafb7ba2c3204295bc3451ff7af7e28e714ed':
  bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)
2014-10-20 14:13:05 +00:00
Jesse Hall
5b0cbcf946 bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)
On one device there is a bug, not yet root-caused, that causes fence
fds to not make it across binder from producer to consumer in the
IGraphicBufferProducer::queueBuffer call. Rather than returning an
error, which the producer typically treats as a fatal error, this
change allows the buffer to be queued with no fence. This avoids an
application crash at the risk of (likely single-frame) visible
corruption.

Bug: 17946343
Change-Id: I9ca89f94098c455e1e90f5f58d5336c936b04a9c
2014-10-19 04:57:10 +00:00
Dan Albert
3235d8e477 am c52e54c4: Merge "Some more test cleanup."
* commit 'c52e54c47184704613d446eb15d051ceb43d82b3':
  Some more test cleanup.
2014-10-17 17:53:10 +00:00
Dan Albert
55833709ab am c52e54c4: Merge "Some more test cleanup."
* commit 'c52e54c47184704613d446eb15d051ceb43d82b3':
  Some more test cleanup.
2014-10-17 17:53:05 +00:00
Dan Albert
ed7d193ae9 Some more test cleanup.
Needed to build successfully when libc++ is the default STL.

Also fix a missing include. Not sure how this was getting by before.
Probably some transitive include.

Change-Id: Ie96b79e96b4e154d786fbf2d5ae5cf5892608837
2014-10-16 20:46:05 -07:00
Dan Albert
27b780b517 am 9cc84950: Merge "Don\'t check if this == NULL."
* commit '9cc849500df0bba42d3ed19b90c38ff1dffd2262':
  Don't check if this == NULL.
2014-10-15 22:52:51 +00:00
Dan Albert
759115cd6d am 9cc84950: Merge "Don\'t check if this == NULL."
* commit '9cc849500df0bba42d3ed19b90c38ff1dffd2262':
  Don't check if this == NULL.
2014-10-15 22:52:43 +00:00
Dan Albert
9cc849500d Merge "Don't check if this == NULL." 2014-10-15 22:45:07 +00:00
Narayan Kamath
328f9c259b am 16410d45: am 9ea09757: Fix broken error check in Parcel::readBlob
* commit '16410d458fdf9915dc8cb82b1bae3949a8100124':
  Fix broken error check in Parcel::readBlob
2014-10-10 17:00:18 +00:00
Narayan Kamath
16410d458f am 9ea09757: Fix broken error check in Parcel::readBlob
* commit '9ea09757fa63ad2a9bea9c846b51c1210d69c79f':
  Fix broken error check in Parcel::readBlob
2014-10-09 19:17:44 +00:00
Michael Lentine
78be65e7bf Adding eglInitialize and eglTerminate image creation and deletion.
Previously it was possible to have the driver's eglTerminate called beofre
eglDestroyImageKHR in GLConsumer. This was because we didn't increment the
refcount for the lifetime of the image. This could lead to a crash or a deadlock
when multiple threads called terminate and destroy simultaneously.

Bug: 17700483
Change-Id: I7010d0f1b3db875332e95630b5e098a5564ba755
2014-10-09 10:26:37 -07:00
Narayan Kamath
4335d35c71 am 9ea09757: Fix broken error check in Parcel::readBlob
* commit '9ea09757fa63ad2a9bea9c846b51c1210d69c79f':
  Fix broken error check in Parcel::readBlob
2014-10-09 12:50:12 +00:00
Jesse Hall
20fca75fbd am b7702c5c: Merge "BufferQueueProducer: Throttle EGL frame production." into lmp-mr1-dev
* commit 'b7702c5ce7f010fa5f19646fd79f28ff04e7014b':
  BufferQueueProducer: Throttle EGL frame production.
2014-10-08 16:59:38 +00:00
Jesse Hall
b7702c5ce7 Merge "BufferQueueProducer: Throttle EGL frame production." into lmp-mr1-dev 2014-10-08 16:50:13 +00:00
Narayan Kamath
9ea09757fa Fix broken error check in Parcel::readBlob
mmap returns MAP_FAILED (which is -1) and not NULL on
failure.

Diagnosed by cferris.

bug: 17909809

Change-Id: I609788ebf94742ef88af002d2d3f3bc9b9e520ac
2014-10-08 17:37:38 +01:00
Jesse Hall
f3b5cea662 am 366998d8: am 78639c22: Merge "Parcel: extra validation/debug code for writeDupFileDescriptor" into lmp-dev
* commit '366998d87109578eb8c33d2e94d61fe7f189beb8':
  Parcel: extra validation/debug code for writeDupFileDescriptor
2014-10-07 00:34:57 +00:00
Jesse Hall
5cc3b8b4c8 am 78639c22: Merge "Parcel: extra validation/debug code for writeDupFileDescriptor" into lmp-dev
* commit '78639c22acfa5e56d87fd6fe8340d083536b29fc':
  Parcel: extra validation/debug code for writeDupFileDescriptor
2014-10-06 22:45:57 +00:00
Jesse Hall
78639c22ac Merge "Parcel: extra validation/debug code for writeDupFileDescriptor" into lmp-dev 2014-10-06 22:36:54 +00:00
Jesse Hall
ccf851f108 Parcel: extra validation/debug code for writeDupFileDescriptor
Temporary extra debug validation for b/17477219: a Parcel recipient is
getting a positive but invalid fd unexpectedly. Trying to track down
where it's coming from.

Debug code for bug: 17477219
Change-Id: Idb1e71621025a3928c7adc88fd44790e1abd2a01
2014-10-06 15:23:56 -07:00
Aravind Akella
ae29ee0a9e am 93176114: am a7eb4b74: Merge "Fix sockfd leakage in SensorService." into lmp-dev
* commit '93176114cf34c9874c2db70fd7665e9f95dda9d0':
  Fix sockfd leakage in SensorService.
2014-10-03 22:39:19 +00:00
Eric Penner
99a0afbaee BufferQueueProducer: Throttle EGL frame production.
Throttling was previously controlled by a combination of the
driver and the number of buffers in the queue. This patch makes
a more consistent trade-off, which allows two GPU frames pending
but not three. More buffering could improve throughput in the
case of varying frame times, but this also increases latency.

Bug: 17502897
Change-Id: I4ee68019ca94c635294c5959931a555a6c4ef2df
2014-10-03 14:57:09 -07:00
Aravind Akella
021543fc65 am a7eb4b74: Merge "Fix sockfd leakage in SensorService." into lmp-dev
* commit 'a7eb4b74f74423dafd88adf94a7984ae927c3a23':
  Fix sockfd leakage in SensorService.
2014-10-03 21:50:52 +00:00
Aravind Akella
a7eb4b74f7 Merge "Fix sockfd leakage in SensorService." into lmp-dev 2014-10-03 21:45:37 +00:00
Aravind Akella
8a96955c8e Fix sockfd leakage in SensorService.
i) Call removeFd() only if the fd in the BitTube has been
previously added to the Looper. Use a flag to determine whether the fd
has been previously added or not.
ii) Increment mPendingFlushEventsToSend after holding a connectionLock.
iii) Store the number of acks that are pending in SensorEventQueue
 and send them all at once.

Bug: 17472228
Change-Id: I1ec834fea1112a9cfbd9cddd2198438793698502
2014-10-02 18:59:56 -07:00
Jesse Hall
8619132f16 am 74efd6e6: am f05ef4e5: Merge "Surface: cancel the dequeued buffer when requestBuffer fails" into lmp-dev
* commit '74efd6e6bec8a49f66090a5c0c18b65ba8a6fcad':
  Surface: cancel the dequeued buffer when requestBuffer fails
2014-10-02 23:43:31 +00:00
Jesse Hall
0c2da9719b am f05ef4e5: Merge "Surface: cancel the dequeued buffer when requestBuffer fails" into lmp-dev
* commit 'f05ef4e542c3041379025e16497ff23710de5dbf':
  Surface: cancel the dequeued buffer when requestBuffer fails
2014-10-02 23:41:45 +00:00
Jesse Hall
f05ef4e542 Merge "Surface: cancel the dequeued buffer when requestBuffer fails" into lmp-dev 2014-10-02 23:11:09 +00:00
Michael Lentine
dea558703a am 36462d9d: Merge "Add more logging for dup(fd) failure" into lmp-dev
* commit '36462d9de00105ae46ee3dbb0f644fa6af599f97':
  Add more logging for dup(fd) failure
2014-10-02 19:44:43 +00:00
Michael Lentine
df035b91df am 36462d9d: Merge "Add more logging for dup(fd) failure" into lmp-dev
* commit '36462d9de00105ae46ee3dbb0f644fa6af599f97':
  Add more logging for dup(fd) failure
2014-10-02 19:18:26 +00:00
Jesse Hall
9f5a1b6abd Surface: cancel the dequeued buffer when requestBuffer fails
Partial fix for bug: 17477219
Change-Id: Ibf5a9e26e02c4be8854925a77a70f5c9c7dcf6f2
2014-10-02 18:16:19 +00:00
Michael Lentine
36273c991b Add more logging for dup(fd) failure
Bug: 17477219
Change-Id: Ide0ae16d777c9af783023c705c18a93c00999147
2014-10-02 18:13:02 +00:00
Dianne Hackborn
e5a59e37f2 am 5ee2c9d2: Work on issue #17656716: Unhandled exception in Window Manager
* commit '5ee2c9d20c0fbecf6b4a482eb8d8bfdf85d0d424':
  Work on issue #17656716: Unhandled exception in Window Manager
2014-10-02 00:57:48 +00:00
Dianne Hackborn
e4499526ee am 5ee2c9d2: Work on issue #17656716: Unhandled exception in Window Manager
* commit '5ee2c9d20c0fbecf6b4a482eb8d8bfdf85d0d424':
  Work on issue #17656716: Unhandled exception in Window Manager
2014-09-30 20:23:02 +00:00
Dianne Hackborn
5ee2c9d20c Work on issue #17656716: Unhandled exception in Window Manager
Try to clean up the code paths coming in and out of binder IPCs to
plug any places where we could disrupt the gather flag of a thread,
causing it to keep gathering stack crawls (which is the thing that
is causing our strict mode data to become so large).

We now take care of saving and restoring this state in the core
IPC code path, not at the Java layer.

Change-Id: I73d564778da127bdce00f304225930e7f2318293
2014-09-30 11:30:03 -07:00
Dan Albert
56b3f887a2 am 6ee97e74: Merge "Fix a null dereference."
* commit '6ee97e74d2c972dec2aa6a2f231b718eae54898f':
  Fix a null dereference.
2014-09-23 17:54:39 +00:00
Dan Albert
265f0d9dff am 6ee97e74: Merge "Fix a null dereference."
* commit '6ee97e74d2c972dec2aa6a2f231b718eae54898f':
  Fix a null dereference.
2014-09-23 17:53:39 +00:00
Dan Albert
c78a0c1733 Fix a null dereference.
Change-Id: I7224c3368ff414620062bc08b80a6a94d55d7931
2014-09-23 09:51:51 -07:00
Lajos Molnar
147372fdf9 resolved conflicts for merge of 67d8bd66 to lmp-mr1-dev-plus-aosp
Change-Id: I5e7e6fdf0d2afe6c3e4a0ed6ef96afb4713a72bc
2014-09-19 06:23:46 -07:00
Lajos Molnar
435d9cde27 resolved conflicts for merge of 67d8bd66 to lmp-dev-plus-aosp
Change-Id: I2e9aab90ac53bb32630598f50cc26f6e46acf6d6
2014-09-18 20:09:39 -07:00
Lajos Molnar
67d8bd66aa surfaceflinger: add getDisplayStats() method
This is used by media service to schedule video frames at the
proper time, based on precise vsync timings.

Bug: 14659809
Change-Id: I1a90603f3dc09dca9aa4f90a3aa845fab56e0a5e
2014-09-18 17:03:20 -07:00
Dan Albert
1474f8864f Don't check if this == NULL.
Entering a method with this == NULL is undefined behavior. Clang whines
about this.

Change-Id: Ibde628395ca10dfef0d2f59e81280576f104b83c
2014-09-16 17:52:06 -07:00
Dan Albert
4355c0c986 am e1e3d278: Merge "Clean cruft out of makefiles."
* commit 'e1e3d278549eb6389eb0b5fa3f13a4ac079a55a2':
  Clean cruft out of makefiles.
2014-09-12 16:22:03 +00:00
Hans Boehm
e03abcd61b am 4a7001ca: Merge "Work around C11 const atomic restrictions."
* commit '4a7001cae482e3c9410001360374c8fe9d5a2846':
  Work around C11 const atomic restrictions.
2014-09-12 15:54:52 +00:00
Aravind Akella
3d0daa57f5 am 8493b79e: SensorService fixes
* commit '8493b79e1cff92450076ca7450c4bf4e434a6816':
  SensorService fixes
2014-09-12 05:36:58 +00:00
Dan Albert
b79dfe6721 Clean cruft out of makefiles.
Cleans up manual uses of stlport and bionic (and removes uses of private
bionic headers).

Change-Id: I157309d702e59152adfa3450939082248ae4c043
2014-09-11 18:49:47 -07:00
Hans Boehm
c0df68bb80 Work around C11 const atomic restrictions.
Cast away the const qualifier in BBinder::findObject.  C11, unlike C++11,
does not allow loads from const atomics.  This is widely regarded as
a bug (see WG14 DR 459).  This is a hack to work around it until it's
officially fixed in the spec.

load_const_atomic was adapted from commit
1e8587a479fd8b1ce9b594298a93f517816e8f15

I don't think we want to dignify this by putting it into a header file.

Bug:17067219
Change-Id: Icbfcbda2722e6f80d2bb065a0bb3ec7634bcacb2
2014-09-11 14:49:09 -07:00
Aravind Akella
8493b79e1c SensorService fixes
i) Significant Motion multiple clients fix. Make a copy of
  mActiveConnections vector before cleaning up SensorEventConnections
  when one-shot sensors trigger.
  ii) Maintain a mapping between flush_complete_events and
  SensorEventConnections to accurately map flush() API calls and
  corresponding flush_complete_events
  iii) Remove all references to 1_1 and 1_2 HALs.
  iv) Dynamically allocate sensor_event buffers in SensorService main
  threadLoop.

Bug: 17412359
Change-Id: If3c3986197660cafef2d2e0b4dc7582e229cf1c4
2014-09-10 18:24:18 -07:00
Riley Andrews
75ec33e0e6 am d15ef27f: Update ScreenshotClient to take advantage of rotation in surfaceflinger\'s screencap api
* commit 'd15ef27f9b13727fa7358e3c09572f66bb1e0668':
  Update ScreenshotClient to take advantage of rotation in surfaceflinger's screencap api
2014-09-09 21:55:45 +00:00
Riley Andrews
129dc8423d am edb86f9f: Merge "Add rotation to surfaceflingers screen cap." into lmp-dev
* commit 'edb86f9f681e082a64a670814ee4d73ccf39942a':
  Add rotation to surfaceflingers screen cap.
2014-09-09 21:55:26 +00:00
Riley Andrews
d15ef27f9b Update ScreenshotClient to take advantage of rotation in surfaceflinger's screencap api
Change-Id: I836649d9d5cd5958ce34e47f26f4a36d2d05d24c
2014-09-09 19:41:32 +00:00
Dan Albert
5273a97833 resolved conflicts for merge of 86aeb9ef to lmp-dev-plus-aosp
Change-Id: I82fe2b385156d9bdb9e7183e308d7b2a4167b6ce
2014-09-08 22:15:20 -07:00
Riley Andrews
c3ebe66b49 Add rotation to surfaceflingers screen cap.
+ This is needed so that activity manager does not
  have to do cpu side rotations when capturing recents
  thumbnails.

Change-Id: If998008e675ad01305db8399fd643cf4608b7025
2014-09-09 03:51:16 +00:00
Dan Albert
8b49125f10 Make string literal concatenation play nice with C++11.
In C++11 mode, "foo"MACRO_THAT_EXPANDS_TO_STRING gets lexed as a user
defined literal. Add space around the macro.

Change-Id: I2741f5be9c0b1562e0f413d1309ef9d687e89b41
2014-09-08 18:53:39 -07:00
Hans Boehm
553231f65e Fix CAS argument type.
Gcc apparently doesn't check; clang does.

Bug:17067219
Change-Id: I184084a5063131dbc857c63f97e70e78a05e1a76
(cherry picked from commit 1ddaadb598)
2014-09-02 23:26:16 -07:00
Hans Boehm
08ff802151 Revert "Revert "Revert "Revert "Remove incorrect android_atomic_...64 use.""""
After fixing b/16874785.

This reverts commit f010a05c7e.

Original comment, which actually describes the effect of this:

Change the mExtras field in Binder.h to be a stdatomic.h atomic
value, and replace references to it with proper stdatomic.h calls.
This removes one of a small number of remaining 64 bit
android_atomic references.  It also replaces the erroneously
non-atomic read accesses to mExtras.

It would be better if this used the C++11 <atomic> facility,
but we don't quite have that yet.

Fixes

Bug:16513433

Change-Id: I1645ca5d6f60595bf5d388913665ce4b8780b26d
(cherry picked from commit 3effababf2)
2014-09-02 16:11:46 -07:00
Eric Penner
57782cd255 am 5c4a1566: Merge "GLConsumer: Fix eglTerminate/eglInit edge case." into lmp-dev
* commit '5c4a15665968471ddbac0b476514d00503e997c7':
  GLConsumer: Fix eglTerminate/eglInit edge case.
2014-08-27 18:26:20 +00:00
Eric Penner
2d14a0ed4f GLConsumer: Fix eglTerminate/eglInit edge case.
If a display is terminated and then initialized, we can't detect
this using the display itself (it has the same value), but all
EglImages still become invalid for the display. This patch detects
this during image binding and forces creation of a new EglImage.

Bug: 10430249
Change-Id: I75101c50962f21263dca3ec6e241a2e5a3c23dad
2014-08-27 03:10:58 +00:00
Hans Boehm
02a1c2cb37 am efc0b35f: Merge "Fix CAS argument type."
* commit 'efc0b35fbd256bb3e225f4a1b953d0895ee3e99a':
  Fix CAS argument type.
2014-08-19 22:28:41 +00:00
Riley Andrews
38e451f057 am 51d3d176: Merge "Within CpuConsumer, use gralloc lockAsync/unlockAsync" into lmp-dev
* commit '51d3d176e35abc8b72e55035b0f7b81388ee044d':
  Within CpuConsumer, use gralloc lockAsync/unlockAsync
2014-08-19 21:07:51 +00:00
Michael Wright
5a7ad73bd2 am 62fbb163: Shelve InputFlinger for another release. DO NOT MERGE
* commit '62fbb16383d6d8268821f947e2c6d0828f7e2b41':
  Shelve InputFlinger for another release. DO NOT MERGE
2014-08-19 01:33:52 +00:00
Riley Andrews
d53e052322 Within CpuConsumer, use gralloc lockAsync/unlockAsync
Change-Id: I6b2cd195e111c3c7bf94c8052af4db92e09649a5
2014-08-19 19:46:10 +00:00
Elliott Hughes
cb3b7ce1d8 am 703b60ce: Merge "Use gettid directly in binder."
* commit '703b60ce39e52d319074adf53704d33f9c16dbbd':
  Use gettid directly in binder.
2014-08-18 19:34:22 +00:00
Michael Wright
62fbb16383 Shelve InputFlinger for another release. DO NOT MERGE
Change-Id: I0f034a2b8b1d9192f61f5001799bd3aa4b3964c7
2014-08-18 10:17:18 -07:00
Hans Boehm
efc0b35fbd Merge "Fix CAS argument type." 2014-08-16 04:28:29 +00:00
Hans Boehm
1ddaadb598 Fix CAS argument type.
Gcc apparently doesn't check; clang does.

Bug:17067219
Change-Id: I184084a5063131dbc857c63f97e70e78a05e1a76
2014-08-19 13:42:54 -07:00
Elliott Hughes
fa6ad07c4e Use gettid directly in binder.
Bug: 17048545
Change-Id: I1df378135961e085a52f6cc5694ad74cd73aac19
2014-08-18 10:38:38 -07:00
Hans Boehm
dc1fb90857 am a0187a9c: Merge "Revert "Revert "Revert "Revert "Remove incorrect android_atomic_...64 use."""""
* commit 'a0187a9c83cb042b4cb92dac59214247bb7affcf':
  Revert "Revert "Revert "Revert "Remove incorrect android_atomic_...64 use.""""
2014-08-13 00:19:23 +00:00
Hans Boehm
3effababf2 Revert "Revert "Revert "Revert "Remove incorrect android_atomic_...64 use.""""
After fixing b/16874785.

This reverts commit f010a05c7e.

Change-Id: I1645ca5d6f60595bf5d388913665ce4b8780b26d
2014-08-12 22:56:00 +00:00
Hans Boehm
f010a05c7e Revert "Revert "Revert "Remove incorrect android_atomic_...64 use."""
This reverts commit 66629e0de5.

Change-Id: Ic298b345d0e500d18e4297b00e755ce3340f13fb
2014-08-09 01:17:13 +00:00
Rachad
7d1cd4aae2 Merge "Tunneled Video Playback support" into lmp-dev 2014-08-09 00:45:27 +00:00
Hans Boehm
66629e0de5 Revert "Revert "Remove incorrect android_atomic_...64 use.""
This reverts commit 9dc5c269f7.
Adds a stdint.h include in case stdatomic.h stops including that.

Change-Id: If3dd1db1f1132c0f2dc1efb0a44617d3f36d7cfb
2014-08-08 17:14:30 -07:00
Michael Lentine
45e2fc2226 Revert "Modify EGL to disconnect the window when the surface gets destroyed."
This reverts commit 843cbb241d.
2014-08-08 10:30:44 -07:00
Hans Boehm
9dc5c269f7 Revert "Remove incorrect android_atomic_...64 use."
This reverts commit 88b7541d68.

Change-Id: Ie701c308451a3697bb167aff119318b932133f90
2014-08-06 22:45:13 +00:00
Aravind Akella
b37ba399c1 Sensor related changes for NDK.
i) ASensorManager_getDefaultSensor returns a wake-up/non wake-up sensor
      depending on the type.
   ii) Add ASensor_isWakeUpSensor and ASensorManager_getDefaultSensorEx
       methods.
Bug : 16399898
Change-Id: I1a86fb8d9de23039fdf41679d1487e1cd761a9d0
2014-08-05 17:17:51 -07:00
Rachad
7cb0d39016 Tunneled Video Playback support
Added native_window_set_sideband_stream() method to Surface.[h|cpp]
 Added ConfigureVideoTunnelModeParams OMX configuration structure to
 HardwareAPI.h

Bug: 16132368
Change-Id: I28fa1b9dbe858d93e353e0991098cad45c626bd9
2014-08-04 21:57:22 +00:00
Aravind Akella
64ffcb0944 Sensor.cpp changes.
1) Rename TILT_DETECTOR
  2) Set mFlags correctly for wake-up sensors.
  2) Log errors for incorrect sensor flags.

Change-Id: Ia449217d3b8a53353ad6b5c33c544ce37eb1de4f
2014-07-31 09:40:03 -07:00
Michael Lentine
47e45405d1 Allow for resizing of Virtual Displays.
Modify SurfaceFlinger to use VirtualDisplaySurface in all cases when a virtual
display is used. Add functionality in VirtualDisplaySurface to resize the
buffers aquired in the QueueBufferOutput. Add transaction support in
SurfaceFlinger for resize. Add the modification of the size in DisplayDevice.

Change-Id: Iae7e3556dc06fd18d470adbbd76f7255f6e6dd6b
Tested: None
2014-07-30 14:36:25 -07:00
Michael Wright
1f6078aef7 Have VirtualDisplays send SF resize messages when resizing
Change-Id: I76d15b22099a659450ec875836c9bf2b6584838f
2014-07-30 11:23:44 -07:00
Michael Lentine
cd36eb445b Merge "Modify EGL to disconnect the window when the surface gets destroyed." into lmp-dev 2014-07-25 21:16:23 +00:00
Michael Lentine
843cbb241d Modify EGL to disconnect the window when the surface gets destroyed.
Bug: 14445579

Change-Id: I1d263ff6cffcb6e448761fca7ca4b06466ad65aa
2014-07-29 18:59:56 -07:00
Aravind Akella
fd8498c41e Remove WAKE_UP_* sensor constants.
Change-Id: I3de9d114ce82de4ed841932747d72e1f6f73c24f
2014-07-28 18:01:11 -07:00
Antoine Labour
11f14871db BufferQueueProducer: fix which slot gets pre-allocated
Commit 78014f32da introduced a bug that
made us pre-allocate buffers into the last available free slots instead
of the first available ones. This in turn caused more re-allocations,
and possibly triggered driver bugs.

Change-Id: Ic4a70e676b4f2bbb054bc873be62ced26e3099a0
2014-07-25 18:47:25 -07:00
Aravind Akella
c268068c55 Merge "SensorService performance improvements." into lmp-dev 2014-07-24 15:37:54 +00:00
Aravind Akella
56ae42613c SensorService performance improvements.
i) Send ack for wake_up sensors on the socket connection instead of using Binder RPC.
  ii) Cache events per connection in case there are write failures. Compute cache size
      from FIFO counts of sensors.
 iii) Send FlushCompleteEvent only for apps that explicitly called flush().

Change-Id: I018969736b7794b1b930529586f2294a03ee8667
2014-07-24 17:23:01 -07:00
Eric Penner
2295687487 Merge "GLProducer: Reference count images rather than buffers." into lmp-dev 2014-07-24 15:36:21 +00:00
Chong Zhang
2cbba477be add noteResetVideo/Audio to IBatteryStats
Bug: 12979595
Change-Id: Ida474e539a3af0a85ec157a66bbf986430c8020e
2014-07-23 21:51:56 +00:00
Colin Cross
45e695a248 Merge "crash if getNativeBuffer() called on NULL GraphicBuffer" into lmp-dev 2014-07-23 18:56:15 +00:00
Hans Boehm
88b7541d68 Remove incorrect android_atomic_...64 use.
Change the mExtras field in Binder.h to be a stdatomic.h atomic
value, and replace references to it with proper stdatomic.h calls.
This removes one of a small number of remaining 64 bit
android_atomic references.  It also replaces the erroneously
non-atomic read accesses to mExtras.

It would be better if this used the C++11 <atomic> facility,
but we don't quite have that yet.

Bug: 16513433
Change-Id: Ibabb88d05025187ee1ce6c7f1aa670b133a547f8
2014-07-23 11:35:13 -07:00
Colin Cross
18fae75350 crash if getNativeBuffer() called on NULL GraphicBuffer
If getNativeBuffer() is called on a NULL GraphicBuffer the
static_cast of this from GraphicBuffer* to ANativeWindowBuffer*
will return a small pointer like (ANativeWindowBuffer*)0x10.
This value can propagate past NULL checks until it causes a crash
far away from the original NULL pointer.  Crash immediately
instead.

Change-Id: Id614b9eb1484108b3c3c733545309844c4b87532
2014-07-22 17:47:03 -07:00
Chong Zhang
9b365296a7 Merge "update battery status for audio/video" into lmp-dev 2014-07-22 21:50:21 +00:00
Chong Zhang
bd42d38b16 update battery status for audio/video
Bug: 12979595

Change-Id: Ic8e8d625becc6d1050f840ad63b7423f388eeba3
2014-07-22 23:08:53 +00:00
Antoine Labour
78014f32da BufferQueue: release mutex while allocating. DO NOT MERGE
BufferQueueProducer::allocateBuffers used to keep the BufferQueueCore
mutex while doing the buffer allocation, which would cause the consumer
(which also needs the mutex) to block if the allocation takes a long
time.
Instead, release the mutex while doing the allocation, and grab it again
before filling the slots. Keep a bool state and a condvar to prevent
other producers from trying to allocate the slots while the mutex is
released.

Bug: 11792166

Change-Id: I4ab1319995ef892be2beba892f1fdbf50ce0416d
(cherry picked from commit ea96044470)
2014-07-22 19:45:55 +00:00
Eric Penner
5c3d243fcc GLProducer: Reference count images rather than buffers.
In most cases, EGLImages can be created one-to-one with graphic
buffers in slots, but that was difficult due to some special
cases:
- ReleaseTexImage binds a custom 'unslotted' debug image.
- When all slots are freed, we still need to hang on to one.

These cases were handled by keeping an additional reference to
the 'current' buffer (mCurrentTextureBuf), but we would create
new images since we can't reference count them in the same way.
This patch uses the same semantics, except that it reference
counts the image (an EglImage wrapper class) rather than just
buffer. The wrapper class also detects the cases when we need
a new EGLImage, and only creates them in those rare cases.

Change-Id: I2915761dbe49d2a9bda1f59e60f857543634636b
2014-07-21 18:16:12 -07:00
Jeff Brown
31d825d7ed Add glance gesture for doze mode.
Change-Id: I038a706c3999200313ff5360c5ff1150ec081f08
2014-07-17 18:19:53 -07:00
Ruben Brunk
1681d95989 Add sticky transform to surfaceflinger.
Bug: 15116722

- Adds a sticky transform field that can be set from a
  SurfaceFlinger client Surface.  This transform is
  added to any transform applied to the Surface.

Change-Id: Idaa4311dfd027b2d2b8ea5e2c6cba2da5779d753
2014-07-14 22:14:32 +00:00
Dan Stoza
dc56bf721a Merge "BufferQueue: Add allocateBuffers method" 2014-06-27 15:56:14 +00:00
Dan Stoza
ab57491de3 GLConsumer: Allow creation in detached mode
Adds a constructor that doesn't require a GLES texture name and sets
up the GLConsumer in detached mode.

Bug: 15616428
Change-Id: Idc9ea2e59baa24bbd959da9fffe0fb71c0aa9818
2014-06-25 15:00:48 -07:00
Dan Stoza
e49ba8e2ed GLConsumer: Stop using default constructor params
Removes the dependency on default constructor parameters for
GLConsumer so that a different constructor prototype can safely be
added.

Change-Id: I0da924bbd4c141edbf305598c1be8bc575654680
2014-06-24 13:09:19 -07:00
Dan Stoza
29a3e90879 BufferQueue: Add allocateBuffers method
This adds an allocateBuffers method to BufferQueue, which instructs
it to allocate up to the maximum number of buffers allowed by the
current configuration. The goal is that this method can be called
ahead of render time, which will prevent dequeueBuffers from blocking
in allocation and inducing jank.

This interface is also plumbed up to the native Surface (and, in
another change, up to the Java Surface and ThreadedRenderer).

Bug: 11792166
Change-Id: I4aa96b4351ea1c95ed5db228ca3ef98303229c74
2014-06-20 13:13:57 -07:00
Narayan Kamath
f8f419bfcd Merge "Remove Parcel::writeIntPtr." 2014-06-10 21:18:16 +00:00
Narayan Kamath
7da40c0a84 Remove Parcel::writeIntPtr.
All uses of this API have been removed. It should
never have been made public in the first place.

bug: 15424960
Change-Id: Id07d24ec95b2b393e6da138a7e8a9a4ecebeca94
2014-06-12 15:26:39 +01:00
Aravind Akella
adb65d9add Merge "Surface reportingMode for Sensors." 2014-06-12 03:30:50 +00:00
Aravind Akella
0e025c5af3 Surface reportingMode for Sensors.
Change-Id: Iac8dd3408c90eb7d285a2e8043131fab3a7e58fa
2014-06-12 14:49:41 -07:00
Prashant Malani
7227b96a73 Merge "surfaceflinger: Replace blank/unblank with setPowerMode" 2014-06-12 03:30:50 +00:00
Mark Salyzyn
55fc54970b am 72676e7d: am 0e1313cd: Merge "libgui: 64-bit compile issues"
* commit '72676e7d0db89d477495245aa15f1a128b5c35bc':
  libgui: 64-bit compile issues
2014-06-11 17:44:52 +00:00
Narayan Kamath
f905bc3bdc Remove Parcel::writeIntPtr.
All uses of this API have been removed. It should
never have been made public in the first place.

bug: 15424960

(cherry picked from commit 7da40c0a84)

Change-Id: I8d89f62dbdaee7149ef908e0c97417b85e0c48a2
2014-06-13 10:27:33 +01:00
Michael Wright
b37c8c5453 Merge "Fixup more potential issues / warnings in string formats" 2014-06-10 20:16:08 +00:00
Michael Wright
63ff3a84ae Fixup more potential issues / warnings in string formats
Change-Id: I323e44f950b2e758dc9ff4510b2e13ca870eb849
2014-06-10 13:03:17 -07:00