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
SensorService is dead locking itself when flush is called on older devices which don't support batching. mConnectionLock is acquired twice.
Change-Id: I5c25585bfb2b396df4b05826a9cba1da7997a3ee
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
Since the latency was introduced to avoid egregious errors during
resampling, remove it when we aren't resampling.
Change-Id: Ia8e9a9afb1e16212fec81a8c9c661c598e1b0ebf
* commit '5d6aa95129a13aae37a60b3e4246a0592dab396d':
Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection.
Since the latency was introduced to avoid egregious errors during
resampling, remove it when we aren't resampling.
Change-Id: Ia8e9a9afb1e16212fec81a8c9c661c598e1b0ebf
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
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
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
This change adds the DispSync class, which models the hardware vsync event
times to allow vsync event callbacks to be done at an arbitrary phase offset
from the hardware vsync. This can be used to reduce the minimum latency from
Choreographer wake-up to on-screen image presentation.
Bug: 10624956
Change-Id: I8c7a54ceacaa4d709726ed97b0dcae4093a7bdcf
This lets audioflinger assign blame for wakelocks to a single uid.
Currently this is only used for recording wakelocks.
b/10985160
Change-Id: Idc9adb22c29030010ac690d4cb95e7e7ea6b91e6
In GLES-only mode, we don't have the outbuf acquire fence until after
GLES composition is done for the frame. We were setting the fence in
HWC's state immediately after dequeueing the buffer from the consumer,
before GLES had started. This fence got passed through HWC and on to
the consumer, so the consumer was reading the buffer before GLES was
done writing to it.
Now we update HWC's state just before set(), when we know we have the
right fence.
Bug: 11000763
Change-Id: Iea9db4c69634c352dc2d600f0bdb6bef2a432636