diff options
author | kalyan.kondapally <kalyan.kondapally@intel.com> | 2015-08-25 12:05:09 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-25 19:05:52 +0000 |
commit | 2238227bae73cc03d5dc388f50255dac52951c2e (patch) | |
tree | 1e9184d3b0ec5e1d979bfe5bf691a4fea32b20cb /ui/ozone/platform/drm/gpu/hardware_display_plane.h | |
parent | 81f54d7a8cd88c5a8a7e40c858bf342eec68d6ab (diff) | |
download | chromium_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.h | 18 |
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); }; |