summaryrefslogtreecommitdiff
path: root/sdm/libs/hwc2/hwc_session.cpp
AgeCommit message (Collapse)Author
2021-11-30hwc_session: move a breakGeorge Burgess IV
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
2021-09-27hwc2: Add support for pluggable as primaryPritama Biswas
Change-Id: I25f45d1583fbf79146dd5d6323a2ca51b42c65ab
2021-09-25hwc2: Use null display when primary not connected on boot.Pritama Biswas
Change-Id: I82cec38edde04836057b42bb04b7717d20488033
2020-07-08display: Added APIs based on IComposer 2.4Vinoth Jayaram
Added Composer_V2.4 APIs to handle VTS failures, SetAutoLowLatencyMode GetSupportedContentTypes SetContentType Change-Id: Ic0ca966aef2e44657312c55bc6156f86eceeb033
2020-06-18composer: populate doze mode if the panel supports command modePadmanabhan Komanduru
Change-Id: I09956d011674410ce03cfeba31ca58e727ac12ea
2020-06-18sdm: Fix to defer the first power on to first commitRamkumar Radhakrishnan
Defer the first power on to first commit and enable the pending vsync after the cirst commit. Change-Id: Ic45951d1983a088e71e4eb82db86032f94df137d
2020-06-17hwc: Populate doze mode support for command mode panels alone.Pullakavi Srinivas
-- In case doze is not supported, doze functionality will be applied in ON state. -- Disable async power mode. CRs-Fixed: 2593633 Change-Id: I9b48e7a4767a5ad421970ad97aada49f79e03911
2020-06-10Merge "composer: fix the signature to getDebugProperty/getSupportedDsiBitClks"qctecmdr
2020-06-08hwc: CWB supported only for primary displayRamakant Singh
CRs-Fixed: 2565350 Change-Id: I62dc1c35d6f580f2d0e4dfb26ec9326a4bd56ccd
2020-06-05hwc2: add support for IDisplayConfig 2.0Padmanabhan Komanduru
Adapt hardware composer's device implementation to IDisplayConfig 2.0 version. Change-Id: I950e4400a9cac216a11b99ea081e739f644ad15e CRs-Fixed: 2692007
2020-05-19hwc2: Process active config change in ValidateDisplay apiPadmanabhan Komanduru
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
2020-05-19hwc2: Add VRR related Composer 2.4 APIsPadmanabhan Komanduru
Define SetActiveConfigWithConstraints and GetDisplayVsyncPeriod APIs for VRR on Composer 2.4 . Change-Id: Id64e71a9756e183b1d47a285fb6be0cae9ca046e
2020-05-19hwc2: Add support for GetDisplayConnectionType for composer 2.4Padmanabhan Komanduru
Change-Id: I0914a7e064663f7ed10c562c5a3849bf633743a2
2020-05-19sdm: Add support for HWC2_ATTRIBUTE_CONFIG_GROUPPadmanabhan Komanduru
Add support for HWC2_ATTRIBUTE_CONFIG_GROUP display attribute. Change-Id: I2000747023da237053aa29bd8645575ab4e924f3
2020-04-09sdm: Don't block draw-cycle thread during SetDisplayBrightnessSushil Chauhan
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
2020-04-08sdm: Implement SetDisplayBrightness, GetDisplayBrightness.Venkat Thogaru
Change-Id: Ica0f0bbb2955ad26fa113728ee152a21e6014b6c CRs-Fixed: 2454377
2020-03-09hwc2: Add support for HDR10PLUSBaldev Sahu
- 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>
2020-02-12sdm: Implement SetDisplayBrightness, GetDisplayBrightnessRamakant Singh
Change-Id: Iadc258f0c5b01a411a0c366db7df5c52a17e4f1c
2019-11-27Merge "sdm: hwc2 : Correcting the display Index handling"qctecmdr
2019-11-08Merge "hwc2 : Correcting primary display count handling"qctecmdr
2019-11-07sdm: hwc2 : Correcting the display Index handlingsatbir singh
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>
2019-10-01Merge "hwc2: refresh hotplug status during RegisterCallback"qctecmdr
2019-10-01hwc2 : Correcting primary display count handlingSatbir Singh
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
2019-09-25Merge "hwc2: Start IDisplayConfig after composer init done."qctecmdr
2019-09-23hwc2: refresh hotplug status during RegisterCallbackXiaowen Wu
Refresh hotplug status for all connected displays during RegisterCallback. This will fix the problem when only SurfaceFlinger restarted. CRs-Fixed: 2417100 Change-Id: If31d6ff178df88f9fbce9a9afb73cc9cd9d43fdf
2019-09-20hwc2: Start IDisplayConfig after composer init done.Ramakant Singh
Change-Id: Iabcc9b85cbacbc585f5eab8534e4589924e14111 CRs-Fixed: 2530738
2019-09-11hwc2: Do not flush on empty layer stack.Pullakavi Srinivas
-- 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
2019-08-15hwc2: Add panel check for CWBRamakant Singh
Change-Id: Idbe4309871b655c6e997c186de92ccb3455c0bd1
2019-07-26hwc: Enforce HWC integrity with IDisplayConfig interfacesDileep Marchya
- Ensure that HWC implementation for IDisplayConfig interfaces is added only if corresponding interfaces are present. Remove all featurizations. Change-Id: I8e825903e48f5610de8277b33666510a1687c855 CRs-Fixed: 2497956
2019-07-26Merge "hwc2: Enforce to update color mode when panel reset" into display.lnx.5.1Linux Build Service Account
2019-07-16hwc2: Enforce to update color mode when panel resetQing Huang
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
2019-07-12hwc2: Fix VTS Test Failure for readback testsGurpreet Singh Dhami
Change-Id: Iab51b26e2b3e7570c8704753ebef3a7de010acb3
2019-07-08Merge "hwc2: clear the pending refresh bit when not needed" into display.lnx.5.1Linux Build Service Account
2019-06-27hwc2: clear the pending refresh bit when not neededPadmanabhan Komanduru
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
2019-06-25sdm: Add HIDL implementation to configure bit clocks.Dileep Marchya
Change-Id: I2ff291c6d0c27986bd207ffdc22c8b67431d632c CRs-Fixed: 2476186
2019-06-09hwc2: Add support to set powerstate asynchronously.Srinivas Pullakavi
-- 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
2019-06-05display: Add API to set luminanceArchit Srivastava
-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
2019-06-04Merge "hwc2: Avoid querying HDR capability for every getHDRCapability call"qctecmdr
2019-05-29hwc2: Avoid querying HDR capability for every getHDRCapability callArchit Srivastava
Query and store HDR capability during display creation time Change-Id: I3edcb4918cbe8db152ba560c3776d32ab5165eea
2019-05-10hwc2: Implement GetDisplayCapabilities and GetDisplayBrightnessSupportVarun Arora
CRs-Fixed: 2451056 Change-Id: I091d29fca3348a79cd8b4e7c74aa25949c268eab
2019-05-02hwc2: enable the vsync on the display requested by SFPadmanabhan Komanduru
-- 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
2019-05-02hwc2: Clean up display slot handling.Pullakavi Srinivas
-- 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
2019-04-18hwc2: Avoid drawcycles with non-empty dirty regionPadmanabhan Komanduru
--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
2019-04-16Merge "display: add logs for systrace debugging"qctecmdr
2019-04-14hwc2: Trigger two refresh requests on doze state transition.Padmanabhan Komanduru
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
2019-04-11display: add logs for systrace debuggingGurpreet Singh Dhami
Change-Id: I94013a446b4a39b874df4dfab1ecfb1ae832fce8
2019-04-04hwc2: Update vsync source upon explicit call from client.Padmanabhan Komanduru
- 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
2019-04-04hwc2: Switch vsync among displays in normal mode.Rajavenu Kyatham
- 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
2019-04-04sdm: Couple doze mode transition to commit.Rajavenu Kyatham
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
2019-04-01sdm: Add mask layer flag support to input buffer flags.Pullakavi Srinivas
Set DISABLE_MASK_LAYER_HINT property to disable this hint. Change-Id: I526025e2c32d386877b4b0b70c6423642421213f CRs-Fixed: 2396411