Commit Graph

3091 Commits

Author SHA1 Message Date
Michael Wright b03f103fd4 Fix input tests to work with new MotionEvent member
Change-Id: I0dde0f91f693903f26edc116b5dbcbf33bac2b93
2015-05-14 16:29:13 +01:00
Michael Wright 7b159c9a4f Revert "Revert "Add new MotionEvent actions for button press and release.""
This reverts commit 70b41ef580.
2015-05-14 14:48:03 +01:00
Michael Wright c921ce2681 Merge "Revert "Add new MotionEvent actions for button press and release."" into mnc-dev 2015-05-14 13:47:13 +00:00
Michael Wright 70b41ef580 Revert "Add new MotionEvent actions for button press and release."
This reverts commit 48a8a0e432.
2015-05-14 14:46:17 +01:00
Michael Wright f27e668104 Merge "Add new MotionEvent actions for button press and release." into mnc-dev 2015-05-14 13:31:25 +00:00
Michael Wright 48a8a0e432 Add new MotionEvent actions for button press and release.
Introduce ACTION_BUTTON_PRESS and ACTION_BUTTON_RELEASE as actions to
signal a button press or release. If these actions happen
simulanteously with a DOWN or UP event then they're explicitly
ordered to happen after the DOWN or preceding the UP in order to send
them to the most recently targeted view.

Also, introduce new stylus button constants that differ from the
constants we use for mouse buttons.

Bug: 20704355
Change-Id: Ib960a5004db5429ad2fc8db020704773e2978327
2015-05-14 13:25:41 +01:00
Michael Lentine 00699fa641 Modify EGL to disconnect the window when the surface gets destroyed.
Bug: 14445579

Change-Id: I1d263ff6cffcb6e448761fca7ca4b06466ad65aa
2015-05-13 15:41:41 -07:00
Adam Lesinski 4ff0cb4404 Verify that the native handle was created
The inputs to native_handle_create can cause an overflowed allocation,
so check the return value of native_handle_create before accessing
the memory it returns.

Bug:19334482
Change-Id: I1f489382776c2a1390793a79dc27ea17baa9b2a2
(cherry picked from commit eaac99a717)
2015-05-13 17:16:00 +00:00
Dan Stoza 09d561dbee Merge "Fix PTS handling for buffer replacement" into mnc-dev 2015-05-13 16:34:07 +00:00
Adam Lesinski 4b4820db4b Merge "Verify that the native handle was created" into mnc-dev 2015-05-13 03:38:36 +00:00
Adam Lesinski eaac99a717 Verify that the native handle was created
The inputs to native_handle_create can cause an overflowed allocation,
so check the return value of native_handle_create before accessing
the memory it returns.

Bug:19334482
Change-Id: I1f489382776c2a1390793a79dc27ea17baa9b2a2
2015-05-12 17:35:48 -07:00
Dan Stoza 2b83cc920a libgui: Always allow allocation on connect
This change places BufferQueue into a predictable state where
allocation is allowed whenever a producer connects. This allows clients
to disconnect and reconnect without having to worry about being locked
out of allocation.

Bug: 20554276
Change-Id: Ic0f920a3d4204f2cafdfa69e46f3bb4204571d7e
2015-05-12 14:55:15 -07:00
Dan Stoza a4650a50a0 Fix PTS handling for buffer replacement
This changes the way that SurfaceFlinger's shadow buffer management
works such that instead of tracking the size of the shadow queue in the
BufferQueue, SF tracks the last frame number it has seen, and passes
that into the acquireBuffer call. BufferQueueConsumer then ensures that
it never returns a buffer newer than that frame number, even if that
means that it must return PRESENT_LATER for an otherwise valid buffer.

Change-Id: I3fcb45f683ed660c3f18a8b85ae1f8a962ba6f0e
2015-05-12 13:10:17 -07:00
Dan Stoza dc13c5b85b libgui: Hook up onFrameReplaced
This completes the plumbing from ConsumerListener::onFrameReplaced into
SurfaceFlinger (and other consumers that may care).

Change-Id: I376e78ace95d6748e8662e6b4d47c0dfa697a300
2015-05-11 15:33:01 -07:00
Dan Stoza 79e287890d Merge "libgui: Clear frame number while freeing slot" into mnc-dev 2015-05-04 16:33:47 +00:00
Dan Stoza 52937cd9a5 libgui: Clear frame number while freeing slot
Clears the frame number of a slot when it is freed, since it is used
to determine if a released buffer is stale.

Bug: 20445852
Change-Id: I02415e7b25a1eafe7414d6eb1cedf62ac5543cd9
2015-05-01 16:42:55 -07:00
Svetoslav c28fe8f5c5 Merge "Add body sensors app op - framework native" into mnc-dev 2015-05-01 23:10:56 +00:00
Svetoslav b412f6e203 Add body sensors app op - framework native
Change-Id: I727a2bb1e28ae9158f2df9c74dd0aee977dfd47f
2015-05-01 13:51:45 -07:00
Dan Stoza ecc504043f SurfaceFlinger: Fix PTS on stale buffers
SurfaceFlinger's (Layer's) shadow copy of the BufferQueue queue was
getting out of sync for a few reasons. This change fixes these by
doing the following:

- Adds a check to re-synchronize the shadow copy every time we
  successfully acquire a buffer by first dropping stale buffers before
  removing the current buffer.
- Avoids trying to perform updates for buffers which have been rejected
  (for incorrect dimensions) by SurfaceFlinger.
- Adds IGraphicBufferConsumer::setShadowQueueSize, which allows the
  consumer to notify the BufferQueue that it is maintaining a shadow
  copy of the queue and prevents it from dropping so many buffers
  during acquireBuffer that it ends up returning a buffer for which the
  consumer has not yet received an onFrameAvailable call.

Bug: 20096136
Change-Id: I78d0738428005fc19b3be85cc8f1db498043612f
(cherry picked from commit 2e36f2283f)
2015-05-01 12:23:44 -07:00
Taiju Tsuiki 4d0cd3f524 Close Fence FDs in error cases of Surface and GraphicBufferMapper
Surface::{cancel,queue}Buffer and GraphicBufferMapper::lockAsyncYCbCr take the
ownership of |fenceFd|s. Though they don't close it on error cases.

Change-Id: I49a7ce8837d5c510c4ac4ad4649f310d18610e80
(cherry picked from commit c7263fb432)
2015-04-30 14:50:17 -07:00
Taiju Tsuiki 84f1d9c288 Avoid closing invalid FD in Surface and GraphicBufferMapper
GraphicBufferMapper::lockAsync{,YCbCr} close the fence FD even when the FD
is invalid.

Change-Id: Ia2b4dae3b2c06426e34f623f19ba92435f486ab7
(cherry picked from commit dcfe91e1f3)
2015-04-30 09:58:31 -07:00
Svet Ganov 7a6c586161 Merge "Respect the record audio app op - frameworks native" into mnc-dev 2015-04-29 19:34:18 +00:00
Nick Kralevich e9881a3961 Parcel.cpp: use calloc instead of malloc
(cherrypicked from commit 6329f0199e)

