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

Unified Diff: ui/ozone/platform/drm/gpu/hardware_display_controller.h

Issue 1091253003: [ozone] Keep the queue of surfaceless buffers inside gl_surface_ozone (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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
Index: ui/ozone/platform/drm/gpu/hardware_display_controller.h
diff --git a/ui/ozone/platform/drm/gpu/hardware_display_controller.h b/ui/ozone/platform/drm/gpu/hardware_display_controller.h
index 196b2ddabb397e7c4ab8ef77ad9b28911ae0f2ba..af3e510077ea65ed3c70170509f41c5e0e277f9d 100644
--- a/ui/ozone/platform/drm/gpu/hardware_display_controller.h
+++ b/ui/ozone/platform/drm/gpu/hardware_display_controller.h
@@ -17,11 +17,9 @@
#include "base/containers/scoped_ptr_hash_map.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/scoped_vector.h"
-#include "base/memory/weak_ptr.h"
#include "ui/ozone/ozone_export.h"
#include "ui/ozone/platform/drm/gpu/hardware_display_plane_manager.h"
#include "ui/ozone/platform/drm/gpu/overlay_plane.h"
-#include "ui/ozone/platform/drm/gpu/page_flip_observer.h"
namespace gfx {
class Point;
@@ -87,12 +85,10 @@ class DrmDevice;
// only a subset of connectors can be active independently, showing different
// framebuffers. Though, in this case, it would be possible to have all
// connectors active if some use the same CRTC to mirror the display.
-class OZONE_EXPORT HardwareDisplayController
- : public base::SupportsWeakPtr<HardwareDisplayController>,
- public PageFlipObserver {
+class OZONE_EXPORT HardwareDisplayController {
public:
explicit HardwareDisplayController(scoped_ptr<CrtcController> controller);
- ~HardwareDisplayController() override;
+ ~HardwareDisplayController();
// Performs the initial CRTC configuration. If successful, it will display the
// framebuffer for |primary| with |mode|.
@@ -154,34 +150,6 @@ class OZONE_EXPORT HardwareDisplayController
// Returns true if any of the CRTCs is waiting for a page flip.
bool HasPendingPageFlips() const;
- bool ActualSchedulePageFlip();
-
- void ProcessPageFlipRequest();
-
- void ClearPendingRequests();
-
- // PageFlipObserver:
- void OnPageFlipEvent() override;
-
- struct PageFlipRequest {
- PageFlipRequest(const OverlayPlaneList& planes,
- bool is_sync,
- const base::Closure& callback);
- ~PageFlipRequest();
-
- OverlayPlaneList planes;
- bool is_sync;
- base::Closure callback;
- };
-
- // Buffers need to be declared first so that they are destroyed last. Needed
- // since the controllers may reference the buffers.
- OverlayPlaneList current_planes_;
- // Planes currently being queued without having SchedulePageFlip() called.
- OverlayPlaneList pending_planes_;
- // Plane lists for which SchedulePageFlip() was called. They are waiting for
- // previous page flip events to be completed before they can be serviced.
- std::deque<PageFlipRequest> requests_;
scoped_refptr<ScanoutBuffer> cursor_buffer_;
dnicoara 2015/04/23 15:34:56 nit: Unrelated, but could you just remove this as
base::ScopedPtrHashMap<DrmDevice*, HardwareDisplayPlaneList>
@@ -198,6 +166,7 @@ class OZONE_EXPORT HardwareDisplayController
drmModeModeInfo mode_;
bool is_disabled_;
+ bool ignore_page_flip_event_;
dnicoara 2015/04/23 15:34:56 remove
DISALLOW_COPY_AND_ASSIGN(HardwareDisplayController);
};

Powered by Google App Engine
This is Rietveld 408576698