Commit Graph

49422 Commits

Author SHA1 Message Date
Shuo Gao
0a885309aa fix corruption in Vector<> when malloc falied
1. When alloc or realloc failed in the function SharedBuffer::editResize,
it would return a NULL pointer, then mStorage would update to be 1 by
SharedBuffer::data() if no pointer check here, which is an obviously
wrong address, and would cause corruption when used it e.g. in capacity().

So add the pointer check here for the return value of SharedBuffer::editResize,
if it's NULL do not use it to update mStorage, to avoid the value of mStorage
polluted.

2. when alloc or realloc falied in _grow & _shrink function, mStorage keep
the original value, so mCount should not be updated here.

Otherwise, mStorage might be 0 but mCount>0, so a corruption would happend
when it try to delete items from the Vector since mCount>0.

Change-Id: I7c3814e843c459834ca5eed392e8d63d1cb7d2d8
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Jian Luo <jian.luo@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 139626
2013-10-22 22:36:46 -07:00
Michael Wright
47f0b9894b am 3223217a: Only consume touches up until the frame time
* commit '3223217aed6dcfa55b5b952cd6be71f70e41ba63':
  Only consume touches up until the frame time
2013-10-21 17:23:55 -07:00
Michael Wright
3223217aed Only consume touches up until the frame time
When resampling is disabled, it's currently possible to consume
touches after the current frame time. This breaks some guarantees and
could cause unexpected behaviors.

Change-Id: I99908a2cac2df9f795dd4a07188b4451213cf3e4
2013-10-21 23:57:17 +00:00
Andy McFadden
251b11c204 am 85075869: Wait for buffers to drain
* commit '8507586903fa803abf535853a169913f2cf2e555':
  Wait for buffers to drain
2013-10-18 16:57:01 -07:00
Andy McFadden
8507586903 Wait for buffers to drain
When a BufferQueue producer disconnects and reconnects, we retain
the previously-queued buffers but empty the slots.  This allows
the number of queued buffers to grow without limit.  The low-memory
killer does not approve.

Bug 11069934

Change-Id: Ia2eaa954c7a3904b54209a3701dba01689e204d8
2013-10-18 23:10:16 +00:00
Naseer Ahmed
6a968462f9 Add a boardconfig to force HWC composition of virtual displays
When this boardconfig is defined, even when all virtual display
composition is done by GLES, the HWC will be forced to copy from the
GLES framebuffer to the output buffer. On some hardware this allows
HWC to do format conversions that would otherwise have to be done by
the consumer, with worse power and/or performance.

Bug: 8316155
Change-Id: If980ecc589f138cef063eafa757f7f748196713e
2013-10-17 13:57:58 -07:00
Jesse Hall
1e27ba234c Use implementation-defined format when HWC writes to output buffer
When GLES isn't writing to the output buffer directly, request an
implementation-defined format with minimal usage flags, leaving the
format choice up to gralloc. On some hardware this allows HWC to do
format conversions during composition that would otherwise need to be
done (with worse power and/or performance) by the consumer.

Bug: 8316155
Change-Id: Iee6ee8404282036f9fd1833067cfe11dbadbf0bf
2013-10-17 11:20:22 -07:00
Ed Heyl
afd0debe4b am dacd4159: merge in klp-release (no-op)
* commit 'dacd4159631865da1a02203fe5fa7c5f1339cda9':
  Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection.
  Eliminate latency when resampling is disabled
  Fix blank / partial screenshots
  Set the outbuf acquire fence after we actually have it.
  only clear FB when asked for the opaque layer
  Treat composition frames with no layers as using GLES composition
  Fix two EGLConfig selection bugs
  fix crashers with wifi/virtual displays
2013-10-16 17:56:33 -07:00
Ed Heyl
dacd415963 merge in klp-release (no-op) 2013-10-16 17:43:06 -07:00
The Android Automerger
993da5c301 merge in klp-release history after reset to klp-dev 2013-10-15 21:14:09 -07:00
Jamie Gennis
bbfbe93c0d am 0a645cc5: SurfaceFlinger: give SF its own vsync phase
* commit '0a645cc5a935e67a8d1effc7679a838160b971d8':
  SurfaceFlinger: give SF its own vsync phase
2013-10-15 16:17:18 -07:00
Jamie Gennis
47c772e8ec am d1700756: SurfaceFlinger: Add EventControlThread
* commit 'd1700756ec9520c3fba22f9a14fd064a6e288810':
  SurfaceFlinger: Add EventControlThread