Bug: 20669363
Change-Id: Ia4c8d8ca9d8b4b87954d7267e8b1c94cf4e570e1
2015-04-28 21:31:20 -07:00
Svet Ganov f1377f506c Respect the record audio app op - frameworks native
Change-Id: Id747767377953fd644a538aad3f603d6c50875a2
2015-04-28 16:33:28 -07:00
Dan Stoza 800b41ab84 libgui: Fix buffer age on 64-bit targets
Changes a %llu to a PRIu64 to fix compilation on 64-bit targets.

Change-Id: I8ba982662dbe8ee2e1e47c4f6ce4bbdbe2020960
2015-04-28 14:20:04 -07:00
Dan Stoza 4afd8b67f9 BufferQueue: Add NATIVE_WINDOW_BUFFER_AGE query
Adds a NATIVE_WINDOW_BUFFER_AGE query, which returns the age of the
contents of the most recently dequeued buffer as the number of frames
that have elapsed since it was last queued.

Change-Id: Ib6fd62945cb62d1e60133a65beee510363218a23
(cherry picked from commit 49f810c72df8d1d64128e376757079825c8decd4)
2015-04-28 13:46:49 -07:00
Dan Stoza 80640fca04 libgui: Implement onTransact for sideband streams
Implements the GET_SIDEBAND_STREAM case of
IGraphicBufferConsumer::onTransact

Change-Id: I46138b87ce2d70dde48b3561dcd378ce5fd8f383
(cherry picked from commit 17166698d9)
2015-04-28 13:29:19 -07:00
Dan Stoza d9c4971da2 libgui: Change detachNextBuffer to return sp<GB>
Changes Surface::detachNextBuffer to return an sp<GraphicBuffer>
instead of an ANativeWindowBuffer* to ensure that reference counting
works correctly.

Bug: 20092217
Change-Id: I3979ea6121aaf14845f0554477b778770413581e
(cherry picked from commit 8b2daa3ca29492b181fb67840640d771c4a2b3ac)
2015-04-27 11:45:58 -07:00
Aravind Akella 63a0f42823 Build fix SensorEventQueue.
Change-Id: I3e6ba031d42bd37067591771f378b7185169ab48
2015-04-24 20:30:09 -07:00
Aravind Akella cc60dc2128 Merge "Enable data injection mode in SensorService." 2015-04-25 01:40:35 +00:00
Dan Stoza 6febf6c150 am 5d10894c: am ef47c080: am 958f5011: Merge "libgui: Allow an IGBProducer to disable allocation"
* commit '5d10894c9d547449cf231f02b736da9dfdebec11':
  libgui: Allow an IGBProducer to disable allocation
2015-04-24 16:33:38 +00:00
Dan Stoza 7536ef4f07 am 437fb850: am f96a7581: am fb6d43ff: Merge "libgui: Change BufferQueue to use free lists"
* commit '437fb850b0667be3e8655cb1ac6a8d491f59d045':
  libgui: Change BufferQueue to use free lists
2015-04-24 16:33:37 +00:00
Dan Stoza 958f501189 Merge "libgui: Allow an IGBProducer to disable allocation" 2015-04-24 15:50:10 +00:00
Dan Stoza fb6d43ff44 Merge "libgui: Change BufferQueue to use free lists" 2015-04-24 15:48:38 +00:00
Aravind Akella a9e6cc3870 Enable data injection mode in SensorService.
Change-Id: I0cd32a017235c31c54816e4a357ce3b988350ed6
2015-04-23 17:42:37 -07:00
Dan Stoza 8efa4fb370 am 65f68d5c: am fece8306: am 56f1f16c: Merge "libgui: Fix some bitrot/warnings in tests"
* commit '65f68d5cb4a758a8e6faac95817f70383748a9c0':
  libgui: Fix some bitrot/warnings in tests
2015-04-23 23:44:33 +00:00
Dan Stoza 1925bd9219 am 17df593e: am 9aae16a4: am 82e4d49b: Merge "libui/libgui: Fix errors in parceling"
* commit '17df593eb386940a26377d2db9fcb8a60e8badba':
  libui/libgui: Fix errors in parceling
2015-04-23 23:44:32 +00:00
Dan Stoza 56f1f16c7b Merge "libgui: Fix some bitrot/warnings in tests" 2015-04-23 22:56:37 +00:00
Dan Stoza 82e4d49b0e Merge "libui/libgui: Fix errors in parceling" 2015-04-23 22:51:01 +00:00
Dan Stoza 9de7293b0a libgui: Allow an IGBProducer to disable allocation
Adds a new method IGBP::allowAllocation, which controls whether
dequeueBuffer is permitted to allocate a new buffer. If allocation is
disallowed, dequeueBuffer will block or return an error as it
normally would (as controlled by *ControlledByApp).

If there are free buffers, but they are not of the correct dimensions,
format, or usage, they may be freed if a more suitable buffer is not
found first.

Bug: 19801715
Change-Id: I0d604958b78b2fd775c2547690301423f9a52165
2015-04-23 15:28:12 -07:00
Dan Stoza 0de7ea7529 libgui: Change BufferQueue to use free lists
BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.

Fixes an issue with the first version of this change, found in bugs
20482952, 20443314, and 20464549.

Bug: 13175420
Change-Id: I9b6e83cfe8f9b4329a976025cb8e291d51fb6d4a
2015-04-23 13:25:11 -07:00
Dan Stoza 83e9f6e75e am 41422980: am d2c12e4c: am 7637e35d: Merge "Revert "libgui: Change BufferQueue to use free lists""
* commit '41422980fabb087390791d951c28fef072d93be1':
  Revert "libgui: Change BufferQueue to use free lists"
2015-04-22 22:18:58 +00:00
Dan Stoza 7637e35d17 Merge "Revert "libgui: Change BufferQueue to use free lists"" 2015-04-22 18:59:02 +00:00
Dan Stoza 1fc9cc25a4 Revert "libgui: Change BufferQueue to use free lists"
This reverts commit 8dddc99010.

Change-Id: I0b0fed9f1394c6f6ae812f6c562ead4473a8226e
2015-04-22 18:57:39 +00:00
Dan Stoza 2bff43a912 am 3805a00d: am 91f16b1b: am e647ddde: Merge "libgui: Fix CPU rendering on Surface"
* commit '3805a00d6efef02535aaed96f412e0c55a9875f8':
  libgui: Fix CPU rendering on Surface
2015-04-22 00:47:35 +00:00
Wale Ogunwale 1c38c4192b Merge "Fixed build error with clang/llvm." 2015-04-22 00:27:31 +00:00
Dan Stoza c62acbd127 libgui: Fix CPU rendering on Surface
When the surface damage code went in, it incorrectly assumed that if
an application was doing CPU rendering, it would be using lock and
unlockAndPost instead of dequeue and queue, so it repurposed the dirty
region too aggressively. This change keeps it from clobbering the
dirty region if a CPU producer is attached.

