Commit Graph

1719 Commits

Author SHA1 Message Date
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
Etienne Le Grand
630e31d6ed Add heart rate to ASensorEvent
Change-Id: Ic82838b17a575de93d499e44a454bb382f17678f
2014-05-23 12:35:10 -07:00
Aravind Akella
72c524dd8c am 040730e8: am 1236710b: Remove getRequiredPermission from NDK.
* commit '040730e8954b2f686390434646f82bc333de7058':
  Remove getRequiredPermission from NDK.
2014-05-23 18:04:27 +00:00
Dan Stoza
c18790018b SurfaceFlinger: Add sourceCrop to screenshot
Adds a sourceCrop Rect parameter to screenshot commands, which allows
clients to capture only a portion of the screen instead of the whole
screen.

Bug: 15137922
Change-Id: I629447573cd34ffb96334cde7ba02490b9ea06d8
2014-05-23 09:19:03 -07:00
Aravind Akella
040730e895 am 1236710b: Remove getRequiredPermission from NDK.
* commit '1236710bccd8f5870c0281e24a899c3d58f708e6':
  Remove getRequiredPermission from NDK.
2014-05-22 22:44:55 +00:00
Aravind Akella
1236710bcc Remove getRequiredPermission from NDK.
Change-Id: Ic967adde89f30261c75fca67c09d14d35bd1cdb3
2014-05-22 13:19:49 -07:00
Jeff Brown
b9e879d429 Merge "Support VIRTUAL flag in keyboard layouts." 2014-05-21 02:34:36 +00:00
Jeff Brown
5a7d2f9a15 Support VIRTUAL flag in keyboard layouts.
This flag is used to provide haptic feedback for virtual hard keys.

Bug: 14319563
Change-Id: Ia0ca1acc8cfa00a42d1c04d279dfa59c6cc00f4d
2014-05-20 17:29:30 -07:00
Jinsuk Kim
bc4e396d17 New keycode definitions for HDMI-CEC
Following keys are added to be mapped to HDMI-CEC standard keys:

KEYCODE_MEDIA_TOP_MENU
KEYCODE_11
KEYCODE_12
KEYCODE_LAST_CHANNEL
KEYCODE_TV_DATA_SERVICE

Change-Id: Ie73cf4cd8355ced4753eb5bba0ea130b087dfc36
2014-05-20 07:51:18 +09:00
Tim Kilbourn
6b4e02f1cb Add KEYCODE_PAIRING.
Used for initiating a peripheral pairing mode.

Change-Id: I7e8439d27491ccc72d045cabf5751a35b9113aa7
2014-05-16 15:36:11 -07:00
Narayan Kamath
f8c66b4bee am cfba3bf1: am c9fcaf37: Merge "Change InputMessage.motion.pointerSize to a uint32_t."
* commit 'cfba3bf1606dfdb1daf1be1c19176180660ae19d':
  Change InputMessage.motion.pointerSize to a uint32_t.
2014-05-16 12:10:21 +00:00