summaryrefslogtreecommitdiffstats
path: root/minui/graphics_drm.h
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2022-01-26 07:26:22 +0100
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-01-26 07:26:22 +0100
commit530cd6d0a759814e0142761d8f865a90828188ff (patch)
tree2a48ed6a4c9416c99d2d1bc79eb714e12f4ddd12 /minui/graphics_drm.h
parentMerge "[MTE] Add interface to communicate MTE status to bootloader." am: 61152e4337 am: c652569b15 am: becda4abff (diff)
parentMerge "minui: Add support for multiple connectors" am: 80a9dcad35 am: f8d4273171 (diff)
downloadandroid_bootable_recovery-530cd6d0a759814e0142761d8f865a90828188ff.tar
android_bootable_recovery-530cd6d0a759814e0142761d8f865a90828188ff.tar.gz
android_bootable_recovery-530cd6d0a759814e0142761d8f865a90828188ff.tar.bz2
android_bootable_recovery-530cd6d0a759814e0142761d8f865a90828188ff.tar.lz
android_bootable_recovery-530cd6d0a759814e0142761d8f865a90828188ff.tar.xz
android_bootable_recovery-530cd6d0a759814e0142761d8f865a90828188ff.tar.zst
android_bootable_recovery-530cd6d0a759814e0142761d8f865a90828188ff.zip
Diffstat (limited to 'minui/graphics_drm.h')
-rw-r--r--minui/graphics_drm.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/minui/graphics_drm.h b/minui/graphics_drm.h
index 57ba39b83..fe3beaff9 100644
--- a/minui/graphics_drm.h
+++ b/minui/graphics_drm.h
@@ -59,16 +59,23 @@ class MinuiBackendDrm : public MinuiBackend {
GRSurface* Init() override;
GRSurface* Flip() override;
void Blank(bool) override;
+ void Blank(bool blank, DrmConnector index) override;
private:
void DrmDisableCrtc(int drm_fd, drmModeCrtc* crtc);
- bool DrmEnableCrtc(int drm_fd, drmModeCrtc* crtc, const std::unique_ptr<GRSurfaceDrm>& surface);
+ bool DrmEnableCrtc(int drm_fd, drmModeCrtc* crtc, const std::unique_ptr<GRSurfaceDrm>& surface,
+ uint32_t* conntcors);
void DisableNonMainCrtcs(int fd, drmModeRes* resources, drmModeCrtc* main_crtc);
- drmModeConnector* FindMainMonitor(int fd, drmModeRes* resources, uint32_t* mode_index);
+ bool FindAndSetMonitor(int fd, drmModeRes* resources);
+
+ struct DrmInterface {
+ std::unique_ptr<GRSurfaceDrm> GRSurfaceDrms[2];
+ int current_buffer{ 0 };
+ drmModeCrtc* monitor_crtc{ nullptr };
+ drmModeConnector* monitor_connector{ nullptr };
+ uint32_t selected_mode{ 0 };
+ } drm[DRM_MAX];
- std::unique_ptr<GRSurfaceDrm> GRSurfaceDrms[2];
- int current_buffer{ 0 };
- drmModeCrtc* main_monitor_crtc{ nullptr };
- drmModeConnector* main_monitor_connector{ nullptr };
int drm_fd{ -1 };
+ DrmConnector active_display = DRM_MAIN;
};