Bug: 20431815
Change-Id: Id4dfd71378311ea822f0289f6de2d20a7bd84014
2015-04-21 16:56:52 -07:00
Wale Ogunwale a3206e690b Fixed build error with clang/llvm.
Change-Id: Ideacdc974ebad542df724464ccba9fcfb2b7ea91
2015-04-21 14:00:27 -07:00
Dan Sandler 8f91a6fb04 Merge "Add ashmem stats to Parcels" 2015-04-21 14:10:23 +00:00
Dan Stoza 97ef903db1 am aadb236d: am 483c76dc: am ff5c1a6b: Merge "libgui: Change BufferQueue to use free lists"
* commit 'aadb236d2e944791c1e7600eae9439fcb8a6caa9':
  libgui: Change BufferQueue to use free lists
2015-04-20 20:59:55 +00:00
Dan Stoza f8cebe5457 libgui: Fix some bitrot/warnings in tests
These tests hadn't been run in a while and had accumulated some rot.
This fixes most of the compile warnings and some tests which fail
incorrectly, but 2 failures remain on N6.

Change-Id: I7fee78cd058a32f4d7df40ec9f899ff767f68517
2015-04-20 13:17:23 -07:00
Dan Stoza eea6d682b8 libui/libgui: Fix errors in parceling
BufferItem and GraphicBuffer were not parceling correctly, which had
not been noticed because the libgui tests (specifically, one that
tests placing a BufferQueue in a separate process from the IGBP/C)
had not been run recently. This change fixes the errors found in
those classes.

Change-Id: Ie224361a534a79115a3481d83ff97f21d154d4f5
2015-04-20 13:17:22 -07:00
Dan Stoza 8dddc99010 libgui: Change BufferQueue to use free lists
BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.

Bug: 13175420
Change-Id: Ic8398e7511bd11a60a1c82e3ad2ee271c9822be1
2015-04-17 09:28:41 -07:00
Dan Sandler aa5c2346c7 Add ashmem stats to Parcels
Requires change Ifaf115da in frameworks/base.

Bug: 20079551
Change-Id: Ifaf115dabd1a59cdb1b46e2d49c41f64ac107de4
2015-04-16 04:08:53 +00:00
Dan Stoza 2992fcd0b2 am 057a561a: am 57a9f5a0: am fd5f41be: Merge "libgui: Pass surface damage through BufferQueue"
* commit '057a561afbf30ede99b5ec627deec7ee11701f6d':
  libgui: Pass surface damage through BufferQueue
2015-04-15 21:42:43 +00:00
Dan Stoza 45e51aedac am a161b6ce: am c02377e6: am 4d769d8b: Merge "libui: Clean up Fence and Region flattening"
* commit 'a161b6cee9253a17be6b8dc232b05a41fde0030a':
  libui: Clean up Fence and Region flattening
2015-04-15 21:42:36 +00:00
Dan Stoza 5065a55291 libgui: Pass surface damage through BufferQueue
This change adds support for passing surface damage all of the way
down from the EGL interface through the consumer side of the
BufferQueue. Depends on system/core change
Ie645e6a52b37b5c1b3be19481e8348570d1aa62c

Bug: 11239309
Change-Id: I4457ea826e9ade4ec187f973851d855b7b93a31b
2015-04-15 13:19:38 -07:00
Dan Stoza 4d769d8bdc Merge "libui: Clean up Fence and Region flattening" 2015-04-15 20:13:53 +00:00
Dan Stoza 6fbefbbd8e libui: Clean up Fence and Region flattening
Fence was flattening incorrectly, causing issues with any fields
flattened after it, and Region was relying on being the last object
flattened. This change addresses both.

Change-Id: If49de061de6e2f11f4d846b4d8c18627dfb7e109
2015-04-15 13:04:15 -07:00
Wale Ogunwale 376b822728 Added IPCThreadState::blockUntilThreadAvailable() method.
Will be used by the system_server watchdog to monitor the
availability of binder threads in the process to handle
incoming IPC requests.

Bug: 19297165
Change-Id: I39175f3869ad14da5620fddb47f454e6e4ee2b25
2015-04-14 13:17:25 -07:00
Dan Stoza e88e366963 am 6ea912c0: am ddabf640: am a3f8c2aa: Merge "Fix a memory corruption issue when vector resize"
* commit '6ea912c0494fe67d342224b737078dd90b991db6':
  Fix a memory corruption issue when vector resize
2015-04-14 18:38:43 +00:00
Dan Stoza a3f8c2aaf1 Merge "Fix a memory corruption issue when vector resize" 2015-04-14 17:50:39 +00:00
ywen aef0445c6f Fix a memory corruption issue when vector resize
There is memory corruption in below code

const Rect* prev = &dst[prevIndex];
dst.add(Rect(prev->right, top, right, bottom));

prev points to a memory of vector dst, when dst resize in add()
call, the memory that prev points to will be copy to the new
allocated vector memory and the old memory will become undefined

Avoid pointer in this case, use a local copy instead

Change-Id: I4d95ceedd00c8fb615ac153082ade1b1ce0d0fa8
2015-04-10 11:59:52 +05:30
Tim Kilbourn 063ff53d0b Pass through availability of audio mic for input devices.
Bug: 15374820
Change-Id: Id2ca6da10165e3a887ebfbb18f663a3bf316ac79
2015-04-09 10:02:16 -07:00
Dan Stoza 668285721b am 172ff24c: am 5977851b: am 00afb817: Merge "libgui: Plumb detachBuffer through ConsumerBase"
* commit '172ff24ccbc232cdf244a2bcbbb51df754929521':
  libgui: Plumb detachBuffer through ConsumerBase
2015-04-07 23:18:48 +00:00
Dan Stoza 634f5ee6a7 libgui: Plumb detachBuffer through ConsumerBase
Exposes IGraphicBufferConsumer::detachBuffer as a ConsumerBase
method. attachBuffer is not currently exposed, because all current
clients will be recycling buffers through the allocator.

Bug: 19628705
Change-Id: I3e519767fa43d5d880c1d5695e31b60f6ad588af
2015-04-07 15:05:40 -07:00
Dan Stoza c1487b1a60 Merge "Revert "libgui: Plumb attach/detach through CpuConsumer"" 2015-04-02 22:37:04 +00:00
Dan Stoza 921d1d7a61 Revert "libgui: Plumb attach/detach through CpuConsumer"
This reverts commit 20c5672883.
2015-04-02 13:48:15 -07:00
Dan Stoza 231832eb27 DO NOT MERGE libgui: Plumb attach/detach through Surface
Exposes the attachBuffer and detachNextBuffer calls from
IGraphicBufferProducer to the public Surface interface. Also moves
the version of connect that takes a producer callback from protected
to public.

Bug: 19628705
Change-Id: I9ebc3013c4d9c84c4e8ef150c00e03f8af80319e
(cherry picked from commit c14ecb9de2)
2015-04-02 13:35:45 -07:00
Nick Kralevich b6b1423c87 Parcel.cpp: reject size_t arguments greater than INT32_MAX
It's a security best practice for size_t values to be rejected if
they are greater than INT32_SIZE. This is intended to prevent the
common error of inadvertently passing a negative int value to a
function, which after conversion to an unsigned type, becomes a huge
number, defeating the purpose of bounds checking.

