-- Compute sanitized metadata refresh rate.
-- Populate display's operating refresh rate to all
the layers that donot support metadata refresh rate.
Change-Id: Iaf17e4e10da543e110fcf6ba7648d60807069f98
In HDR playback case, colortransform is not applied, if it was set already.
This change will help restore color transform for HDR playback.
Change-Id: I3cf6f9eb7c5632e8622ccec2c0c40e3b51e8ad9b
We don't know how to handle blending when scRGB layers show up.
Fallback entirely to GPU.
Bug: 72125973
Change-Id: Ib01ac0c920bd34f011f0a4d3e76e71d4c7b036e2
- Drop idle timeout event if it occurs between prepare()
and commit() i.e. device is not really in idle state
since a new refresh cycle has already started.
Change-Id: If66353ac38bd3a5463fb7fa002e61fb8ed7c80d8
CRs-Fixed: 2181941
-Do not send HW VSYNC to SF in min FPS state
until a commit is received. If HW VSYNC is
sent to SF in min FPS state, this cause SW
VSYNC in SF to first adjust to min FPS
initially, and then after commit SW VSYNC again
adjusts to max FPS.
Change-Id: I47ec673e68c4eae643103ebfb2009fb96f6934f3
CRs-Fixed: 2192683
Currently stack invalidation state is reset in BuildLayerStack().
However, hw_layers_ are reset only in PrepareLayerStack(). If a
draw cycle with 0 app layers happens PrepareLayerStack() is not
called, this causes a mismatch in hw_layers_'s reference to layer
stack and actual layer stack. This change clears the stack
invalidation state only in PrepareLayerStack() and bails out of
dump(). Long-term stack duplication is necessary to avoid these
issues.
Change-Id: I2b630556515456317ca20079c3a5623f89c4033f
CRs-fixed: 2185297
On SetPowerMode() with retain pipes, DRM driver triggers the kick off
that enables MDP to read the previously queued buffer, Since the fence
created during SetPowerMode() is not merged with the previously queued
buffer, it may result in tearing. Hence get the release fence from
driver on SetPowerMode and propagate it to hwcomposer to merge it with
the previous release fence of all layer buffers to avoid tearing.
Change-Id: I81c078a1b05dd3fb34f10b9b70e25cfbcfabd117
CRs-Fixed: 2184515
HWC modifies Source Crop to floor and ceil based to LT and RB
respectively. This can result in flicker if there is switch in
Composition between MDP and GPU. Instead mark the layer as skip.
Change-Id: I35d9461d2db44c9d9b4402b17c44a569e1f705c9
Source: I2f7a62fbf5ae2a0c0d13f15118b053afbabf99c8
CRs-Fixed: 2143554
1. Disable PU for one frame on any display state change.
2. Trigger invalidate on SetActiveConfig() and set the display config
as a part of draw cycle
Change-Id: Iffb64fb5d3af038f7d777382fdfdb5b8914fb6b5
CRs-Fixed: 2151067
Calibration tool issues binder call to display solid fill color onto
screen for calibration. Acquire scope lock to ensure that there is no
race condition between binder thread and display thread w.r.t solid fill
color. Block the solid fill binder call with a delay to ensure that
solid fill color is displayed.
Change-Id: Ic0ee320e24dc662213531362b124ff7bbfdf4309
Update the ColorPrimaries and Transfer of HDR blending color space
in SDM layer stack.
CRs-Fixed: 2167954
Change-Id: I0298ebb004e658fda1e12603d49086129473e53d
Read interlace flag from metadata of layer buffer and propagate it to
SDM layers appropriately.
Change-Id: I2f91f89ab462581ba6bc76f6881a5e7bf139ff28
CRs-Fixed: 2181284
- On external display, outstanding fences are not
signaled during destroy. They get signaled only on
drm_release and drm_release happen in composer restart.
So need to flush external before destroying.
CRs-fixed: 2187232
Change-Id: I0a7f029237cb0d8015904565c0755731a7b27212
Fixes an issue where the HWC init randomly blocks on the
allocator init by doing a lazy initialization of the allocator
object. The allocator may not have fully initialized at HWC init.
Also, increases the allocator connection threadpool to 4.
Change-Id: I38454ee25aaf2a211125e55297300eac754fb5cf
CRs-Fixed: 2201202
gettimeofday() function returns wall clock time which can change if the
time is updated using NTP etc. Use clock_gettime() function to get
monotonic clock time to safely and reliably measure elapsed time in
a program.
CRs-Fixed: 2190449
Change-Id: Icc7e470b6427db58837473039d0537748de5b2aa