Age | Commit message (Collapse) | Author |
|
As written, this loop only runs once, which makes clang's new warning
unhappy:
hardware/qcom/sm8150/display/sdm/libs/hwc2/hwc_session.cpp:934:51:
error: loop will run at most once (loop increment never executed)
[-Werror,-Wunreachable-code-loop-increment]
Chatting with qcom, this appears to be a bug, and the best fix is to
move the `break` into the `if`.
Bug: 150166387
Test: TreeHugger
Change-Id: Icb64eed5b894b9188f5265094587dd802207ba66
|
|
Change-Id: I25f45d1583fbf79146dd5d6323a2ca51b42c65ab
|
|
Change-Id: I82cec38edde04836057b42bb04b7717d20488033
|
|
Added Composer_V2.4 APIs to handle VTS failures,
SetAutoLowLatencyMode
GetSupportedContentTypes
SetContentType
Change-Id: Ic0ca966aef2e44657312c55bc6156f86eceeb033
|
|
Change-Id: I09956d011674410ce03cfeba31ca58e727ac12ea
|
|
Defer the first power on to first commit and enable the pending vsync
after the cirst commit.
Change-Id: Ic45951d1983a088e71e4eb82db86032f94df137d
|
|
-- In case doze is not supported, doze functionality will be
applied in ON state.
-- Disable async power mode.
CRs-Fixed: 2593633
Change-Id: I9b48e7a4767a5ad421970ad97aada49f79e03911
|
|
|
|
CRs-Fixed: 2565350
Change-Id: I62dc1c35d6f580f2d0e4dfb26ec9326a4bd56ccd
|
|
Adapt hardware composer's device implementation to
IDisplayConfig 2.0 version.
Change-Id: I950e4400a9cac216a11b99ea081e739f644ad15e
CRs-Fixed: 2692007
|
|
Process active config change in ValidateDisplay API as well. This is
required in those cases where SetActiveConfigWithConstraints API call
is followed by draw cycle having Validate and Present Display calls.
Change-Id: I52227250e981544f97ce71ae8812f2d62d2967a1
|
|
Define SetActiveConfigWithConstraints and GetDisplayVsyncPeriod
APIs for VRR on Composer 2.4 .
Change-Id: Id64e71a9756e183b1d47a285fb6be0cae9ca046e
|
|
Change-Id: I0914a7e064663f7ed10c562c5a3849bf633743a2
|
|
Add support for HWC2_ATTRIBUTE_CONFIG_GROUP display attribute.
Change-Id: I2000747023da237053aa29bd8645575ab4e924f3
|
|
Driver makes sure that Panel commands are serialized to any frame
update on Panel. SetDisplayBrightness API doesn't need to acquire
locker_ lock which blocks draw-cycle thread and causes frame drops.
Define brightness_lock_ to serialize Set and Get Panel brightness
CRs-Fixed: 2446089
Change-Id: I963f1b3ddcd4765ddff805a373f70cdd550fa993
|
|
Change-Id: Ica0f0bbb2955ad26fa113728ee152a21e6014b6c
CRs-Fixed: 2454377
|
|
- Add support HDR10PLUS hdr capability.
- Add support for SetLayerPerFrameMetadataBlobs from composer 2.3.
- Populate the dynamic metadata from the new composer API into
the layer structure and set validate if the data changes.
- Prioritize PerFrameMetadata/Blob over ColorMetaData.
Change-Id: Idd9b6f4f104d1584cce31a4cb7022e11eb2751ad
CRs-Fixed: 2545757
Signed-off-by: Karthi Kandasamy <kartka@codeaurora.org>
|
|
Change-Id: Iadc258f0c5b01a411a0c366db7df5c52a17e4f1c
|
|
|
|
|
|
The display index for the virtual display, when
there is no virtual display attached, is
returned as -1 into uint64_t. Which makes
it out of bound for the hwc_display_.
Change-Id: Icbcc6ae013a98008abcaea6c5a44c4191d8b9456
Signed-off-by: satbir singh <satbsing@codeaurora.org>
|
|
|
|
Check the count for the pluggable (max_pluggable)
and buildin display (max_buildin) to be non-zero
before reducing the count for the instance of
primary display already used.
Signed-off-by: satbir singh <satbsing@codeaurora.org>
Change-Id: Ie067badd523d9ea9db428de596a8cc2e7e2e26e8
|
|
|
|
Refresh hotplug status for all connected displays during
RegisterCallback. This will fix the problem when only SurfaceFlinger
restarted.
CRs-Fixed: 2417100
Change-Id: If31d6ff178df88f9fbce9a9afb73cc9cd9d43fdf
|
|
Change-Id: Iabcc9b85cbacbc585f5eab8534e4589924e14111
CRs-Fixed: 2530738
|
|
-- Some applications can take time to queue buffers during switches ie;
HDR to Non-HDR, Secure to Non-secure etc; Even though layer stack
is empty it is OK to display previous frame.
-- Composer Client explicitly clears layers upon SurfaceFlinger death.
Since client isn't active, chances of getting a new frame is very unlikey.
Trigger flush so that content gets cleared.
Change-Id: If91135b3d5ea6d0f8842c7ef75547a68002c70ff
CRs-Fixed: 2489780
|
|
Change-Id: Idbe4309871b655c6e997c186de92ccb3455c0bd1
|
|
- Ensure that HWC implementation for IDisplayConfig interfaces
is added only if corresponding interfaces are present. Remove
all featurizations.
Change-Id: I8e825903e48f5610de8277b33666510a1687c855
CRs-Fixed: 2497956
|
|
|
|
Enforce to update color mode when panel power reset.
Change fix the issue of HDR effect disappears after
panel reset which is triggered by ESD.
Change-Id: I0e68c79ca206965c5f646724e50a0415c32616cf
|
|
Change-Id: Iab51b26e2b3e7570c8704753ebef3a7de010acb3
|
|
|
|
If there is a change in power state from Doze to other state,
reset the pending refresh bit for the display as it is not
needed.
CRs-fixed: 2480475
Change-Id: I25674f530b8df1c53c6dac283c1c481bc186bfb0
|
|
Change-Id: I2ff291c6d0c27986bd207ffdc22c8b67431d632c
CRs-Fixed: 2476186
|
|
-- Create dummy displays for all displays that support async update.
-- Map real and dummy displays as part of HWC Init.
-- Upon call from client route all calls to dummy displays. This includes
layerstack operations ie; create, destroy, get/set params etc.
-- Post powerstate, get the current layerstack from dummy display
and update it onto real display.
Change-Id: Ib6ab3b31e28cbc9f609933eaece940a6b9eee3ba
CRs-fixed: 2462204
|
|
-Add API to set min/max luminance range for given display.
-using API via binder
adb shell "vndservice call display.qservice 46 i32 <display_id>
f <min_lum> f <max_lum>"
Change-Id: I97c31b18cac4ab8ac45518833d0964b7e54c9d58
|
|
|
|
Query and store HDR capability during display creation time
Change-Id: I3edcb4918cbe8db152ba560c3776d32ab5165eea
|
|
CRs-Fixed: 2451056
Change-Id: I091d29fca3348a79cd8b4e7c74aa25949c268eab
|
|
-- Avoid calculating the next vsync source based on the
active display list in hwc2.
-- Enable/disable the vsync on the HWC display as requested
by SurfaceFlinger.
Change-Id: I901be3d06ad1102d30232e6fb8dbb0d1709b5a68
CRs-fixed: 2429625
|
|
-- Deprecate SetDisplayIndex api.
-- Query for max display supported displays per type.
-- Create display_map corresponding to capabilities.
-- Fail creation of any display if free slot isn't available.
Change-Id: Ic22f5695e7425a68ca7d4c85f0b85703055abe63
CRs-fixed: 2429625
|
|
--Reject drawcycle if following conditions are met.
1. No change in layerstack attributes.
2. No new buffer latched.
3. No refresh request triggered by HWC.
4. This display is not source of vsync.
--Do not return Present failed error if display is inactive.
SF wouldn't query for release fence upon errors.
CRs-Fixed: 2354696
Change-Id: I28174a09f4b5046d25c953f568f981fdb80b42a8
|
|
|
|
On first refresh update power mode.
On second refresh update any settings that need to be set post
power mode transition. Ex: PP features.
CRs-Fixed: 2348944
Change-Id: I7a3e62d9d4af05637b1a0f3f43bfd9d39f6faf3f
|
|
Change-Id: I94013a446b4a39b874df4dfab1ecfb1ae832fce8
|
|
- SF may not be compatible with vsync resourcing implementation.
Hence, update vsync source only if explicit APIs are called
from client to do so.
Change-Id: I42e3da9c82379b19850a36b146d1636d9d70884b
CRs-Fixed: 2325564
|
|
- Display panel may be reconfigured to operate in lower
fps during doze mode, so vsync events may not arrive
at 60fps. Switch over to next active display when an
active display goes in doze mode.
CRs-Fixed: 2325564
Change-Id: Id646f3fd2303cb1f3900e4358ae7967214bdef91
|
|
Repeating previous commit on doze state transition can result
in fetching content from stale buffers. Cache the power state
and trigger a refresh for transition to take effect.
CRs-Fixed: 2335745
Change-Id: I8508d64a55c3b30239c6ed2886df391407d22f25
|
|
Set DISABLE_MASK_LAYER_HINT property to disable
this hint.
Change-Id: I526025e2c32d386877b4b0b70c6423642421213f
CRs-Fixed: 2396411
|