This patch also addresses a bug where the call to:
  Parcel::write(buf, (size_t) -1);
would call writeInPlace() which uses PAD_SIZE on the supplied
argument. This would then cause an integer overflow, with PAD_SIZE
returning a small value, but the memcpy in Parcel::write using the
old large length value.

Bug: 19573085
Change-Id: Ib11bfb3dae4f3be91cd17b2c676926700972c7b8
2015-04-02 10:56:12 -07:00
Marco Nelissen b1b2193680 Merge "Add backwards compatible versions of IInterface::asBinder()" 2015-03-31 22:10:48 +00:00
Marco Nelissen 5c6ec52ff8 Add backwards compatible versions of IInterface::asBinder()
This makes apps linked against the previous non-static versions
work with the new libbinder.

Bug: 19060033
Bug: 19773812

Change-Id: I3b5c78cbb4f4c0681ca1042e4d8503d98f969502
2015-03-31 20:32:30 +00:00
Aravind Akella 4949c50372 Support restricted mode in SensorService.
In restricted mode, only CTS tests can register for sensors or call flush() on them. The requests
from other applications will be ignored.

Change-Id: Ieb923df3e0cfe3390fe2d052af776da79589744b
2015-03-24 15:41:35 -07:00
Dan Stoza 1c87e474d8 DO NOT MERGE libgui: Remove IGBC::BufferItem
Removes IGraphicBufferConsumer::BufferItem. Depends on the
following changes:
    I187b3a7d05196b6289596afac8fb9a9d4aebff76
    I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc

Cherry-pick of Id1fa56d092188f2cb712768d5d2fc6a9027fb73c

Change-Id: I3edf0db8fba656fd78e18a5a7f1137f0fb6b237d
2015-03-20 12:29:04 -07:00
Ronghua Wu 2d13afdfa1 binder: add uint64 support to Parcel.
Bug: 19620911
Change-Id: Ifce5319e4e35afd344dead67ab7ba1cd399476a3
2015-03-19 16:45:04 -07:00
Dan Stoza cf3834db10 DO NOT MERGE libgui: Prepare for IGBC::BufferItem removal
Currently, there are two instances of BufferItem: one inside of
IGraphicBufferConsumer, and a standalone one inside of libgui. They
only differ in the name of one of the fields, and we want to remove
the IGBC version. This changes things so that client code may be
incrementally switched over to the libgui version.

This is a squashed commit containing the following changes:
    I64f495105f56cbf5803cea4aa6b072ea29b70cf5
    I1394e693314429ada93427889f10b7b01c948053
    I9c3bc8037fa9438d4d9080b8afb694219ef2f71f
    I699ed0a6837076867ca756b28d1ffb2238f7a0d9
    Iac8425e1241774304a131da2fb9dec6e82922f13

Change-Id: Ic4d51f5df6dbc70b376d13fceba2335b9bae4f3d
2015-03-19 13:58:07 -07:00
Eino-Ville Talvala 82c6bcc970 DO NOT MERGE Add dataSpace to buffer queues; remove old format enums.
- Wire up new dataSpace parameter through buffer queue stack
- Update tests to include the parameter
- Switch eglApi to using dataSpace to indicate sRGB gamma/linear
  difference
- Remove RAW_SENSOR in favor of RAW16
- Remove use of sRGB format enums
- Add default dataspace to buffer queue core
- Add query for default dataspace

Cherry pick of I070bd2e7c56506055c419004c29e2e3feac725df

Change-Id: I461952389c18051176c6b75e664f20ad369f5760
2015-03-19 13:56:00 -07:00
Dan Stoza ad36432de8 Merge "Surface: Permit an IProducerListener on connect" 2015-03-19 17:45:26 +00:00
Dan Stoza 744fc02fe8 libgui: Only allow one return from useFenceSync
An #ifdef was causing multiple returns in this function, which was
triggering an unreachable code error on some build targets. This
adds an #else to ensure that only one return is exposed in any given
build.

Cherry pick of I9ed7c3e769bc9094ad31d810944227d1d8302886

Change-Id: Ibddc5706159d168031d1805fcce3eedc068296cf
2015-03-19 10:32:51 -07:00
Dan Stoza 48245f0c6d Merge "libgui: Plumb attach/detach through Surface" 2015-03-19 16:48:30 +00:00
Dan Stoza 966b98bd86 Surface: Permit an IProducerListener on connect
This change allows clients of Surface to provide an IProducerListener
callback object to Surface::connect, which will be passed down to the
underlying IGraphicBufferProducer.

Cherry pick of I5ea5229bf3a329bf02c6bd20e7247039c75d136b

Change-Id: I6f8f52c72654e4cee649721383819bafe378f964
2015-03-18 16:01:20 -07:00
Dan Stoza 2632350ac8 GLConsumer: Fix unsigned subtraction during crop
Since some variables had been switched from signed to unsigned, there
was a section of code that was guaranteed to be incorrect because it
effectively did 'if (a < b) { c = a - b; }'. This change fixes it.

Cherry pick of I9cdd6c9a0179801addebb5d6dc1fbaddf8f53c62

Bug: 19346631
Change-Id: Id13a46f74c9ae7278463ce22b586f4dc21b5e453
2015-03-18 16:00:44 -07:00
Michael Lentine c168b8a5a9 Update maxNumber to be smaller.
There shouldn't be more than 4096 fds (probably signficantly smaller) and
there shouldn't be more than 4096 ints.

Cherry pick of I3a3e50ee3078a4710e9737114e65afc923ed0573

Bug: 18076253
Change-Id: I82a883572b401f115d252dcd3d00aa7252b49b0e
2015-03-18 16:00:05 -07:00
Dan Stoza 3be1c6b60a libgui: Enable -Weverything and -Werror
Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Cherry pick of I034abec27bf4020d84af60d7acc1939c59986dd6 plus a
couple of minor changes to CpuConsumer.cpp to make it work with a
prior change:
    Uncomment CC_LOGV on line 46
    Change C-style cast to static_cast on line 71

Change-Id: Iaec610477ea0122317b0578fb74caf2383d4cf08
2015-03-18 15:57:27 -07:00
Dan Stoza 20c5672883 libgui: Plumb attach/detach through CpuConsumer
Adds CpuConsumer::{detachNextBuffer,attachAndReleaseBuffer}, which
can be used to more carefully manage the ownership of GraphicBuffers.

Bug: 19628705
Change-Id: Ia7a7e30da6d81eb2367241998f14988db0afc3bf
2015-03-17 19:37:15 -07:00
Dan Stoza 724768f916 Revert "libgui: Plumb attach/detach through CpuConsumer"
This reverts commit 43078e2827.

Change-Id: Ifef774d9922bb90450384e810e4767b56cc29de3
2015-03-17 15:54:50 +00:00
Dan Stoza c14ecb9de2 libgui: Plumb attach/detach through Surface
Exposes the attachBuffer and detachNextBuffer calls from
IGraphicBufferProducer to the public Surface interface. Also moves
the version of connect that takes a producer callback from protected
to public.

