- Feb 09, 2022
-
-
Fadwa Chiby authored
-
- Feb 04, 2022
-
-
Roman Stratiienko authored
Rewrite Layer-to-Plane planner. Get rid of ~200 redundant lines of code + added plane sharing functionality. Closes: https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/-/issues/11 Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Enough to get 100% passes in Composer 2.4 VTS. Some SOCs require a VTS fix to pass [1] [1]: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1954544 Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Composer 2.4 will require another vsyncworker callback to send VsyncPeriodTimingChanged event. It makes sence to use single VSyncWorker and flags to indicate which actions are required to perform. This should also save some runtime resources. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
- Feb 02, 2022
-
-
Roman Stratiienko authored
The following use scenarios are now possible: 1. When no display connected, primary HwcDisplay is created in headless mode. 2. When user connects first display, it binds to primary slot, replacing headless HwcDisplay. 3. When user connects another display it binds to the new HwcDisplay slot, creating new display for the framework. 4. When user disconnects first (Primary) display, drm_hwc detaches second display and attaches it to the Primary slot. In this case framework is notified as Primary display resolution updated (Plugged->Plugged transition). And second display is disconnected (Plugged->Unplugged transition). DrmDisplayPipeline is now created on demand (after hotplug event). HwcDisplay class is now destructed on connector unplug, which will give us ability to destroy any resource caches (will be required for FB caching logic). Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
HwcDisplay can now take all necessary objects from DrmDisplayPipeline. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
We should assign weak pointer object to really take ownership. Fixes: cad8e0ca ("drm_hwcomposer: Introduce DrmDisplayPipeline class") Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
- Feb 01, 2022
-
-
Julien Masson authored
This update contains several clean-up and fixes. The primary display is now returned as internal even if it's an HDMI display: 456e2d6b drm_hwcomposer: Handle primary display in GetDisplayConnectionType() Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Jan 31, 2022
-
-
Roman Stratiienko authored
Create systematic way of binding DRM objects (Crtc,Encoder,Planes...) to the pipeline using RAII. Use it to create the pipeline. + Allow pipeline creation to fail. Closes: https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/-/issues/14 Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
1. Move drm/DrmConnector.h to Normal clang-tidy checks list by fixing clang-tidy findings. 2. Remove DrmDevice self-reference. 3. Replace shared_ptr reference to DrmDevice in DrmFbImporter with a pointer, making ResourceManager only owner of DrmDevice and its chilren. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Implement DrmConnector instantiation through CreateInstance() static method, which helps to reduce complexity of DrmDevice::Init() function. Move Connector-to-CRTC binding information to the DrmDevice class. Move drm/DrmConnector.h to Normal clang-tidy checks list by fixing clang-tidy findings. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Implement DrmEncoder instantiation through CreateInstance() static method, which helps to reduce complexity of DrmDevice::Init() function. Move Encoder-to-CRTC binding information to the DrmDevice class. Move drm/DrmEncoder.h to Normal clang-tidy checks list by fixing clang-tidy findings. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Implement DrmCrtc instantiation through CreateInstance() static method, which helps to reduce complexity of DrmDevice::Init() function. Move CRTC-to-Display binding information to the DrmDevice class. Move drm/DrmCrtc.h to Normal clang-tidy checks list by fixing clang-tidy findings. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
This feature isn't correctly fits hwc2 and SF requirements. Primary display prioritization shall be done by introducing ability to override internal/external connector type for any connector. 'vendor.hwc.drm.primary_display_order' property is no longer relevant. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Primary display should always be internal. Closes: https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/-/issues/58 Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
This allow to throw away few lines from DrmDevice::Init() making it less complicated. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Cosmetic change: make GetDisplay() non-static class method + use deduced return type. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Composer service has to be started again. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
- Jan 20, 2022
-
-
Roman Stratiienko authored
AutoLock class is no longer used. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Remove unused functionality. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Remove unused functionality. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Headless mode required to keep SurfaceFlinger alive when all displays are disconnected, Without headless mode Android will continuously crash. Only single internal (primary) display is required to be in HEADLESS mode to prevent the crash. See [1]. [1]: https://source.android.com/devices/graphics/hotplug#handling-common-scenarios Closes: https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/-/issues/57 Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Implement Google guidelines from [1] 1. The supported display config IDs are: id=1, 1080x1920 60hz id=2, 1080x1920 50hz 2. When a change of display configs is processed, the next set of config IDs are assigned starting from the next unused integer, shown as follows: id=3, 2160x3840 60hz id=4, 2160x3840 50hz id=5, 1080x1920 60hz id=6, 1080x1920 50hz + Don't update modes in GetDisplayConfigs() . Modes is now updated at init or after every hotplug event. [1]: https://source.android.com/devices/graphics/hotplug#configuring-composer-hal-sequential-ids Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Further development will require more asynchronous processing. Introduce project-wide single mutex for these purposes. Use it instead for callback handling instead of callback_lock. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Process and log __PRETTY_FUNCTION__ compiler string. Prints HWC2 API logs as follows: hwc2-device: Display #0 Layer: #0 hook: android::HwcLayer::SetLayerBuffer hwc2-device: Display #0 hook: android::HwcDisplay::ValidateDisplay hwc2-device: Display #0 hook: android::HwcDisplay::GetChangedCompositionTypes hwc2-device: Display #0 hook: android::HwcDisplay::GetChangedCompositionTypes hwc2-device: Display #0 hook: android::HwcDisplay::GetDisplayRequests hwc2-device: Display #0 hook: android::HwcDisplay::GetDisplayRequests hwc2-device: Display #0 hook: android::HwcDisplay::AcceptDisplayChanges hwc2-device: Display #0 hook: android::HwcDisplay::PresentDisplay hwc2-device: Display #0 hook: android::HwcDisplay::GetReleaseFences hwc2-device: Display #0 hook: android::HwcDisplay::GetReleaseFences Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
+ address new clang-tidy findings. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
We need some delay to ensure DrmConnector::UpdateModes() will query correct modes list, otherwise at least RPI4 board may report 0 modes. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
- Jan 18, 2022
-
-
Roman Stratiienko authored
It was accidentally removed by my previous commit. Restore it. Fixes: a148f213 ("drm_hwcomposer: Rework display modes handling") Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
- Jan 14, 2022
-
-
Roman Stratiienko authored
It should help us with manual testing. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
- Jan 13, 2022
-
-
Roman Stratiienko authored
Some of KMS drivers like kirin are sensitive to display pipeline configuration, modern kernel will configure the pipeline correctly when user sets DPMS property. To be more precise current compositor logic will not attach primary plane to the CRTC, while kirin relies on it internally. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
- Jan 12, 2022
-
-
Roman Stratiienko authored
To reduce complexity of HwcDisplay class. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
To keep all frontend-related files in a single directory. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Reduces code complexity. Closes: https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/-/issues/35 Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
... to reduce complexity of DrmHwcTwo.* files. Bump-up tidy level of new files to NORMAL (fix function naming, add NOLINT, etc.) Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
... to reduce complexity of DrmHwcTwo class. Create "hwc2_device" directory that will be later used to fit all frontend-related code. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
We have single fail case of -readability-use-anyofallof. Use NOLINTNEXTLINE comment instead. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
This improves visibility and helps to distinguish which particular checks are disabled at every level. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
To make checklists definitions aligned and allow inheritance. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-
Roman Stratiienko authored
Previously, the fractional part was truncated. Signed-off-by:
Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-