Pop buffer item from shadow queue only when
number of queued buffer items is greater than zero.
Change-Id: I039bc133842293c29e3e130efd65f521ef0049c6
CRs-Fixed: 1009466
Allow HWC composition of virtual displays for HDMI primary only
when the output pixel format of the HDMI display is RGB.
CRs-Fixed: 1007249
Change-Id: I9680b162d844e9e6397f919e8dcc1b1a948d182c
Add support to draw S3D framebuffer target in case HWC driver
can not handle due to resource or capability issue.
Change-Id: I536fa4a03e246d51891045b692d5dc5be88f2adf
CRs-fixed: 999055
Add support for all flips of panel mount, H, V, HV (180). Property
persist.panel.mountflip can be set to 1 for H-Flip, 2 for V-Flip,
3 for HV-Flip (180 / inverse mount).
Change-Id: Ide7b8378ad6a423e5d7335fedc27d480a25b53ae
CRs-fixed: 990622
procrank is a setuid binary which only exists on userdebug/eng
builds. Instead of executing the setuid binary, run the binary using
the su command. This eliminates one more setuid binary, and allows
the tightening of the SELinux policy.
Bug: 18342188
(cherry picked from commit 2b1f88b6ac78e330ff006da6fecf8bc9d976ec67)
Bug: 25951005
Change-Id: I90c86f89974b3878273a29277b2a5d5d7c4b81c7
Pass the reference time to DispSyncThread. Since the phase offset is calculated
using timestamps relative to the reference time, we must also adjust the phase
offset by the same reference time when computing the next refresh time.
Always reset phase offset to zero when updating the reference time because the
reference time equals the first timestamp.
After beginResync() we need to keep HW vsync enabled until the model is updated.
Bug: 25113115
Change-Id: I8eae227bee91c24a99bf8e57fbebceb98d29c77d
Test: check in systrace that app/sf vsync events have correct phase
Do not use the absolute 64-bit nsecs_t timestamp directly in phase
and error calculations. Compared to the estimated vsync period, the
timestamp tend to many orders of magnitudes larger, and consequently
the integer modulo operation used to calculate phase and error can
be very sensitive to tiny fluctuation in vsync period.
Bug: 25113115
Test: set kTraceDetailedInfo=true; see Phase and Error are stable in systrace
Change-Id: I687703eec31b1072c606898c0424a96c0a8ca033
* After 0c5f3af, glitches when blending is observed on
A family devices. Modify ifdef to not include QCOM_BSP_LEGACY.
Change-Id: Ibb53df5709abbb0e7132065aec23a14f7accf4b3
check if device matches the ashmem rdev, before calling
ashmem_get_size_region. This eliminates making this call
when associated with other driver file descriptors.
Bug: 26374183
Bug: 26918423
Bug: 26871259
Change-Id: I1f88c2c93ea35a73c8e14125f3d1a6c67fa4f15b
check if device is a character device, before calling
ashmem_get_size_region. We do not check if the st_rdev
matches /dev/ashmem. So this at least eliminates making
this call when associated with a socket.
Bug: 26374183
Change-Id: I68ed9d1c2cd4c47228ed065e3e18eb4151f038f4
Before configuring the layers to HWC, make sure
HWC_BLENDING_NONE is set if the layer is opaque
Change-Id: Ie84aa9d93e98a244692a0cffc2de653a9079f8b4
Crs-fixed: 957373
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEABECAAYFAldVtQ8ACgkQ6K0/gZqxDnhIVgCfWRMpjlr3RQ8yoizXrd1JT2e8
M6kAn2lFAPOBl7D6M28oTaPBQpLrZMdF
=kdz+
-----END PGP SIGNATURE-----
Merge tag 'android-6.0.1_r46' into HEAD
Android 6.0.1 release 46
# gpg: Signature made Mon 06 Jun 2016 10:38:23 AM PDT using DSA key ID 9AB10E78
# gpg: Can't check signature: public key not found
If a single transaction has both positional and size changes, ensure we don't draw
any frames using the incorrect buffer size using the updated position. Wait for the correct
buffer size and then proceed.
Change-Id: I8e25f21f17e0936e66bb5053f85f8336c8464c7b
Due to more complex window layouts resulting in lots of overlapping
windows, the policy around FLAG_WINDOW_IS_OBSCURED has changed to
only be set when the point at which the window was touched is
obscured. Unfortunately, this doesn't prevent tapjacking attacks that
overlay the dialog's text, making a potentially dangerous operation
seem innocuous. To avoid this on particularly sensitive dialogs,
introduce a new flag that really does tell you when your window is
being even partially overlapped.
We aren't exposing this as API since we plan on making the original
flag more robust. This is really a workaround for system dialogs
since we generally know their layout and screen position, and that
they're unlikely to be overlapped by other applications.
Bug: 26677796
Change-Id: I9e336afe90f262ba22015876769a9c510048fd47
* Add a new binder transaction for applying a secondary color matrix
using RenderEngine. This stacks with the primary color matrix
(if set for a11y) to enable GPU-based display calibration.
Change-Id: I766455bfb5212e2dcc8ad0cb8ebdddbda87af732
Sending transaction to freed BBinder through weak handle
can cause use of a (mostly) freed object. We need to try to
safely promote to a strong reference first.
Change-Id: Ic9c6940fa824980472e94ed2dfeca52a6b0fd342
(cherry picked from commit c11146106f94e07016e8e26e4f8628f9a0c73199)
Increase frame buffer surface buffers to 3. Call allocateBuffers
from the producer so that buffers are allocated. With out this,
BufferQueue implementation will only allocate 1 buffer
CRs-Fixed: 930504
@Buganizer: 26778657
Change-Id: Id0cadeb78957273d670d63f9956a09454b45eb69
- Collect dumpsys to an outfile file when triggered.
- Collect dumpsys before calling Prepare on hwc module in
each draw cycle. Recollect dumpsys if Commit goes through
successfully and replace former dumpsys with this.
- Wrap around if file size reaches appx 20 MB.
- Generate output file at /data/misc/display/dumpsys.txt
- Syntax:
adb shell dumpsys SurfaceFlinger --file [--no-limit]
--file : Ouput dumpsys to file
--no-limit : Do not wrap around, keep appending
Use same command to trigger start and end of dumping.
- Output format:
| start code | after commit? | time stamp | dump size | dump data |
CRs-Fixed: 947084
Change-Id: Ie520f51c69757aeec88b9400688a7f3271472349
- When rotation animation is disabled on secondary displays, remove
the screenshot surface from the secondary display list, without
this it would show up upside down frame on secondary.
- Mark IntOnly layers as invisible on secondary displays.
Change-Id: Ia859ee1c6ac7caa132c95e4f906bd2589e786fac
Crs-fixed: 949263
SurfaceFlinger uses two event-threads to support phase-offsets
for application and SurfaceFlinger itself. Extra thread may
cause scheduling issues and wake-up latency for either
SurfaceFlinger or Application, depending on scheduling, even
when running at higher priority as these threads have low-load
and qualify for task-packing.
Use single event-thread when phase offsets are same.
Debug runtime service call behavior change when same phase-offset:
1018 (set phase offset for Application): will change both
Application and SurfaceFlinger phase offsets.
1019 (set phase offset for SurfaceFlinger): Will be a no-op.
Change-Id: I2514b4ff6249e9bce3eb19f60b1dfe0de12b86d9