summaryrefslogtreecommitdiffstats
path: root/libs/gui
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | Merge "libgui: Allow an IGBProducer to disable allocation"Dan Stoza2015-04-244-22/+108
| |\ \ \ \ \ \
| | * | | | | | libgui: Allow an IGBProducer to disable allocationDan Stoza2015-04-234-22/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | | am 437fb850: am f96a7581: am fb6d43ff: Merge "libgui: Change BufferQueue to ↵Dan Stoza2015-04-243-39/+116
|\ \ \ \ \ \ \ \ | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use free lists" * commit '437fb850b0667be3e8655cb1ac6a8d491f59d045': libgui: Change BufferQueue to use free lists
| * | | | | | | Merge "libgui: Change BufferQueue to use free lists"Dan Stoza2015-04-243-39/+116
| |\ \ \ \ \ \ \ | | |/ / / / / /
| | * | | | | | libgui: Change BufferQueue to use free listsDan Stoza2015-04-233-39/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | | am 65f68d5c: am fece8306: am 56f1f16c: Merge "libgui: Fix some ↵Dan Stoza2015-04-239-77/+108
|\ \ \ \ \ \ \ \ | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bitrot/warnings in tests" * commit '65f68d5cb4a758a8e6faac95817f70383748a9c0': libgui: Fix some bitrot/warnings in tests
| * | | | | | | Merge "libgui: Fix some bitrot/warnings in tests"Dan Stoza2015-04-239-77/+108
| |\ \ \ \ \ \ \
| | * | | | | | | libgui: Fix some bitrot/warnings in testsDan Stoza2015-04-209-77/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | | | am 17df593e: am 9aae16a4: am 82e4d49b: Merge "libui/libgui: Fix errors in ↵Dan Stoza2015-04-231-52/+81
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | parceling" * commit '17df593eb386940a26377d2db9fcb8a60e8badba': libui/libgui: Fix errors in parceling
| * | | | | | | | Merge "libui/libgui: Fix errors in parceling"Dan Stoza2015-04-231-52/+81
| |\ \ \ \ \ \ \ \ | | |/ / / / / / / | | | / / / / / / | | |/ / / / / / | |/| | | | | |
| | * | | | | | libui/libgui: Fix errors in parcelingDan Stoza2015-04-201-52/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | | am 41422980: am d2c12e4c: am 7637e35d: Merge "Revert "libgui: Change ↵Dan Stoza2015-04-223-113/+39
|\ \ \ \ \ \ \ \ | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BufferQueue to use free lists"" * commit '41422980fabb087390791d951c28fef072d93be1': Revert "libgui: Change BufferQueue to use free lists"
| * | | | | | | Merge "Revert "libgui: Change BufferQueue to use free lists""Dan Stoza2015-04-223-113/+39
| |\ \ \ \ \ \ \
| | * | | | | | | Revert "libgui: Change BufferQueue to use free lists"Dan Stoza2015-04-223-113/+39
| | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8dddc990103b71137be2a6365a26b1ac36598e68. Change-Id: I0b0fed9f1394c6f6ae812f6c562ead4473a8226e
* | | | | | | | am 3805a00d: am 91f16b1b: am e647ddde: Merge "libgui: Fix CPU rendering on ↵Dan Stoza2015-04-221-4/+6
|\ \ \ \ \ \ \ \ | |/ / / / / / / | | | / / / / / | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | Surface" * commit '3805a00d6efef02535aaed96f412e0c55a9875f8': libgui: Fix CPU rendering on Surface
| * | | | | | libgui: Fix CPU rendering on SurfaceDan Stoza2015-04-211-4/+6
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | am aadb236d: am 483c76dc: am ff5c1a6b: Merge "libgui: Change BufferQueue to ↵Dan Stoza2015-04-203-39/+113
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use free lists" * commit 'aadb236d2e944791c1e7600eae9439fcb8a6caa9': libgui: Change BufferQueue to use free lists
| * | | | | libgui: Change BufferQueue to use free listsDan Stoza2015-04-173-39/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | am 057a561a: am 57a9f5a0: am fd5f41be: Merge "libgui: Pass surface damage ↵Dan Stoza2015-04-154-3/+82
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | through BufferQueue" * commit '057a561afbf30ede99b5ec627deec7ee11701f6d': libgui: Pass surface damage through BufferQueue
| * | | | | libgui: Pass surface damage through BufferQueueDan Stoza2015-04-154-3/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | am 172ff24c: am 5977851b: am 00afb817: Merge "libgui: Plumb detachBuffer ↵Dan Stoza2015-04-071-0/+15
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | through ConsumerBase" * commit '172ff24ccbc232cdf244a2bcbbb51df754929521': libgui: Plumb detachBuffer through ConsumerBase
| * | | | | libgui: Plumb detachBuffer through ConsumerBaseDan Stoza2015-04-071-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | DO NOT MERGE libgui: Plumb attach/detach through SurfaceDan Stoza2015-04-021-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 c14ecb9de243af8864610fd3c74342e3ca2cb4bc)
| * | | | | DO NOT MERGE libgui: Remove IGBC::BufferItemDan Stoza2015-03-207-257/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes IGraphicBufferConsumer::BufferItem. Depends on the following changes: I187b3a7d05196b6289596afac8fb9a9d4aebff76 I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc Cherry-pick of Id1fa56d092188f2cb712768d5d2fc6a9027fb73c Change-Id: I3edf0db8fba656fd78e18a5a7f1137f0fb6b237d
| * | | | | DO NOT MERGE libgui: Prepare for IGBC::BufferItem removalDan Stoza2015-03-1910-13/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | DO NOT MERGE Add dataSpace to buffer queues; remove old format enums.Eino-Ville Talvala2015-03-1917-32/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
| * | | | | Merge "Surface: Permit an IProducerListener on connect"Dan Stoza2015-03-191-1/+5
| |\ \ \ \ \
| | * | | | | Surface: Permit an IProducerListener on connectDan Stoza2015-03-181-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | libgui: Only allow one return from useFenceSyncDan Stoza2015-03-191-1/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | GLConsumer: Fix unsigned subtraction during cropDan Stoza2015-03-181-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | libgui: Enable -Weverything and -WerrorDan Stoza2015-03-1829-406/+517
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Revert "libgui: Plumb attach/detach through CpuConsumer"Dan Stoza2015-04-022-61/+2
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 20c5672883796c0dedf38f51dc2fc6f140b09ae6.
* | | | | | Support restricted mode in SensorService.Aravind Akella2015-03-242-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge "libgui: Plumb attach/detach through Surface"Dan Stoza2015-03-191-0/+49
|\ \ \ \ \ \
| * | | | | | libgui: Plumb attach/detach through SurfaceDan Stoza2015-03-161-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | libgui: Plumb attach/detach through CpuConsumerDan Stoza2015-03-172-2/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds CpuConsumer::{detachNextBuffer,attachAndReleaseBuffer}, which can be used to more carefully manage the ownership of GraphicBuffers. Bug: 19628705 Change-Id: Ia7a7e30da6d81eb2367241998f14988db0afc3bf
* | | | | | | Revert "libgui: Plumb attach/detach through CpuConsumer"Dan Stoza2015-03-172-61/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 43078e2827211139f0614719c920f3c5bff6c3fa. Change-Id: Ifef774d9922bb90450384e810e4767b56cc29de3
* | | | | | | libgui: Plumb attach/detach through CpuConsumerDan Stoza2015-03-162-2/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds CpuConsumer::{detachNextBuffer,attachAndReleaseBuffer}, which can be used to more carefully manage the ownership of GraphicBuffers. Bug: 19628705 Change-Id: Ia7aa1ac59c2f768f2d8a0f35ad23067936a7427c
* | | | | | | libgui: Remove IGBC::BufferItemDan Stoza2015-03-167-257/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes IGraphicBufferConsumer::BufferItem. Depends on the following changes: I187b3a7d05196b6289596afac8fb9a9d4aebff76 I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc Change-Id: Id1fa56d092188f2cb712768d5d2fc6a9027fb73c
* | | | | | | libgui: Fix infinite recursionDan Stoza2015-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | libgui: Prepare for IGBC::BufferItem removalDan Stoza2015-03-127-13/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | libgui: Add a BufferItem overload to IGBC::acquireDan Stoza2015-03-112-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds an overload of IGraphicBufferConsumer::acquireBuffer which takes an android::BufferItem instead of an IGBC::BufferItem. Change-Id: I9c3bc8037fa9438d4d9080b8afb694219ef2f71f
* | | | | | | libgui: Add BufferItem(IGBC::BufferItem)Dan Stoza2015-03-111-0/+15
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a constructor for building a BufferItem from an IGraphicBufferConsumer::BufferItem. Change-Id: I1394e693314429ada93427889f10b7b01c948053
* | | | | | Merge "Add dataSpace to buffer queues; remove old format enums."Eino-Ville Talvala2015-03-0617-32/+168
|\ \ \ \ \ \
| * | | | | | Add dataSpace to buffer queues; remove old format enums.Eino-Ville Talvala2015-03-0417-32/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | | | | | Merge "Surface: Permit an IProducerListener on connect"Dan Stoza2015-03-061-1/+5
|\ \ \ \ \ \ \
| * | | | | | | Surface: Permit an IProducerListener on connectDan Stoza2015-03-021-1/+5
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | GLConsumer: Fix unsigned subtraction during cropDan Stoza2015-03-041-6/+6
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | am 26cc3d0b: am b9bb1f13: Merge "Add support for ↵Nick Vaccaro2015-02-111-0/+7
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SENSOR_TYPE_WRIST_TILT_GESTURE" into lmp-mr1-modular-dev * commit '26cc3d0b67ff4daf31eaeed0ecd87b391978aadb': Add support for SENSOR_TYPE_WRIST_TILT_GESTURE
| * | | | | am b9bb1f13: Merge "Add support for SENSOR_TYPE_WRIST_TILT_GESTURE" into ↵Nick Vaccaro2015-02-111-0/+7
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-modular-dev * commit 'b9bb1f139bd1cbf3b3faa002b509f3f0a167e20b': Add support for SENSOR_TYPE_WRIST_TILT_GESTURE