Commit Graph

2587 Commits

Author SHA1 Message Date
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
Chong Zhang 2cbba477be add noteResetVideo/Audio to IBatteryStats
Bug: 12979595
Change-Id: Ida474e539a3af0a85ec157a66bbf986430c8020e
2014-07-23 21:51:56 +00:00
Colin Cross 45e695a248 Merge "crash if getNativeBuffer() called on NULL GraphicBuffer" into lmp-dev 2014-07-23 18:56:15 +00:00
Colin Cross 18fae75350 crash if getNativeBuffer() called on NULL GraphicBuffer
If getNativeBuffer() is called on a NULL GraphicBuffer the
static_cast of this from GraphicBuffer* to ANativeWindowBuffer*
will return a small pointer like (ANativeWindowBuffer*)0x10.
This value can propagate past NULL checks until it causes a crash
far away from the original NULL pointer.  Crash immediately
instead.

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

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

Bug: 11792166

Change-Id: I4ab1319995ef892be2beba892f1fdbf50ce0416d
(cherry picked from commit ea96044470)
2014-07-22 19:45:55 +00:00
Jeff Brown 31d825d7ed Add glance gesture for doze mode.
Change-Id: I038a706c3999200313ff5360c5ff1150ec081f08
2014-07-17 18:19:53 -07:00
Ruben Brunk 1681d95989 Add sticky transform to surfaceflinger.
Bug: 15116722

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

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

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

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

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

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

bug: 15424960
Change-Id: Id07d24ec95b2b393e6da138a7e8a9a4ecebeca94
2014-06-12 15:26:39 +01:00
Aravind Akella adb65d9add Merge "Surface reportingMode for Sensors." 2014-06-12 03:30:50 +00:00
Aravind Akella 0e025c5af3 Surface reportingMode for Sensors.
Change-Id: Iac8dd3408c90eb7d285a2e8043131fab3a7e58fa
2014-06-12 14:49:41 -07:00
Prashant Malani 7227b96a73 Merge "surfaceflinger: Replace blank/unblank with setPowerMode" 2014-06-12 03:30:50 +00:00
Mark Salyzyn 55fc54970b am 72676e7d: am 0e1313cd: Merge "libgui: 64-bit compile issues"
* commit '72676e7d0db89d477495245aa15f1a128b5c35bc':
  libgui: 64-bit compile issues
2014-06-11 17:44:52 +00:00
Michael Wright b37c8c5453 Merge "Fixup more potential issues / warnings in string formats" 2014-06-10 20:16:08 +00:00
Michael Wright 63ff3a84ae Fixup more potential issues / warnings in string formats
Change-Id: I323e44f950b2e758dc9ff4510b2e13ca870eb849
2014-06-10 13:03:17 -07:00
Michael Wright 25be048729 Merge "Fix warning in logging string interpolation" 2014-06-10 03:12:19 +00:00
Michael Wright d0a4a6234f Fix warning in logging string interpolation
Change-Id: I86623083f68664d31ea277958837a4c2985037b4
2014-06-09 19:03:32 -07:00
Mark Salyzyn 8f515ce1c5 libgui: 64 bit compile issues (part deux)
- nsecs_t printed with PRId64
- int64_t/uint64_t print issues
- some size_t printing issues.
- missing argument to BQ_LOGV

Change-Id: I493f2b578e801dc38c44f8c536faa45266720402
2014-06-09 15:42:26 -07:00
Mark Salyzyn 72676e7d0d am 0e1313cd: Merge "libgui: 64-bit compile issues"
* commit '0e1313cdb1d5d21e4d6123f77b4238f1c8c2d564':
  libgui: 64-bit compile issues
2014-06-09 21:46:25 +00:00
Mark Salyzyn 911004506d libgui: 64-bit compile issues
Change-Id: I29961c1567b8431518a7d032ea43385e23b7bb37
2014-06-09 14:27:45 -07:00
Narayan Kamath e86420e399 Merge "Fix flattening/unflattening of android::Sensor." 2014-06-06 10:05:09 +00: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
Narayan Kamath c2ac5897ec am 065e9c86: Merge "Fix mips build for libbinder."
* commit '065e9c86e249beac08783c7e9334d5709e2c9080':
  Fix mips build for libbinder.
