diff options
author | Weizhung Ding <weizhungding@google.com> | 2021-09-27 05:30:26 +0200 |
---|---|---|
committer | Weizhung Ding <weizhungding@google.com> | 2022-01-25 09:49:55 +0100 |
commit | f4dfa1adbbb1f18e4cbb58635b5bca91a2a7fe16 (patch) | |
tree | b5823c2d451cc5a8c84b71336571e8bd4d074ab9 /minui/graphics_drm.h | |
parent | Merge "[MTE] Add interface to communicate MTE status to bootloader." (diff) | |
download | android_bootable_recovery-f4dfa1adbbb1f18e4cbb58635b5bca91a2a7fe16.tar android_bootable_recovery-f4dfa1adbbb1f18e4cbb58635b5bca91a2a7fe16.tar.gz android_bootable_recovery-f4dfa1adbbb1f18e4cbb58635b5bca91a2a7fe16.tar.bz2 android_bootable_recovery-f4dfa1adbbb1f18e4cbb58635b5bca91a2a7fe16.tar.lz android_bootable_recovery-f4dfa1adbbb1f18e4cbb58635b5bca91a2a7fe16.tar.xz android_bootable_recovery-f4dfa1adbbb1f18e4cbb58635b5bca91a2a7fe16.tar.zst android_bootable_recovery-f4dfa1adbbb1f18e4cbb58635b5bca91a2a7fe16.zip |
Diffstat (limited to 'minui/graphics_drm.h')
-rw-r--r-- | minui/graphics_drm.h | 19 |
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; }; |