Index: ui/ozone/platform/drm/gpu/drm_display_snapshot.cc |
diff --git a/ui/ozone/platform/drm/gpu/drm_display_snapshot.cc b/ui/ozone/platform/drm/gpu/drm_display_snapshot.cc |
deleted file mode 100644 |
index 19fce33a3ea2208e8bca904f918c484413720532..0000000000000000000000000000000000000000 |
--- a/ui/ozone/platform/drm/gpu/drm_display_snapshot.cc |
+++ /dev/null |
@@ -1,133 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ui/ozone/platform/drm/gpu/drm_display_snapshot.h" |
- |
-#include <stdint.h> |
-#include <stdlib.h> |
-#include <xf86drmMode.h> |
- |
-#include "base/format_macros.h" |
-#include "base/logging.h" |
-#include "base/strings/stringprintf.h" |
-#include "ui/display/util/edid_parser.h" |
-#include "ui/ozone/platform/drm/common/drm_util.h" |
-#include "ui/ozone/platform/drm/gpu/drm_device.h" |
-#include "ui/ozone/platform/drm/gpu/drm_display_mode.h" |
- |
-#if !defined(DRM_MODE_CONNECTOR_DSI) |
-#define DRM_MODE_CONNECTOR_DSI 16 |
-#endif |
- |
-namespace ui { |
- |
-namespace { |
- |
-DisplayConnectionType GetDisplayType(drmModeConnector* connector) { |
- switch (connector->connector_type) { |
- case DRM_MODE_CONNECTOR_VGA: |
- return DISPLAY_CONNECTION_TYPE_VGA; |
- case DRM_MODE_CONNECTOR_DVII: |
- case DRM_MODE_CONNECTOR_DVID: |
- case DRM_MODE_CONNECTOR_DVIA: |
- return DISPLAY_CONNECTION_TYPE_DVI; |
- case DRM_MODE_CONNECTOR_LVDS: |
- case DRM_MODE_CONNECTOR_eDP: |
- case DRM_MODE_CONNECTOR_DSI: |
- return DISPLAY_CONNECTION_TYPE_INTERNAL; |
- case DRM_MODE_CONNECTOR_DisplayPort: |
- return DISPLAY_CONNECTION_TYPE_DISPLAYPORT; |
- case DRM_MODE_CONNECTOR_HDMIA: |
- case DRM_MODE_CONNECTOR_HDMIB: |
- return DISPLAY_CONNECTION_TYPE_HDMI; |
- default: |
- return DISPLAY_CONNECTION_TYPE_UNKNOWN; |
- } |
-} |
- |
-bool IsAspectPreserving(DrmDevice* drm, drmModeConnector* connector) { |
- ScopedDrmPropertyPtr property(drm->GetProperty(connector, "scaling mode")); |
- if (!property) |
- return false; |
- |
- for (int props_i = 0; props_i < connector->count_props; ++props_i) { |
- if (connector->props[props_i] != property->prop_id) |
- continue; |
- |
- for (int enums_i = 0; enums_i < property->count_enums; ++enums_i) { |
- if (property->enums[enums_i].value == connector->prop_values[props_i] && |
- strcmp(property->enums[enums_i].name, "Full aspect") == 0) |
- return true; |
- } |
- } |
- |
- return false; |
-} |
- |
-} // namespace |
- |
-DrmDisplaySnapshot::DrmDisplaySnapshot(const scoped_refptr<DrmDevice>& drm, |
- drmModeConnector* connector, |
- drmModeCrtc* crtc, |
- uint32_t index) |
- : DisplaySnapshot(index, |
- gfx::Point(crtc->x, crtc->y), |
- gfx::Size(connector->mmWidth, connector->mmHeight), |
- GetDisplayType(connector), |
- IsAspectPreserving(drm.get(), connector), |
- false, |
- std::string(), |
- std::vector<const DisplayMode*>(), |
- nullptr, |
- nullptr), |
- drm_(drm), |
- connector_(connector->connector_id), |
- crtc_(crtc->crtc_id) { |
- ScopedDrmPropertyBlobPtr edid_blob(drm->GetPropertyBlob(connector, "EDID")); |
- |
- if (edid_blob) { |
- std::vector<uint8_t> edid( |
- static_cast<uint8_t*>(edid_blob->data), |
- static_cast<uint8_t*>(edid_blob->data) + edid_blob->length); |
- |
- if (!GetDisplayIdFromEDID(edid, index, &display_id_)) |
- display_id_ = index; |
- |
- ParseOutputDeviceData(edid, nullptr, &display_name_, nullptr, nullptr); |
- ParseOutputOverscanFlag(edid, &overscan_flag_); |
- } else { |
- VLOG(1) << "Failed to get EDID blob for connector " |
- << connector->connector_id; |
- } |
- |
- for (int i = 0; i < connector->count_modes; ++i) { |
- drmModeModeInfo& mode = connector->modes[i]; |
- modes_.push_back(new DrmDisplayMode(mode)); |
- |
- if (crtc->mode_valid && SameMode(crtc->mode, mode)) |
- current_mode_ = modes_.back(); |
- |
- if (mode.type & DRM_MODE_TYPE_PREFERRED) |
- native_mode_ = modes_.back(); |
- } |
- |
- // If no preferred mode is found then use the first one. Using the first one |
- // since it should be the best mode. |
- if (!native_mode_ && !modes_.empty()) |
- native_mode_ = modes_.front(); |
-} |
- |
-DrmDisplaySnapshot::~DrmDisplaySnapshot() { |
-} |
- |
-std::string DrmDisplaySnapshot::ToString() const { |
- return base::StringPrintf( |
- "[type=%d, connector=%" PRIu32 ", crtc=%" PRIu32 |
- ", origin=%s, mode=%s, dim=%s]", |
- type_, connector_, crtc_, origin_.ToString().c_str(), |
- current_mode_ ? current_mode_->ToString().c_str() : "NULL", |
- physical_size_.ToString().c_str()); |
-} |
- |
-} // namespace ui |