Commit Graph

1729 Commits

Author SHA1 Message Date
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
Adam Lesinski 16d08a595e Add native flag to reflect new density type
Bug:17007265
Change-Id: If0129c4ad222fe28628d6f7cd8ee78fc6424e177
2014-08-22 22:23:08 -07:00
Michael Wright 51409573be Add Voice Assist key.
Bug: 16292420
Change-Id: I607fadc2edf673079bfd9f7406e6e45603474957
2014-08-21 19:09:49 -07:00
Aravind Akella 6c2664ae34 SensorService fixes.
1) Flush should only be received by the app calling flush(). Maintain
      a queue of all flush() calls and send flush_complete events in that
      order.
   2) Log warnings for older HALs. Remove batch() calls with DRY_RUN flag.
   3) Reallocate event cache when more sensors register and the desired
      maxCacheSize increases. Clear NEEDS_ACK flag in the buffer whenever
      there is a write() failure.
   4) More dump information. Add wake-up flag, maxDelay and timestamps for
      sensor events.

Bug: 16874778
Change-Id: I195646191059fd31f75f2f07886c0f98bf9b509a
2014-08-19 11:18:25 -07:00
Michael Wright 62fbb16383 Shelve InputFlinger for another release. DO NOT MERGE
Change-Id: I0f034a2b8b1d9192f61f5001799bd3aa4b3964c7
2014-08-18 10:17:18 -07:00
Rachad 7d1cd4aae2 Merge "Tunneled Video Playback support" into lmp-dev 2014-08-09 00:45:27 +00:00
Aravind Akella 8f3b7ce889 Merge "Sensor related changes for NDK." into lmp-dev 2014-08-05 17:41:31 +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
Jean-Michel Trivi e91cd213d4 AAC codec profile updates
Add new fields to OMX_AUDIO_PARAM_AACPROFILETYPE for
- SBR configuration
- decoder max number of channels
- decoder DRC parameters

Bug 16740915

Change-Id: Ib01822bc402fe9064c6c1c68b72c570cf72b7ecb
2014-08-05 22:34:37 +00: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
Jeff Tinker bc6b9e7f8a Allow device to be unprovisioned
bug: 12247651
Change-Id: Ib0ec34da708b11a95da66c353d864bb87a6616c9
2014-07-31 10:27:53 -07:00
Michael Wright 1f6078aef7 Have VirtualDisplays send SF resize messages when resizing
Change-Id: I76d15b22099a659450ec875836c9bf2b6584838f
2014-07-30 11:23:44 -07:00
Riley Andrews 03414a1cfe Turn on support for async cursor update in surfaceflinger.
If available, surfaceflinger will use the hwc setCursorPositionAsync()
api to change the position of supported cursor layers outside of
the usual prepare/set loop.

Change-Id: Ib3fc5c0c390b3489ddbba202379840a1d2748917
2014-07-28 22:07:41 +00:00
Lajos Molnar 524077caa6 OMX: add supporting methods for flexible YUV
Bug: 10706245
Change-Id: I2427930a34c468e49d3db7ba2865344f1fba2960
2014-07-25 18:06:37 -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
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
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
Jeff Tinker f0ca9cd773 Merge "Fix non-portable definition of CryptoPlugin::SubSample" 2014-07-01 19:25:54 +00:00
Jeff Tinker 03a0571e96 Fix non-portable definition of CryptoPlugin::SubSample
bug: 16016106
Change-Id: I76514b2e7a28c86a0b0b311af575ca9dfc9471a9
2014-07-01 14:54:45 -07: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
Andy McFadden 91b2ca8562 Add two new display info fields
This adds SurfaceFlinger's app VSYNC offset and buffer deadline
values to DisplayInfo.

Bug 14612039

Change-Id: Ie0ab21d388fe2764f2b6f71bd1cefa33dc861a73
2014-06-17 10:41:46 -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
Michael Wright 8f6710fdeb Bump axis limit
Change-Id: I53d18646be2b884c5022f10c7c4ea8f6cda176c8
2014-06-09 18:56:43 -07:00
Lajos Molnar 6445efde47 am 64f5ec51: fix compiler warning in OMX_VideoExt.h
* commit '64f5ec51ad3a9aea5a849d51139e605815b42d75':
  fix compiler warning in OMX_VideoExt.h