Bug: 19628705
Change-Id: I9ebc3013c4d9c84c4e8ef150c00e03f8af80319e
2015-03-16 13:02:01 -07:00
Dan Stoza 43078e2827 libgui: Plumb attach/detach through CpuConsumer
Adds CpuConsumer::{detachNextBuffer,attachAndReleaseBuffer}, which
can be used to more carefully manage the ownership of GraphicBuffers.

Bug: 19628705
Change-Id: Ia7aa1ac59c2f768f2d8a0f35ad23067936a7427c
2015-03-16 12:58:45 -07:00
Dan Stoza 54716317b5 libgui: Remove IGBC::BufferItem
Removes IGraphicBufferConsumer::BufferItem. Depends on the
following changes:
    I187b3a7d05196b6289596afac8fb9a9d4aebff76
    I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc

Change-Id: Id1fa56d092188f2cb712768d5d2fc6a9027fb73c
2015-03-16 10:11:40 -07:00
Dan Stoza 9cf51a7c86 libgui: Fix infinite recursion
One of the overloads of BufferQueueConsumer::acquireBuffer was
calling itself infinitely instead of calling the other overload.
This fixes that issue.

Bug: 19733425
Change-Id: Iac8425e1241774304a131da2fb9dec6e82922f13
2015-03-13 15:44:59 -07:00
Dan Stoza dd26416fe1 libgui: Prepare for IGBC::BufferItem removal
Switches some dependencies from IGraphicBufferConsumer::BufferItem to
android::BufferItem and adds some methods to facilitate incrementally
changing client code to do the same.

Change-Id: I699ed0a6837076867ca756b28d1ffb2238f7a0d9
2015-03-12 14:44:28 -07:00
Dan Stoza de7100ab23 libgui: Add a BufferItem overload to IGBC::acquire
Adds an overload of IGraphicBufferConsumer::acquireBuffer which takes
an android::BufferItem instead of an IGBC::BufferItem.

Change-Id: I9c3bc8037fa9438d4d9080b8afb694219ef2f71f
2015-03-11 16:38:47 -07:00
Dan Stoza 8757c016c8 libgui: Add BufferItem(IGBC::BufferItem)
Add a constructor for building a BufferItem from an
IGraphicBufferConsumer::BufferItem.

Change-Id: I1394e693314429ada93427889f10b7b01c948053
2015-03-11 15:37:12 -07:00
Eino-Ville Talvala 94d5ac4802 Merge "Add dataSpace to buffer queues; remove old format enums." 2015-03-06 22:13:07 +00:00
Dan Stoza d8bf6e0baf Merge "Surface: Permit an IProducerListener on connect" 2015-03-06 20:50:09 +00:00
Dan Stoza abf952c1b1 GLConsumer: Fix unsigned subtraction during crop
Since some variables had been switched from signed to unsigned, there
was a section of code that was guaranteed to be incorrect because it
effectively did 'if (a < b) { c = a - b; }'. This change fixes it.

Bug: 19346631
Change-Id: I9cdd6c9a0179801addebb5d6dc1fbaddf8f53c62
2015-03-04 14:58:02 -08:00
Eino-Ville Talvala 5b75a513e4 Add dataSpace to buffer queues; remove old format enums.
- Wire up new dataSpace parameter through buffer queue stack
- Update tests to include the parameter
- Switch eglApi to using dataSpace to indicate sRGB gamma/linear
  difference
- Remove RAW_SENSOR in favor of RAW16
- Remove use of sRGB format enums
- Add default dataspace to buffer queue core
- Add query for default dataspace

Change-Id: I070bd2e7c56506055c419004c29e2e3feac725df
2015-03-04 11:58:52 -08:00
Dan Stoza f8e3c6b6d8 Surface: Permit an IProducerListener on connect
This change allows clients of Surface to provide an IProducerListener
callback object to Surface::connect, which will be passed down to the
underlying IGraphicBufferProducer.

Change-Id: I5ea5229bf3a329bf02c6bd20e7247039c75d136b
2015-03-02 22:17:27 -08:00
Elliott Hughes 700619e73e am 58573ecd: am 485d3730: am f3f22e55: Merge "Add missing <unistd.h> include for close."
* commit '58573ecdd201f3c678a68377f682e64ddaef0be6':
  Add missing <unistd.h> include for close.
2015-02-20 01:26:57 +00:00
Elliott Hughes 58573ecdd2 am 485d3730: am f3f22e55: Merge "Add missing <unistd.h> include for close."
* commit '485d3730042381ed203e312ad70fec9cb0d2d934':
  Add missing <unistd.h> include for close.
2015-02-20 01:20:21 +00:00
Elliott Hughes 485d373004 am f3f22e55: Merge "Add missing <unistd.h> include for close."
* commit 'f3f22e555bae8e362f3cac1efb289ca321266035':
  Add missing <unistd.h> include for close.
2015-02-20 01:13:29 +00:00
Elliott Hughes 14df3564fb Add missing <unistd.h> include for close.
Change-Id: Iebce6d74eecb8c275e800b7f47f74bbd4374860d
2015-02-19 16:58:44 -08:00
Michael Lentine f6303459d1 am a4201c10: am 592cc33c: am e86f7e96: am 3c0272ba: am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.
* commit 'a4201c10aeb977a6e4e8c1bcb9ceca5ab591d0ad':
  Update maxNumber to be smaller.
2015-02-19 01:21:04 +00:00
Michael Lentine a4201c10ae am 592cc33c: am e86f7e96: am 3c0272ba: am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.
* commit '592cc33c408d5c91ad87e1a51d72269d4525a10b':
  Update maxNumber to be smaller.
2015-02-19 01:06:53 +00:00
Michael Lentine 592cc33c40 am e86f7e96: am 3c0272ba: am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.
* commit 'e86f7e96a75a7bf7bfa85d52cd9f2145fe25878c':
  Update maxNumber to be smaller.
2015-02-19 01:00:47 +00:00
Michael Lentine e86f7e96a7 am 3c0272ba: am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.
* commit '3c0272ba8fbb98b5f1d45c52b1ae5292a8978e7d':
  Update maxNumber to be smaller.
2015-02-19 00:47:06 +00:00
Michael Lentine 3c0272ba8f am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.
* commit 'dc2d031a7ee05725ad3d8cab4887d6c7a4063967':
  Update maxNumber to be smaller.
2015-02-19 00:32:42 +00:00
Michael Lentine dc2d031a7e am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.
* commit 'da9fd70de125b0e6df4fb6285f538be9133c7b22':
  Update maxNumber to be smaller.
2015-02-19 00:25:34 +00:00
Michael Lentine da9fd70de1 am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.
* commit '2758eb2e67d935cf1f04e3d713438c6ac7fe8b89':
  Update maxNumber to be smaller.