2013-10-15 16:17:18 -07:00
Jesse Hall
e94d204ab0 am 24742375: Merge "Disable hardware vsync when blanking the screen" into klp-dev
* commit '247423751fd4bfb0b1f87537c985413a28fd04a1':
  Disable hardware vsync when blanking the screen
2013-10-15 16:16:47 -07:00
The Android Automerger
288515bf44 merge in klp-release history after reset to klp-dev 2013-10-15 15:55:41 -07:00
Jamie Gennis
0a645cc5a9 SurfaceFlinger: give SF its own vsync phase
This change allows SurfaceFlinger to run at a different vsync phase offset from
that used by external listeners.

Bug: 11175503
Change-Id: I561c53a5659fa6dc1e3e4ae30340f3c1a6adceb4
2013-10-15 14:31:41 -07:00
Jamie Gennis
d1700756ec SurfaceFlinger: Add EventControlThread
This change adds a new thread for calling HWComposer's eventControl
asynchronously.  The DispSync-based vsync approach ends up enabling and
disabling HWComposer's vsync callbacks at arbitrary times, and some HWComposer
implementations do not have these calls optimized.

Bug: 11175503
Change-Id: I719be82bd200b391c61d40863b991c7b59acdfd6
2013-10-15 14:31:41 -07:00
Jesse Hall
247423751f Merge "Disable hardware vsync when blanking the screen" into klp-dev 2013-10-15 19:53:11 +00:00
Aravind Akella
487c7815d7 am 641a1868: Merge "SensorService Flush API bug fix." into klp-dev
* commit '641a18688bc6b208bbeaffa6083d3cf5f6790e4b':
  SensorService Flush API bug fix.
2013-10-15 10:05:09 -07:00
Aravind Akella
641a18688b Merge "SensorService Flush API bug fix." into klp-dev 2013-10-15 17:01:55 +00:00
The Android Automerger
3bd1b65ffb merge in klp-release history after reset to klp-dev 2013-10-15 06:00:54 -07:00
Jesse Hall
a04fd39cb8 am 8e26b28b: Filter out vsync events from HWC with duplicate timestamps
* commit '8e26b28be62e7c0e093900540db5e5cdcf52a0ff':
  Filter out vsync events from HWC with duplicate timestamps
2013-10-14 20:34:58 -07:00
Aravind Akella
c551eac5b1 SensorService Flush API bug fix.
SensorService is dead locking itself when flush is called on older devices which don't support batching. mConnectionLock is acquired twice.

Change-Id: I5c25585bfb2b396df4b05826a9cba1da7997a3ee
2013-10-14 17:09:19 -07:00
Jesse Hall
948fe0ce74 Disable hardware vsync when blanking the screen
Bug: 11220224
Change-Id: I99d0a42e1a6bb0aaf89706f6d100e9ef2a5deaa4
2013-10-14 16:25:01 -07:00
Jesse Hall
8e26b28be6 Filter out vsync events from HWC with duplicate timestamps
Bug: 11220224
Change-Id: I4efe0b66ea8969bf0ec3c4fcb325d354c8a0c315
2013-10-14 15:34:00 -07:00
The Android Automerger
4fec2900a3 merge in klp-release history after reset to klp-dev 2013-10-13 19:20:31 -07:00
Aravind Akella
055558b257 am 2d344979: Merge "Adding PackageManager feature strings for stepcounter and stepdetector." into klp-dev
* commit '2d344979eb200b7fb8ba4d811a22c80b1d77b564':
  Adding PackageManager feature strings for stepcounter and stepdetector.
2013-10-13 15:51:59 -07:00
Aravind Akella
2d344979eb Merge "Adding PackageManager feature strings for stepcounter and stepdetector." into klp-dev 2013-10-13 22:47:47 +00:00
Aravind Akella
d7a5342828 Adding PackageManager feature strings for stepcounter and stepdetector.
Change-Id: I75ec21900fdc3ea80b61ec12c851a0c5ce9c44e8
2013-10-13 14:53:45 -07:00
Jesse Hall
44b09f8b55 am 44e45cfe: Merge "DispSync: don\'t compensate for wakeup latency" into klp-dev
* commit '44e45cfeb37a04c206730b12ff001525ebe42a7b':
  DispSync: don't compensate for wakeup latency
2013-10-13 13:18:58 -07:00
Jesse Hall
44e45cfeb3 Merge "DispSync: don't compensate for wakeup latency" into klp-dev 2013-10-13 20:13:59 +00:00
The Android Automerger
26ef413c59 merge in klp-release history after reset to klp-dev 2013-10-13 06:02:02 -07:00
Andy McFadden
af4ae923c3 am 6410c8c4: Merge "Use black for blackout layer" into klp-dev
* commit '6410c8c4097f1a3246aa3d03b3291d47f982bc4b':
  Use black for blackout layer
