summaryrefslogtreecommitdiffstats
path: root/ui/ozone/platform/drm/gpu/hardware_display_plane.h
diff options
context:
space:
mode:
authorkalyan.kondapally <kalyan.kondapally@intel.com>2015-08-25 12:05:09 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-25 19:05:52 +0000
commit2238227bae73cc03d5dc388f50255dac52951c2e (patch)
tree1e9184d3b0ec5e1d979bfe5bf691a4fea32b20cb /ui/ozone/platform/drm/gpu/hardware_display_plane.h
parent81f54d7a8cd88c5a8a7e40c858bf342eec68d6ab (diff)
downloadchromium_src-2238227bae73cc03d5dc388f50255dac52951c2e.zip
chromium_src-2238227bae73cc03d5dc388f50255dac52951c2e.tar.gz
chromium_src-2238227bae73cc03d5dc388f50255dac52951c2e.tar.bz2
Atomic: Don’t keep track of Cursor planes
CRTC controller always assume they have a cursor plane and it is updated via cursor specific DRM API. In our side, cursor plane is part of the planes list which are free to be used. Now, we dont keep track of these planes as we shouldn’t try to use them for any other purpose. Review URL: https://codereview.chromium.org/1294113005 Cr-Commit-Position: refs/heads/master@{#345398}
Diffstat (limited to 'ui/ozone/platform/drm/gpu/hardware_display_plane.h')
-rw-r--r--ui/ozone/platform/drm/gpu/hardware_display_plane.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/ui/ozone/platform/drm/gpu/hardware_display_plane.h b/ui/ozone/platform/drm/gpu/hardware_display_plane.h
index 778f344..4eecf8d 100644
--- a/ui/ozone/platform/drm/gpu/hardware_display_plane.h
+++ b/ui/ozone/platform/drm/gpu/hardware_display_plane.h
@@ -22,11 +22,15 @@ class DrmDevice;
class OZONE_EXPORT HardwareDisplayPlane {
public:
+ enum Type { kDummy, kPrimary, kOverlay, kCursor };
+
HardwareDisplayPlane(uint32_t plane_id, uint32_t possible_crtcs);
virtual ~HardwareDisplayPlane();
- virtual bool Initialize(DrmDevice* drm, const std::vector<uint32_t>& formats);
+ bool Initialize(DrmDevice* drm,
+ const std::vector<uint32_t>& formats,
+ bool is_dummy);
virtual bool IsSupportedFormat(uint32_t format) const;
@@ -35,20 +39,24 @@ class OZONE_EXPORT HardwareDisplayPlane {
bool in_use() const { return in_use_; }
void set_in_use(bool in_use) { in_use_ = in_use; }
- bool is_dummy() const { return is_dummy_; }
- void set_is_dummy(bool is_dummy) { is_dummy_ = is_dummy; }
-
uint32_t plane_id() const { return plane_id_; }
+ Type type() const { return type_; }
+
void set_owning_crtc(uint32_t crtc) { owning_crtc_ = crtc; }
uint32_t owning_crtc() const { return owning_crtc_; }
protected:
+ virtual bool InitializeProperties(
+ DrmDevice* drm,
+ const ScopedDrmObjectPropertyPtr& plane_props);
+
uint32_t plane_id_ = 0;
uint32_t possible_crtcs_ = 0;
uint32_t owning_crtc_ = 0;
bool in_use_ = false;
- bool is_dummy_ = false;
+ Type type_ = kPrimary;
+ std::vector<uint32_t> supported_formats_;
DISALLOW_COPY_AND_ASSIGN(HardwareDisplayPlane);
};