2015-02-19 00:15:40 +00:00
Michael Lentine 2758eb2e67 am fde92eb0: Update maxNumber to be smaller.
* commit 'fde92eb0ffcc37106d5fe85bf1f1ba30d8639d17':
  Update maxNumber to be smaller.
2015-02-19 00:10:11 +00:00
Michael Lentine fde92eb0ff Update maxNumber to be smaller.
There shouldn't be more than 4096 fds (probably signficantly smaller) and
there shouldn't be more than 4096 ints.

Bug: 18076253

Change-Id: I3a3e50ee3078a4710e9737114e65afc923ed0573
2015-02-18 10:34:37 -08:00
Nick Vaccaro fc35dd8bc9 am 26cc3d0b: am b9bb1f13: Merge "Add support for SENSOR_TYPE_WRIST_TILT_GESTURE" into lmp-mr1-modular-dev
* commit '26cc3d0b67ff4daf31eaeed0ecd87b391978aadb':
  Add support for SENSOR_TYPE_WRIST_TILT_GESTURE
2015-02-11 20:12:12 +00:00
Nick Vaccaro 26cc3d0b67 am b9bb1f13: Merge "Add support for SENSOR_TYPE_WRIST_TILT_GESTURE" into lmp-mr1-modular-dev
* commit 'b9bb1f139bd1cbf3b3faa002b509f3f0a167e20b':
  Add support for SENSOR_TYPE_WRIST_TILT_GESTURE
2015-02-11 20:04:42 +00:00
Nick Vaccaro 9bb99b1570 Add support for SENSOR_TYPE_WRIST_TILT_GESTURE
Change-Id: I7e5516de805618df41de0f9b06805002e32708c3
2015-02-07 00:09:05 +00:00
Ruben Brunk a27e2f7179 Merge "Add ProcessInfoService to activity manager." 2015-02-03 20:23:14 +00:00
Ruben Brunk 52f0407d68 Add ProcessInfoService to activity manager.
- Adds a new AIDL interface for querying process
  information from activity manager.

Bug: 19186859

Change-Id: Ic08858f346d6b66e7bfc9da6faa2c6e38d9b2e82
2015-02-02 14:56:55 -08:00
Lajos Molnar b3ca72ce1e CpuConsumer: fix build error 2015-01-29 10:55:21 -08:00
Chad Jones bacce71e40 Merge commit 'ec41d55b8d018f349f7687cfe491651db600b51d' 2015-01-29 10:32:25 -08:00
Chad Jones 1bca4eeba1 Merge commit '180c2ba763c32793c6d3c5fe2683f8f2b233ca10' 2015-01-29 10:32:02 -08:00
Lajos Molnar ec41d55b8d am 94ee9b59: Merge "CpuConsumer: lock buffers that could be YUV as ycbcr" into lmp-mr1-dev
* commit '94ee9b5916903e6ee23bb1ce8f688900a4eb6f65':
  CpuConsumer: lock buffers that could be YUV as ycbcr
2015-01-29 08:41:35 +00:00
Lajos Molnar 94ee9b5916 Merge "CpuConsumer: lock buffers that could be YUV as ycbcr" into lmp-mr1-dev 2015-01-29 07:53:58 +00:00
Lajos Molnar 180c2ba763 resolved conflicts for merge of 1f9f71e1 to lmp-mr1-dev-plus-aosp
Change-Id: I627e58fe738e9a3b9831508853f26f9adc350f90
2015-01-28 21:27:46 -08:00
Lajos Molnar 6a26be7c2b CpuConsumer: lock buffers that could be YUV as ycbcr
Bug: 17906609
Change-Id: Ic71af69ec3b19ab1224ed3ad5e0a97c60e81cda6
2015-01-28 16:52:43 -08:00
Lajos Molnar 1f9f71e183 GraphicBufferMapper: handle devices that do not implement lock_ycbcr
Bug: 19179927
Change-Id: I09ffca954fed3cd2d3466c8396627dc7dbc0052d
2015-01-28 16:26:36 -08:00
Yabin Cui 3d6c569140 am 39d890d9: am 6e32c037: Merge "Kill HAVE_PTHREADS."
* commit '39d890d9aed5cb07b8a166a749299b9d24d8f137':
  Kill HAVE_PTHREADS.
2015-01-27 23:42:55 +00:00
Yabin Cui 39d890d9ae am 6e32c037: Merge "Kill HAVE_PTHREADS."
* commit '6e32c0377db89bafa477715b3a02431d651978cf':
  Kill HAVE_PTHREADS.
2015-01-27 19:56:06 +00:00
Yabin Cui 8fb2d25ff3 Kill HAVE_PTHREADS.
Bug: 19083585
Change-Id: I355491de945590f43c82bdcb7968b01b4bff6e06
2015-01-26 22:36:36 -08:00
Dan Stoza 31bf9335ca am e18155e1: am 4ecf6ec9: Merge "Restore Region::set(uint32_t, uint32_t)"
* commit 'e18155e1c68a2ccd8ed2eb86b7c8c8481747ac0c':
  Restore Region::set(uint32_t, uint32_t)
2015-01-22 01:49:34 +00:00
Dan Stoza e18155e1c6 am 4ecf6ec9: Merge "Restore Region::set(uint32_t, uint32_t)"
* commit '4ecf6ec932644b680d5e13791275dd3bc1a1ee6d':
  Restore Region::set(uint32_t, uint32_t)
2015-01-22 00:13:22 +00:00
Dan Stoza 4ecf6ec932 Merge "Restore Region::set(uint32_t, uint32_t)" 2015-01-21 16:39:22 +00:00
Jeff Sharkey 1011032570 am 499127ea: am 8f3ade0c: Merge "Follow StrictMode refactoring."
* commit '499127eab812088ca24421b59ebfac6f47ea850f':
  Follow StrictMode refactoring.
2015-01-16 06:14:41 +00:00
Jeff Sharkey 499127eab8 am 8f3ade0c: Merge "Follow StrictMode refactoring."
* commit '8f3ade0c9ab52a1e4f13d6ff1922dd98e3ccdbcc':
  Follow StrictMode refactoring.
2015-01-16 06:07:31 +00:00
Riley Andrews a377321c61 am 15411a00: am aec92242: Merge "Replace all instances of intptr_t with uintptr_t."
* commit '15411a00e15ecb169b3ee8251aac01cfa4b4fb84':
  Replace all instances of intptr_t with uintptr_t.
2015-01-14 21:13:49 +00:00
Riley Andrews a7f0432a3b am d66ba520: am 41a160c4: Merge "Fix signed/unsigned comparison warnings in driver interface test."
* commit 'd66ba5209a8bb10abd7514544159a19fedd81e52':
  Fix signed/unsigned comparison warnings in driver interface test.
2015-01-14 21:13:48 +00:00
Jeff Sharkey 0c1f5cbb8a Follow StrictMode refactoring.
Bug: 18335678
Change-Id: Iea920cfa26b5ebfd77b4601c9e6e65b21599342a
2015-01-14 10:58:52 -08:00
Riley Andrews 15411a00e1 am aec92242: Merge "Replace all instances of intptr_t with uintptr_t."
* commit 'aec922426620804768f00a6c5cb902f278f2967f':
  Replace all instances of intptr_t with uintptr_t.