2014-06-06 06:58:39 +00:00
Lajos Molnar 64f5ec51ad fix compiler warning in OMX_VideoExt.h
Bug: 11969958
Change-Id: I6dbc1c5a56c5f8db0af931c9391299aaaf1b536a
2014-06-05 22:33:52 -07:00
Prashant Malani 2c9b11f029 surfaceflinger: Replace blank/unblank with setPowerMode
We replace the blank/unblank calls in surfaceFlinger with a more generic
setPowerMode() routine.

Some displays support different power modes (for example, with reduced
color palettes). Depending on the use case we should be able to toggle
these modes, so as to achieve incremental power savings.

Initially, three power modes will be supported:
- HWC_POWER_MODE_OFF
- HWC_POWER_MODE_DOZE
- HWC_POWER_MODE_NORMAL

HWC_POWER_MODE_OFF will correspond to blanking the display, while
HWC_POWER_MODE_NORMAL will correspond to unblanking. HWC_POWER_MODE_DOZE
will put the display into a low power setting, if it is supported in
hardware.

If such a low power mode is not supported, it should be treated as a
call to set the mode to HWC_POWER_MODE_NORMAL.

As a consequence of adding the mPowerMode field, the mScreenAcquired is
no longer required, and thus references to it are removed and replaced
equivalent references to mPowerMode.

We also add the glue code to connect the services invocation of setting
a power mode and the HAL implementation in HWComposer.

Bug: 13472578
Change-Id: I431595ecf16d2f2c94259272db3dd42f29636204
Signed-off-by: Prashant Malani <pmalani@google.com>
2014-06-05 16:35:52 -07:00
Aravind Akella e75b7b491e Remove getRequiredPermission from NDK.
Bug: 15089664
Change-Id: Ic967adde89f30261c75fca67c09d14d35bd1cdb3
(cherry picked from commit 1236710bcc)
2014-06-05 22:24:49 +00:00
Narayan Kamath db1972bd8e am 26063a91: am f1dd859b: Merge "x86_64: Align uint64_t/int64_t structure member to 8 bytes"
* commit '26063a9155ddd18d858cea7fac7c1ddf71e1bcb7':
  x86_64: Align uint64_t/int64_t structure member to 8 bytes
2014-06-03 13:58:40 +00:00
Narayan Kamath 26063a9155 am f1dd859b: Merge "x86_64: Align uint64_t/int64_t structure member to 8 bytes"
* commit 'f1dd859baa114995bcbcfb7119e939d0b4f45ed5':
  x86_64: Align uint64_t/int64_t structure member to 8 bytes
2014-06-03 13:29:00 +00:00
Narayan Kamath f1dd859baa Merge "x86_64: Align uint64_t/int64_t structure member to 8 bytes" 2014-06-03 10:06:55 +00:00
Fengwei Yin 83e0e425c6 x86_64: Align uint64_t/int64_t structure member to 8 bytes
To make sure the stature which pass between 32/64bit process have
same memory layout for 32/64bit.

Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
Co-Authored-by: Narayan Kamath <narayan@google.com> (Unit test only.)
Change-Id: I1bc2d12cce41ec0bc484adcaf968f274bec75c12
2014-05-30 14:13:29 +01:00
Dan Stoza 3d5c8a98c1 Merge "SurfaceFlinger: Add sourceCrop to screenshot" 2014-05-28 18:31:40 +00:00
Aravind Akella 812f15f2f9 Merge "Surface maxDelay and isWakeUpSensor flag in Sensor.java." 2014-05-27 19:38:00 +00:00
Etienne Le Grand 03b1a9db9d am b3a65bb0: am 9dcd38ad: Merge "Add heart rate to ASensorEvent" into klp-modular-dev
* commit 'b3a65bb0c2d2f6e660510efe0d93b3d26b0b2bf9':
  Add heart rate to ASensorEvent
2014-05-27 18:14:51 +00:00
Etienne Le Grand b3a65bb0c2 am 9dcd38ad: Merge "Add heart rate to ASensorEvent" into klp-modular-dev
* commit '9dcd38ad3b8335308b59932718e3f145aa50d318':
  Add heart rate to ASensorEvent
2014-05-27 18:10:16 +00:00
Etienne Le Grand 9dcd38ad3b Merge "Add heart rate to ASensorEvent" into klp-modular-dev 2014-05-27 18:02:49 +00:00
Aravind Akella d9441e4c27 Surface maxDelay and isWakeUpSensor flag in Sensor.java.
Change-Id: Idd1e9045190beeca87b086b272e8cbf0bed05bae
2014-05-23 18:58:01 -07:00