2014-06-04 17:28:38 +00:00
Narayan Kamath 065e9c86e2 Merge "Fix mips build for libbinder." 2014-06-04 14:53:08 +00:00
Narayan Kamath 2f1f742b90 Fix mips build for libbinder.
Mips specific code was using an uninitialized variable.

(cherry picked from commit 2c68d380c9)

Change-Id: I6b562b3f6d2084b72e747736cbf43684c2049f8e
2014-06-04 15:34:16 +01:00
Narayan Kamath 87947be618 Merge "Fix mips build for libbinder." 2014-06-04 14:32:59 +00:00
Narayan Kamath 2c68d380c9 Fix mips build for libbinder.
Mips specific code was using an uninitialized variable.

Change-Id: I445043c76ebfa420b26376ade60f8068b4ea0b11
2014-06-04 15:05:13 +01:00
Mark Salyzyn b09b936d8e am f0a24759: am a28750ee: Merge "binder: Turn on -Werror"
* commit 'f0a2475905786d5457e7af838ac714acbfdafa4f':
  binder: Turn on -Werror
2014-06-03 20:54:48 +00:00
Mark Salyzyn f0a2475905 am a28750ee: Merge "binder: Turn on -Werror"
* commit 'a28750eec38c848230adfeef28725b29cc36a9da':
  binder: Turn on -Werror
2014-06-03 20:48:35 +00:00
Mark Salyzyn d4ecccfd20 binder: Turn on -Werror
Change-Id: I0ee785927a7ae5f731b02176b0b781b87c22a24e
2014-06-03 11:11:45 -07: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
Mark Salyzyn edcf7f4d3a binder: rm utils/Debug.h as unutilized
Change-Id: I52eb8b64b71cec7ffd4560e902daf358fda98b4a
2014-05-30 16:51:18 +00:00
Narayan Kamath 403ec9f15a Fix flattening/unflattening of android::Sensor.
Write string lengths as uint32_t so that their width is
the same on 32 and 64 bit processes.

Note that this fixes another bug as a side effect; getFlattenedSize
was assuming that sizeof(uint32_t) == sizeof(size_t).

Change-Id: I7b6e3993e1f1ac45c14832ce59c59e0772855a2f
2014-05-30 14:40:13 +01: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
Mark Salyzyn b8b3c536f4 am ea3f1da9: am 1ce5ecbe: am 63645c69: Merge "binder: rm utils/Debug.h"
* commit 'ea3f1da9013b33ecf3f3f8771393c1754a9aec59':
  binder: rm utils/Debug.h
2014-05-29 21:09:57 +00:00
Mark Salyzyn ea3f1da901 am 1ce5ecbe: am 63645c69: Merge "binder: rm utils/Debug.h"
* commit '1ce5ecbe3286380f5ff7ace289369ed006e9b40a':
  binder: rm utils/Debug.h
2014-05-29 21:06:36 +00:00
Mark Salyzyn 1ce5ecbe32 am 63645c69: Merge "binder: rm utils/Debug.h"
* commit '63645c69e03cf3862c52cfde6cbd5f5143ccd38a':
  binder: rm utils/Debug.h
2014-05-29 20:29:32 +00:00
Mark Salyzyn 317ff37cf7 binder: rm utils/Debug.h
Change-Id: I16931919a26c16a0d701771c93fa7fe1c6f60ef8
2014-05-29 13:10:03 -07:00
Dan Stoza 3d5c8a98c1 Merge "SurfaceFlinger: Add sourceCrop to screenshot" 2014-05-28 18:31:40 +00:00
Aravind Akella d9441e4c27 Surface maxDelay and isWakeUpSensor flag in Sensor.java.
Change-Id: Idd1e9045190beeca87b086b272e8cbf0bed05bae
2014-05-23 18:58:01 -07: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
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