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

Unified Diff: ui/ozone/platform/dri/crtc_controller.h

Issue 851853002: It is time. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Trying to reup because the last upload failed. Created 5 years, 11 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/dri/channel_observer.h ('k') | ui/ozone/platform/dri/crtc_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/ozone/platform/dri/crtc_controller.h
diff --git a/ui/ozone/platform/dri/crtc_controller.h b/ui/ozone/platform/dri/crtc_controller.h
deleted file mode 100644
index eefe926945b090f827d734faad19ffdfc7bc6e70..0000000000000000000000000000000000000000
--- a/ui/ozone/platform/dri/crtc_controller.h
+++ /dev/null
@@ -1,96 +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.
-
-#ifndef UI_OZONE_PLATFORM_DRI_CRTC_CONTROLLER_H_
-#define UI_OZONE_PLATFORM_DRI_CRTC_CONTROLLER_H_
-
-#include <stddef.h>
-#include <stdint.h>
-#include <xf86drmMode.h>
-
-#include "ui/ozone/platform/dri/overlay_plane.h"
-#include "ui/ozone/platform/dri/scoped_drm_types.h"
-
-namespace ui {
-
-class DriWrapper;
-
-// Wrapper around a CRTC.
-//
-// One CRTC can be paired up with one or more connectors. The simplest
-// configuration represents one CRTC driving one monitor, while pairing up a
-// CRTC with multiple connectors results in hardware mirroring.
-class CrtcController {
- public:
- CrtcController(DriWrapper* drm, uint32_t crtc, uint32_t connector);
- ~CrtcController();
-
- uint32_t crtc() const { return crtc_; }
- uint32_t connector() const { return connector_; }
- DriWrapper* drm() const { return drm_; }
- bool is_disabled() const { return is_disabled_; }
- bool page_flip_pending() const { return page_flip_pending_; }
- uint64_t time_of_last_flip() const { return time_of_last_flip_; }
-
- // Perform the initial modesetting operation using |plane| as the buffer for
- // the primary plane. The CRTC configuration is specified by |mode|.
- bool Modeset(const OverlayPlane& plane, drmModeModeInfo mode);
-
- // Disables the controller.
- bool Disable();
-
- // Schedule a page flip event and present the overlays in |planes|.
- bool SchedulePageFlip(const OverlayPlaneList& planes);
-
- // Called when the page flip event occurred. The event is provided by the
- // kernel when a VBlank event finished. This allows the controller to
- // update internal state and propagate the update to the surface.
- // The tuple (seconds, useconds) represents the event timestamp. |seconds|
- // represents the number of seconds while |useconds| represents the
- // microseconds (< 1 second) in the timestamp.
- void OnPageFlipEvent(unsigned int frame,
- unsigned int seconds,
- unsigned int useconds);
-
- bool SetCursor(const scoped_refptr<ScanoutBuffer>& buffer);
- bool UnsetCursor();
- bool MoveCursor(const gfx::Point& location);
-
- private:
- DriWrapper* drm_; // Not owned.
-
- // Buffers need to be declared first so that they are destroyed last. Needed
- // since the controllers may reference the buffers.
- OverlayPlaneList current_planes_;
- OverlayPlaneList pending_planes_;
- scoped_refptr<ScanoutBuffer> cursor_buffer_;
-
- uint32_t crtc_;
-
- // TODO(dnicoara) Add support for hardware mirroring (multiple connectors).
- uint32_t connector_;
-
- drmModeModeInfo mode_;
-
- // Store the state of the CRTC before we took over. Used to restore the CRTC
- // once we no longer need it.
- ScopedDrmCrtcPtr saved_crtc_;
-
- // Keeps track of the CRTC state. If a surface has been bound, then the value
- // is set to false. Otherwise it is true.
- bool is_disabled_;
-
- // True if a successful SchedulePageFlip occurred. Reset to false by a modeset
- // operation or when the OnPageFlipEvent callback is triggered.
- bool page_flip_pending_;
-
- // The time of the last page flip event as reported by the kernel callback.
- uint64_t time_of_last_flip_;
-
- DISALLOW_COPY_AND_ASSIGN(CrtcController);
-};
-
-} // namespace ui
-
-#endif // UI_OZONE_PLATFORM_DRI_CRTC_CONTROLLER_H_
« no previous file with comments | « ui/ozone/platform/dri/channel_observer.h ('k') | ui/ozone/platform/dri/crtc_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698