2015-01-13 23:26:02 +00:00
Riley Andrews d66ba5209a am 41a160c4: Merge "Fix signed/unsigned comparison warnings in driver interface test."
* commit '41a160c4cda1ef2c916028ec2d0801da738b5249':
  Fix signed/unsigned comparison warnings in driver interface test.
2015-01-13 23:26:01 +00:00
Riley Andrews 29d8cf91be Replace all instances of intptr_t with uintptr_t.
When compiling 32 bit binaries against a 64 bit binder interface,
implicit promotions of intptr_t types to uint64_t for fields in the
binder ioctl structures can result in invalid pointers because of sign
extension.
2015-01-13 21:59:44 +00:00
Riley Andrews 50bcb00a91 Fix signed/unsigned comparison warnings in driver interface test. 2015-01-12 18:20:49 -08:00
Bernhard Rosenkraenzer fe4966d59b Restore Region::set(uint32_t, uint32_t)
The Region::set(uint32_t,uint32_t) ABI is used by the Nexus 10 graphics
driver blobs.
After commit dd883c0b08, Nexus 10 blobs
need a rebuild unless the old ABI is added back

Change-Id: I138dcc1cc281b8d3cde0021282bf874054ec4eaf
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2014-12-22 21:15:08 +01:00
Riley Andrews c872fa81c6 am 68047ffd: am 53186a4d: Merge "Add binder tests"
* commit '68047ffd4327bf5695ebf26833c3e2f40a3dfbd3':
  Add binder tests
2014-12-19 04:02:29 +00:00
Riley Andrews 7e21cad708 am bf247a3d: am dbd252ea: Merge "Add binder driver interface test"
* commit 'bf247a3d3797c2e729fd15b7a93913b24ce8ac72':
  Add binder driver interface test
2014-12-19 04:02:29 +00:00
Riley Andrews 68047ffd43 am 53186a4d: Merge "Add binder tests"
* commit '53186a4d78479ba21213b6e055c7a85faeb318e2':
  Add binder tests
2014-12-19 03:52:36 +00:00
Riley Andrews bf247a3d37 am dbd252ea: Merge "Add binder driver interface test"
* commit 'dbd252eab09d669a7d4b917890d75408193a85d3':
  Add binder driver interface test
2014-12-19 03:52:35 +00:00
Riley Andrews 06b01adcb8 Add binder tests
Change-Id: Ib0b38708dd6387fc4d5a4857ca74a217f3edad1a
2014-12-19 00:39:31 +00:00
Riley Andrews dc9b148985 Add binder driver interface test
Test ioctls and some binder commands without using libbinder.

Change-Id: I86dde56ff1380bca17d086021ac5324dc5210354
2014-12-19 00:38:27 +00:00
Andreas Gampe a21b7a0686 am b93bca5d: am a59d7a6a: Merge "GUI: Remove unused variables"
* commit 'b93bca5d0831068cd599f905ba43dc8334095d65':
  GUI: Remove unused variables
2014-12-09 23:48:51 +00:00
Andreas Gampe 80ea4e0373 am 5d11a72b: am 8fd567b1: Merge "Libui: Remove unused variables"
* commit '5d11a72bcd7d92ea0c0bf3959ed45380264f0495':
  Libui: Remove unused variables
2014-12-09 23:24:10 +00:00
Andreas Gampe b93bca5d08 am a59d7a6a: Merge "GUI: Remove unused variables"
* commit 'a59d7a6a66a2b8dcb2d00dbd6371fa89ae45ab04':
  GUI: Remove unused variables
2014-12-09 20:09:18 +00:00
Andreas Gampe 5d11a72bcd am 8fd567b1: Merge "Libui: Remove unused variables"
* commit '8fd567b127170a3962bc9de637eb7987cee71810':
  Libui: Remove unused variables
2014-12-09 11:25:32 +00:00
Andreas Gampe 7398a5af38 GUI: Remove unused variables
For build-system CFLAGS clean-up, remove unused variables.

Bug: 18632512
Change-Id: I79fdcf830683d7278f4bf114cfb76a26da1b88ff
2014-12-08 20:42:40 -08:00
Dan Stoza e22262ffd0 Merge "libgui: Enable -Weverything and -Werror" 2014-12-08 18:46:08 +00:00
Andreas Gampe ff78750c64 Libui: Remove unused variables
For build-system CFLAGS clean-up, remove unused variables.

Bug: 18632512
Change-Id: Ib78912ae442ddc6410960ab1efb4fb2faa1a9208
2014-12-05 20:52:16 -08:00
Dan Stoza dd883c0b08 libgui: Enable -Weverything and -Werror
Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

This is a squashed commit based on an initial change with a couple of
fixes to avoid breaking certain targets. The source commits are:
  d723bd7669
  00d504c06e
  429ba89cd2

Change-Id: I034abec27bf4020d84af60d7acc1939c59986dd6
2014-12-05 14:59:29 -08:00
Dan Stoza 00d504c06e libgui: Only allow one return from useFenceSync
An #ifdef was causing multiple returns in this function, which was
triggering an unreachable code error on some build targets. This
adds an #else to ensure that only one return is exposed in any given
build.

Change-Id: I9ed7c3e769bc9094ad31d810944227d1d8302886
2014-12-05 13:43:03 -08:00
Michael Lentine ae33effd43 Fix crash when user provides large values in the Parcel.
Bug: 18102648
Change-Id: Ie6a24718e586a34424238363de80f9545951514f
(cherry-picked from commit 8afa1c4ab8)
2014-12-05 20:31:09 +00:00
Dan Stoza d723bd7669 libgui: Enable -Weverything and -Werror
Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Change-Id: I034abec27bf4020d84af60d7acc1939c59986dd6
2014-12-05 11:06:44 -08:00
Dan Albert 6efc505bd8 am 09b9193d: Merge "Fix -Werror on 64-bit builds"
* commit '09b9193d10b3849e426c5370a757a0eedc65a7ff':
  Fix -Werror on 64-bit builds
2014-12-05 18:01:50 +00:00
Dan Albert bcf7f22102 am 67df03d0: Merge "Disable struct padding warning/error"
* commit '67df03d054f0cc4bd0e47066642b791198e9b0ad':
  Disable struct padding warning/error
2014-12-05 18:01:49 +00:00
Dan Albert bb37153577 am 35df7531: Merge "libui: Enable -Weverything and -Werror"
* commit '35df753169397d9b647b251446af7093e237d047':
  libui: Enable -Weverything and -Werror
2014-12-05 18:01:49 +00:00
Dan Albert 7530114619 am 5588d900: Merge "Enable clang for libui/libgui/surfaceflinger"
* commit '5588d9000cd1ef217185c9001d6b5ecd84db9741':
  Enable clang for libui/libgui/surfaceflinger
2014-12-05 18:01:48 +00:00
Dan Stoza 133caacf87 Fix -Werror on 64-bit builds
Add another static_cast to avoid an error on 64-bit builds