2013-10-11 14:47:25 -07:00
Andy McFadden
6410c8c409 Merge "Use black for blackout layer" into klp-dev 2013-10-11 21:39:49 +00:00
Aravind Akella
4c4cd9c8cc Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection.
Change-Id: I4ef2bec80406c517903ab9782dc9eaf3fa8b7f36
2013-10-11 12:42:13 -07:00
Andy McFadden
c6f2169559 Use black for blackout layer
SurfaceFlinger was rendering dark purple for secure content, which
showed up when we took a screen shot for the orientation change
animation.  Use black instead.

Bug 11157921

Change-Id: I3895e8168891d49dc5b84eed599bcd0a303bb70a
2013-10-11 11:16:03 -07:00
Michael Wright
a8b5982c32 Eliminate latency when resampling is disabled
Since the latency was introduced to avoid egregious errors during
resampling, remove it when we aren't resampling.

Change-Id: Ia8e9a9afb1e16212fec81a8c9c661c598e1b0ebf
2013-10-10 22:13:38 -07:00
Dave Burke
06c964d9b3 am 9c0dfa09: Merge "Eliminate latency when resampling is disabled" into klp-dev
* commit '9c0dfa09731a8366a7cdcd7171dde64b73af0d5c':
  Eliminate latency when resampling is disabled
2013-10-10 19:39:05 -07:00
Dave Burke
9c0dfa0973 Merge "Eliminate latency when resampling is disabled" into klp-dev 2013-10-11 02:33:15 +00:00
Aravind Akella
1f1e576840 am 5d6aa951: Merge "Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection." into klp-dev
* commit '5d6aa95129a13aae37a60b3e4246a0592dab396d':
  Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection.
2013-10-10 19:21:05 -07:00
Aravind Akella
5d6aa95129 Merge "Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection." into klp-dev 2013-10-11 02:05:41 +00:00
Michael Wright
ad526f8505 Eliminate latency when resampling is disabled
Since the latency was introduced to avoid egregious errors during
resampling, remove it when we aren't resampling.

Change-Id: Ia8e9a9afb1e16212fec81a8c9c661c598e1b0ebf
2013-10-10 18:54:12 -07:00
Jesse Hall
8c76d2a16e am 5c65efe2: Merge "Wake up disp sync thread when setting display period" into klp-dev
* commit '5c65efe2b1d632226f02751e6b1d3cfd7c8ecb26':
  Wake up disp sync thread when setting display period
2013-10-10 16:05:37 -07:00
Jesse Hall
5c65efe2b1 Merge "Wake up disp sync thread when setting display period" into klp-dev 2013-10-10 22:24:32 +00:00
Jesse Hall
72f69d9f23 Wake up disp sync thread when setting display period
Bug: 10624956
Change-Id: I272c15f319521bfbd1bb70451366c7dd84d60bf9
2013-10-10 14:48:22 -07:00
Andy McFadden
0e9c51ec78 Fix blank / partial screenshots
The screen capture code wasn't waiting for the render to finish,
so sometimes you'd see an empty or partial image.

Bug 11131777

Change-Id: Ic64087322ce3bb15bb5f4fb1eb07579880fe6197
2013-10-10 12:16:58 -07:00
Andy McFadden
c00ab7b5aa am 2d8d120d: Fix blank / partial screenshots
* commit '2d8d120dc175c131a75e93fb1de61a9f432ddce9':
  Fix blank / partial screenshots
2013-10-10 08:23:01 -07:00
Jamie Gennis
0d5c60edf1 DispSync: don't compensate for wakeup latency
This change removes the wakeup latency compensation from the software-generated
vsync events.  Choreographer can't handle timestamps in the future, so don't
aim for early wake-ups with the expectation that the actual wake-up will be
late.

Bug: 11153576
2013-10-09 17:56:42 -07:00
Aravind Akella
701166d9f6 Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection.
Change-Id: I4ef2bec80406c517903ab9782dc9eaf3fa8b7f36
2013-10-09 17:26:01 -07:00
Andy McFadden
2d8d120dc1 Fix blank / partial screenshots
The screen capture code wasn't waiting for the render to finish,
so sometimes you'd see an empty or partial image.

Bug 11131777

Change-Id: Ic64087322ce3bb15bb5f4fb1eb07579880fe6197
2013-10-09 16:38:02 -07:00
The Android Automerger
e0df32c9a7 merge in klp-release history after reset to klp-dev 2013-10-09 06:01:16 -07:00