Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Unified Diff: ui/ozone/platform/drm/gpu/drm_display.cc

Issue 1140773003: [1.5/2][Ozone-Drm] Keep track of display origin (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@handle-display-init3
Patch Set: . Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/ozone/platform/drm/gpu/drm_display.h ('k') | ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/ozone/platform/drm/gpu/drm_display.cc
diff --git a/ui/ozone/platform/drm/gpu/drm_display.cc b/ui/ozone/platform/drm/gpu/drm_display.cc
index 339937ff44e9fed9b592e76135d2116bd32e692e..fddff56fddf7522a3fbc1bac8a94046183b4ab6a 100644
--- a/ui/ozone/platform/drm/gpu/drm_display.cc
+++ b/ui/ozone/platform/drm/gpu/drm_display.cc
@@ -67,25 +67,35 @@ gfx::Size GetDrmModeSize(const drmModeModeInfo& mode) {
return gfx::Size(mode.hdisplay, mode.vdisplay);
}
+std::vector<drmModeModeInfo> GetDrmModeVector(drmModeConnector* connector) {
+ std::vector<drmModeModeInfo> modes;
+ for (int i = 0; i < connector->count_modes; ++i)
+ modes.push_back(connector->modes[i]);
+
+ return modes;
+}
+
} // namespace
DrmDisplay::DrmDisplay(ScreenManager* screen_manager,
- int64_t display_id,
- const scoped_refptr<DrmDevice>& drm,
- uint32_t crtc,
- uint32_t connector,
- const std::vector<drmModeModeInfo>& modes)
- : screen_manager_(screen_manager),
- display_id_(display_id),
- drm_(drm),
- crtc_(crtc),
- connector_(connector),
- modes_(modes) {
+ const scoped_refptr<DrmDevice>& drm)
+ : screen_manager_(screen_manager), display_id_(-1), drm_(drm) {
}
DrmDisplay::~DrmDisplay() {
}
+DisplaySnapshot_Params DrmDisplay::Update(HardwareDisplayControllerInfo* info,
+ size_t display_index) {
+ DisplaySnapshot_Params params =
+ CreateDisplaySnapshotParams(info, drm_->get_fd(), display_index, origin_);
+ crtc_ = info->crtc()->crtc_id;
+ connector_ = info->connector()->connector_id;
+ display_id_ = params.display_id;
+ modes_ = GetDrmModeVector(info->connector());
+ return params;
+}
+
bool DrmDisplay::Configure(const drmModeModeInfo* mode,
const gfx::Point& origin) {
VLOG(1) << "DRM configuring: device=" << drm_->device_path().value()
@@ -108,6 +118,7 @@ bool DrmDisplay::Configure(const drmModeModeInfo* mode,
}
}
+ origin_ = origin;
return true;
}
« no previous file with comments | « ui/ozone/platform/drm/gpu/drm_display.h ('k') | ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698