Change-Id: I62fb2c67766c4aab70d9d1834f255d06ff82dd8d
(cherry picked from commit 116c7a113c)
2014-12-04 18:06:48 -08:00
Dan Stoza 42af278173 Disable struct padding warning/error
Adds -Wno-padded, which was triggering on 64-bit devices

Change-Id: If27bac27881f2081a222b32213901f5087554b07
(cherry picked from commit 4e84bd310c)
2014-12-04 18:06:48 -08:00
Dan Stoza d318240042 libui: Enable -Weverything and -Werror
Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Change-Id: I470a267e9b1c373f2d5c960f005c3b0e02b2db63
(cherry picked from commit 303b9a5123)
2014-12-04 17:56:27 -08:00
Dan Stoza 01049c8321 Enable clang for libui/libgui/surfaceflinger
Enables clang and C++11 for libui/libgui/surfaceflinger, and
eliminates all compile-time warnings.

Change-Id: Ie237fdb5ae44f2bfcddaa884f9c65ec3f08ae50f
(cherry picked from commit f10c46ef85)
2014-12-04 17:56:17 -08:00
Michael Lentine 3880326857 Fix for corruption when numFds or numInts is too large.
Bug: 18076253
Change-Id: I4c5935440013fc755e1d123049290383f4659fb6
(cherry picked from commit dfd06b89a4)
2014-12-04 17:49:31 -08:00
Michael Lentine 784fd39a19 resolved conflicts for merge of d6308379 to lmp-dev
Change-Id: I92ed61b6fdfe458cf5f8bfd6f0b37ff736280500
2014-12-02 11:15:56 -08:00
Michael Lentine d6308379d9 am 76ebd319: am 3d89edca: am e6f7a44e: Fix for corruption when numFds or numInts is too large.
* commit '76ebd319d96494049a2a598f4449c0ec417220f6':
  Fix for corruption when numFds or numInts is too large.
2014-12-02 18:04:09 +00:00
Michael Lentine 76ebd319d9 am 3d89edca: am e6f7a44e: Fix for corruption when numFds or numInts is too large.
* commit '3d89edca65e07319c9ac3b9bb9889e80e8c40578':
  Fix for corruption when numFds or numInts is too large.
2014-12-02 17:52:00 +00:00
Michael Lentine 3d89edca65 am e6f7a44e: Fix for corruption when numFds or numInts is too large.
* commit 'e6f7a44e835d320593fa33052f35ea52948ff0b2':
  Fix for corruption when numFds or numInts is too large.
2014-12-02 17:45:44 +00:00
Dan Stoza 116c7a113c Fix -Werror on 64-bit builds
Add another static_cast to avoid an error on 64-bit builds

Change-Id: I62fb2c67766c4aab70d9d1834f255d06ff82dd8d
2014-12-01 15:15:31 -08:00
Dan Stoza 4e84bd310c Disable struct padding warning/error
Adds -Wno-padded, which was triggering on 64-bit devices

Change-Id: If27bac27881f2081a222b32213901f5087554b07
2014-12-01 15:03:34 -08:00
Dan Stoza 303b9a5123 libui: Enable -Weverything and -Werror
Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Change-Id: I470a267e9b1c373f2d5c960f005c3b0e02b2db63
2014-12-01 11:43:52 -08:00
Dan Stoza 456d35b34f am e4ea03f7: am 80e81505: Merge "binder: Add {read,write}Uint32 methods to Parcel"
* commit 'e4ea03f74ded76f588501bd2e90ecb767c6426b3':
  binder: Add {read,write}Uint32 methods to Parcel
2014-12-01 19:29:12 +00:00
Dan Stoza b01eea0a58 am 32ad1d51: am 104e1259: Merge "binder: Return pid_t/uid_t instead of int"
* commit '32ad1d518b8e89b487c8da2f6ec29c9a30ee5529':
  binder: Return pid_t/uid_t instead of int
2014-12-01 19:29:11 +00:00
Dan Stoza e4ea03f74d am 80e81505: Merge "binder: Add {read,write}Uint32 methods to Parcel"
* commit '80e8150549c9d8380dadf942336d41ab3d92bf78':
  binder: Add {read,write}Uint32 methods to Parcel
2014-12-01 19:27:00 +00:00
Dan Stoza 32ad1d518b am 104e1259: Merge "binder: Return pid_t/uid_t instead of int"
* commit '104e12594e085bc8dd32eedb96643b774b1508a0':
  binder: Return pid_t/uid_t instead of int
2014-12-01 19:23:22 +00:00
Dan Stoza 41a0f2f86c binder: Add {read,write}Uint32 methods to Parcel
Adds readUint32 and writeUint32 methods to the Parcel class. This
saves a lot of static_casting in anything implementing a Binder
interface on the native side.

Change-Id: Iafc73b0633654a3a4c49767f41806b56906c924f
2014-12-01 11:13:11 -08:00
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 627086c2ef am a7c75d1b: am 2d7ec9d7: Merge "Fix build with clang in C++11 mode"
* commit 'a7c75d1b17556d9842a7823c94a2c96982687c63':
  Fix build with clang in C++11 mode
2014-11-25 23:01:13 +00: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 b54d73d972 am 09efe0ac: am 2e42a906: Merge "Binder: Remove unused functions & variables"
* commit '09efe0ac2a0f34eb951c9a2b91b2d15e3ab7b7ca':
  Binder: Remove unused functions & variables
2014-11-25 19:56:30 +00: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 7a6037e914 am f167968b: am e0f91c37: Merge "We HAVE_LITTLE_ENDIAN."
* commit 'f167968b4667df017958a653f74c60831faf5ad8':
  We HAVE_LITTLE_ENDIAN.
2014-11-22 08:04:43 +00: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
Michael Lentine e6f7a44e83 Fix for corruption when numFds or numInts is too large.
Bug: 18076253
Change-Id: I4c5935440013fc755e1d123049290383f4659fb6
2014-11-21 17:18:59 -08:00
Dan Albert 325c4c9aa7 resolved conflicts for merge of c1ced8bb to master
Change-Id: I83db00ff986ace8a1c77648738b93124613ddfc0
2014-11-20 15:16:22 -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
Marco Nelissen 2ea926bda2 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-14 14:01:29 -08:00
Dianne Hackborn abd62d66ef am 1f3ac8b4: am a4cff88d: Fix issue #18356768: some app process may hang at Runtime#exit...
* commit '1f3ac8b42ff784930d8194b75d33aef1098a8231':
  Fix issue #18356768: some app process may hang at Runtime#exit...
2014-11-14 19:18:26 +00: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
Dan Stoza d26b17a137 Merge "Enable clang for libui/libgui/surfaceflinger" 2014-11-12 20:14:29 +00:00
Dianne Hackborn 00326f6409 am ba2e1a33: am ca69e8f2: Merge "Add tracking of parcel memory allocations." into lmp-mr1-dev
* commit 'ba2e1a332eb24fcf4eef3634b8233d1681fd1309':
  Add tracking of parcel memory allocations.
2014-11-12 16:36:49 +00:00