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

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

Issue 1311043016: Switch DRM platform to using a separate thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mv-drm-calls-on-thread2
Patch Set: Created 5 years, 3 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/drm_window.h
diff --git a/ui/ozone/platform/drm/gpu/drm_window.h b/ui/ozone/platform/drm/gpu/drm_window.h
index c918499ed5ff19bb8e2a48e9b45196f7a2511b8f..1616dd8b7c2a150454625798bea636881797ba49 100644
--- a/ui/ozone/platform/drm/gpu/drm_window.h
+++ b/ui/ozone/platform/drm/gpu/drm_window.h
@@ -28,6 +28,7 @@ class Rect;
namespace ui {
class DrmBuffer;
+class DrmDevice;
class DrmDeviceManager;
class HardwareDisplayController;
struct OverlayCheck_Params;
@@ -43,7 +44,7 @@ class ScreenManager;
//
// If there's no display whose bounds match the window's, the window is
// disconnected and its contents will not be visible to the user.
-class OZONE_EXPORT DrmWindow {
+class OZONE_EXPORT DrmWindow : public base::SupportsWeakPtr<DrmWindow> {
public:
DrmWindow(gfx::AcceleratedWidget widget,
DrmDeviceManager* device_manager,
@@ -64,6 +65,8 @@ class OZONE_EXPORT DrmWindow {
// not cache the result as the controller may change as the window is moved.
HardwareDisplayController* GetController();
+ scoped_refptr<DrmDevice> GetAllocationDrmDevice() const;
+
void SetController(HardwareDisplayController* controller);
// Called when the window is resized/moved.
@@ -89,7 +92,7 @@ class OZONE_EXPORT DrmWindow {
// is once again ready.
void QueueOverlayPlane(const OverlayPlane& plane);
- bool SchedulePageFlip(bool is_sync, const SwapCompletionCallback& callback);
+ void SchedulePageFlip(bool is_sync, const SwapCompletionCallback& callback);
bool TestPageFlip(const std::vector<OverlayCheck_Params>& planes,
ScanoutBufferGenerator* buffer_generator);
@@ -99,6 +102,8 @@ class OZONE_EXPORT DrmWindow {
void GetVSyncParameters(
const gfx::VSyncProvider::UpdateVSyncCallback& callback) const;
+ bool IsDisplayedOnUniversalDisplayLinkDevice() const;
+
private:
// Draw the last set cursor & update the cursor plane.
void ResetCursor(bool bitmap_only);

Powered by Google App Engine
This is Rietveld 408576698