summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
AgeCommit message (Collapse)Author
2020-06-10Merge "libhwc2.1: Remove unnecessary code" into qt-hammersmith-devTreeHugger Robot
2020-05-27Merge "libhwc2.1: Add condition to call vsync callback in drm interface" ↵TreeHugger Robot
into qt-hammersmith-dev
2020-05-27libhwc2.1: Add condition to call vsync callback in drm interfaceHyunKyung Kim
VSync callback of ExynosVsyncCallback was called by VSyncWorker even if vsync is diabled. This patch calls the callback that was registered by client of HWC only if vsync is enabled. Bug: 156691356 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: If70dae4c643d550f266580dd031cc7ff9a99bbad
2020-05-27Merge "libhwc2.1: Set preferred readback format in drm interface" into ↵TreeHugger Robot
qt-hammersmith-dev
2020-05-22libhwc2.1: Set preferred readback format in drm interfaceHyunKyung Kim
Current preferred readback format is RGBA8888. Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I497e13d18ac57a59a7d7a3dce6b35f13aa091fdb
2020-05-21Merge "libhwc2.1: set NONBLOCK flag on atomic commit." into qt-hammersmith-devKevin DuBois
2020-05-18Merge "libhwc2.1: propagate modifiers to all planes" into qt-hammersmith-devTreeHugger Robot
2020-05-18libhwc2.1: set NONBLOCK flag on atomic commit.Kevin DuBois
Sets the NONBLOCK flag on the atomic commit, allowing the post-commit actions in HWC and SF to complete more quickly relative to the SF kickoff. This lets sf kickoff get started more reliably at the intended wakeup time. Test: boot to home, inspect traces. Change-Id: I57f5d9b74d1050b65850dc983fe043fb67839604
2020-05-15libhwc2.1: Capture readback data to fileHyunKyung Kim
We can capture readback data to the file with command below. adb shell vndservice call Exynos.HWCService 11 i32 0 i32 201 i32 1 File is under /data/vendor/log/hwc. SurfaceFlinger or VTS guarantee function call in the order setReadbackBuffer() -> presentDisplay(). However vndservice doesn't guarantee. Therefore setReadbackBuffer() and presentDisplay() including presentPostProcessing() should be synchronized with mDisplayMutex. Bug: 151273334 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: Ie5d203aaab76f2ca636444bcb57a5906f6b0b106
2020-05-15libhwc2.1: Remove unnecessary codeHyunKyung Kim
We don't need to clear readback buffer when there is error or there is no layer to display. HWC leaves stale data in the readback buffer in this case. Bug: 151848411 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: If2a88bbfb9687d8f6bbb047a42cce78b37504cc2
2020-05-11libhwc2.1: trace layer count at commitKevin DuBois
Trace the number and type of layers at time of drm atomic commit. Also make it a bit more clear in the trace where the atomic commit happens. Bug: 155922541 Test: observe forced GPU composition in trace. Change-Id: I134490adce749e80518fbd63c13e332e715820e7
2020-05-11libhwc2.1: propagate modifiers to all planesAdrian Salido
Modifier flags should be set on all planes if the buffer is multi-planar. Signed-off-by: Adrian Salido <salidoa@google.com> Change-Id: Ie1314b490b8a3f5d4243900184cc1ba58707d2dc
2020-04-30Merge changes from topic "b154275156" into qt-hammersmith-devTreeHugger Robot
* changes: libhwc2.1:libdrmresource: Add properties for color management libhwc2.1: Add function to check primary in drm interface libhwc2.1: Add function to get meta data from layer libhwc2.1: Add functions for color managment libhwc2.1: Add debug flag for color management libhwc2.1: Update drm header for color management libhwc2.1: Treat unknown dataspace as V0_SRGB libhwc2.1: Use inherrited class for drm interface libhwc2.1: Set metadata type libhwc2.1: Handle static and dynamic metadata separately libhwc2.1: Transfer valid min/max luminance for M2M MPP
2020-04-29libhwc2.1: Add functions for color managmentHyunKyung Kim
Some functions are added and some functions are changed to virtual. Those functions are implemented by module source code. Bug: 154275156 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I2cbb068dc606cab9545dc029173bb3ac490fec83
2020-04-24libhwc2.1: Use inherrited class for drm interfaceHyunKyung Kim
This patch uses blow classes instead of ExynosDisplayDrmInterface. ExynosPrimaryDisplayDrmInterfaceModule ExynosExternalDisplayDrmInterfaceModule Those classes can be implemented differently depending on the display and chipset. Bug: 154275156 Change-Id: I08d175472655481bd1145b75c1df543d8318e327 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-04-16libhwc2.1: Set protection in drm interfaceHyunKyung Kim
Bug: 143334947 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I15e985c869a29b2d213003a89d9c76f94e3ae2f5 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-03-20libhwc2.1: Support readback feature in drm interfaceHyunKyung Kim
Bug: 151848411 Change-Id: I3cc48f1e088b868fae9d781db5b2b503d94a6b05 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-03-13libhwc2.1: Add drm format mapping for compressed RGB565HyunKyung Kim
Change-Id: I06aaa736fdd4b09e7f225dd2ce19968a657d441c Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-03-09libhwc2.1: Call sizeof(variable) instead of sizeof(type)HyunKyung Kim
This patch calls sizeof() with real variable instead of type. Change-Id: Ic13a7e936f298b4c70012047f8909600927382ed Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-03-09libhwc2.1: Support readback featureHyunKyung Kim
Change-Id: I33118617a4a593973e12094cb82e134a0f6b93b5 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-03-02libhwc2.1: Support partial window update in drm interfaceHyunKyung Kim
Bug: 143334808 Change-Id: I6b49c6eb07df7b8fd49c7ea5cf235a46a98b7686 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-25libhwc2.1: use prime API to convert ion to drm handlesAdrian Salido
Bug: 148315667 Change-Id: Iad82d55791342e86e516ff4b4b6040119fc21eb7 Signed-off-by: Adrian Salido <salidoa@google.com> (cherry picked from commit ed501fb6df4fcea41380e962e558d782500bacf2)
2020-02-20libhwc2.1: Fix framebuffer leak in drm interfaceHyunKyung Kim
ExynosDisplayDrmInterface didn't remove framebuffer in error case. This patch removes framebuffer even in error case. BUG: 144805427 Change-Id: I3f5b1b059ebc559e0e4f28fc0ba0dfdf20822da9 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-20libhwc2.1: Set compression source in drm interfaceHyunKyung Kim
This patch sets compression source using modifier. Change-Id: I8357ca9fda0ce9139195fd666dddc316c609e822 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-20libhwc2.1: Use enum property maps in drm interfaceHyunKyung Kim
This patch initializes maps to find drm property value related to hal type during bootup and uses those maps every frame. In addition, this patch fixes the bug that searched the value of standard property with wrong name "DCI_P3". The name should be "DCI-P3". BUG: 146146735 Change-Id: I5932d61ae146e08a99dca0fa38babcf081440da0 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-20libhwc2.1: Abstract functions for drm commit in drm interfaceHyunKyung Kim
This patch abstracts functions for atomic commit and dumping commit information inside DrmModeAtomicReq class. Change-Id: I55c8a74a37f0038f2b11fc7d9a16531e260c814f Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-20libhwc2.1: Separate function in drm interfaceHyunKyung Kim
This patch separates deliverWinConfigData() into the function to add framebuffer, the function to add property to drm request and the function to set drm request using display config. BUG: 146146211 Change-Id: I3ee716f7d73e299b17091635662ef41eb77e143a Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-20libhwc2.1: Fix bug to print debug info in drm interfaceHyunKyung Kim
DrmModeAtomicReq destructor prints drmModeAtomicReqPtr setting when there is error for debugging. mDrmDisplayInterface should be set in order to print drmModeAtomicReqPtr setting. However it was not initialized. This patch initializes mDrmDisplayInterface to print debug information in error case. Change-Id: I84fbe0ef64740f663caca955d8c76228ac13da5a Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-20Revert "libhwc2.1: Set compression source in drm interface"HyunKyung Kim
This reverts commit e08162f1fe691ab5d0044a2ebd0457b42707a315. compression source will be set using modifier. Change-Id: I075611ff1e1ef5ed653055b3522a064ed9c58cbf Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-20libhwc2.1: Set configurations for dataspace in drm interfaceHyunKyung Kim
This patch passes dataspace information to kernel using standard, transfer, range properties in plane object. BUG: 143547069 Change-Id: I32795a2793343d975d8ba2829d43a2cd926b2857 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-20Revert "libhwc2.1: Set dataspace configuration in drm interface"HyunKyung Kim
This reverts commit 49c3bac67ac1e54cac929d78884f7803c389b42a. BUG: 143547069 Change-Id: Ic1d3e9d533fc8da98f1806834ef6f103e7826918 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-20libhwc2.1: Update copyright in newly added filesHyunKyung Kim
Change-Id: I2b3b4e2d23290b56994a3e478ef57804bfc3e74c Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-20Merge "libhwc2.1: Set colormap using modifier in drm interface" into ↵TreeHugger Robot
qt-hammersmith-dev
2020-02-17libhwc2.1: Set colormap using modifier in drm interfaceHyunKyung Kim
Bug: 142885687 Change-Id: I8b3911d95c8ee43c3cad00419e95cd39c762c661 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-17libhwc2.1: Fix bug in error handling in drm interfaceHyunKyung Kim
drmModeAtomicAddProperty() returns positive number when it succeed in adding property. Some source code dealt with nonzero return value of drmModeAtomicAddProperty() as an error. This patch fixes this bug. Some functions of ExynosDisplayDrmInterface class return error number that drmModeAtomicAddProperty() returns if the return value is minus. Bug: 142885687 Change-Id: I92da1ef7da5b633333e198cda36d6886a68bf745 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-02-17libhwc2.1: Convert plane alpha to its own value in drm interfaceHyunKyung Kim
Bug: 142484670 Change-Id: Id933631f2f0d64b16046ebfafd284fa5e200c54e Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Support getHdrCapabilities in drm interfaceHyunKyung Kim
Change-Id: Ia6508b62048251f786ba4b8e79c0a3f3e2aebb90 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Set luminance configuration in drm interfaceHyunKyung Kim
Change-Id: Idafaffdb30a663d38b7ce8c5fb3c9bed83833b78 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Set dataspace configuration in drm interfaceHyunKyung Kim
Change-Id: I338e7920af06b7b28a9bbc5e748c70a1afe53bb5 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Set compression source in drm interfaceHyunKyung Kim
Change-Id: Ie4e50fc2757b8da81c8fc48e98279254636014a1 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Add compression parameter to get drm format in drm interfaceHyunKyung Kim
Change-Id: I4b446df330d18289d35f9e1c6cb951bf5e5a04e5 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Increase sleep time for dumping log in drm interfaceHyunKyung Kim
Change-Id: Icaa2fb49de92f7afc4f7d52ecb042ac14539a6b5 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Support solid color layer overlay in drm interfaceHyunKyung Kim
Change-Id: I1f6ca00c324fb6f3e9dac6e815398b1e4ec4581a Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Fix bug in setting pitches in drm interfaceHyunKyung Kim
This patch fixes bug in setting pitches parameter to create framebuffer. Change-Id: I9bd5733e7bb563b7293678ed0005892c0670bb3b Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Update framebuffer setting in drm interfaceHyunKyung Kim
This patch updates settings of handles, pitches and offsets when HWC creates framebuffer. It is in order to support source buffer that has multi planes but has single fd. Change-Id: I3019e04274f022ea96c841fcff53ef41fef17add Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Set properties of plane for overlay in drm interfaceHyunKyung Kim
Only the first plane was enabled before this patch. This patch enables plane that is mapped with assigned DPU channel. This patch sets properties of plane for rotation and blending. Change-Id: Ie77dbe174ff05a4c3d16e2e5c529f14312a9265d Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Framebuffer setting for AFBC in drm interfaceHyunKyung Kim
This patch creates a framebuffer with modifier to indicate that the image in the buffer is compressed. This patch sets value in bo_handles and pitches array parameter as many as the number of plane of buffer format to fix error in drmModeAddFB2WithModifiers(). Change-Id: Ic8d6b1a904f9e71a1c13cee354fc6377a937a114 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Update debug message for drm interfaceHyunKyung Kim
This patch prints object name with string in automic commit properties. Change-Id: I1bff05fc349c484a9d5b8713089921252c9cf534 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Drm interface sets zpos propertyHyunKyung Kim
Change-Id: Ibb98733a50e3fab7b06858875f1d3052468963ec Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2019-10-28libhwc2.1: Change initial mode setting in drm interfaceHyunKyung Kim
This patch sets initial mode with preferred mode rather then the first mode. Change-Id: I1f44670c603204d3814eefafc695e107bec91e5f Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>