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

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

Issue 908993003: [Ozone-Dri] Rename DriWrapper to DrmDevice (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@udl3-pass-drm-fd
Patch Set: rebased Created 5 years, 10 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/dri_window_delegate_impl_unittest.cc ('k') | ui/ozone/platform/dri/dri_wrapper.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/ozone/platform/dri/dri_wrapper.h
diff --git a/ui/ozone/platform/dri/dri_wrapper.h b/ui/ozone/platform/dri/dri_wrapper.h
deleted file mode 100644
index 27582dbb922b9b46c88d3bfd93c0d36a12a16256..0000000000000000000000000000000000000000
--- a/ui/ozone/platform/dri/dri_wrapper.h
+++ /dev/null
@@ -1,195 +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_DRI_WRAPPER_H_
-#define UI_OZONE_PLATFORM_DRI_DRI_WRAPPER_H_
-
-#include <stdint.h>
-
-#include <vector>
-
-#include "base/callback.h"
-#include "base/files/file.h"
-#include "base/files/file_path.h"
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_vector.h"
-#include "ui/gfx/geometry/rect.h"
-#include "ui/gfx/geometry/rect_f.h"
-#include "ui/gfx/overlay_transform.h"
-#include "ui/ozone/ozone_export.h"
-#include "ui/ozone/platform/dri/hardware_display_plane_manager.h"
-#include "ui/ozone/platform/dri/scoped_drm_types.h"
-
-typedef struct _drmEventContext drmEventContext;
-typedef struct _drmModeModeInfo drmModeModeInfo;
-
-struct SkImageInfo;
-
-namespace base {
-class SingleThreadTaskRunner;
-} // namespace base
-
-namespace ui {
-
-class HardwareDisplayPlaneManager;
-
-// Wraps DRM calls into a nice interface. Used to provide different
-// implementations of the DRM calls. For the actual implementation the DRM API
-// would be called. In unit tests this interface would be stubbed.
-class OZONE_EXPORT DriWrapper : public base::RefCountedThreadSafe<DriWrapper> {
- public:
- typedef base::Callback<void(unsigned int /* frame */,
- unsigned int /* seconds */,
- unsigned int /* useconds */)> PageFlipCallback;
-
- DriWrapper(const base::FilePath& device_path);
- DriWrapper(const base::FilePath& device_path, base::File file);
-
- // Open device.
- virtual bool Initialize();
-
- // |task_runner| will be used to asynchronously page flip.
- virtual void InitializeTaskRunner(
- const scoped_refptr<base::SingleThreadTaskRunner>& task_runner);
-
- // Get the CRTC state. This is generally used to save state before using the
- // CRTC. When the user finishes using the CRTC, the user should restore the
- // CRTC to it's initial state. Use |SetCrtc| to restore the state.
- virtual ScopedDrmCrtcPtr GetCrtc(uint32_t crtc_id);
-
- // Used to configure CRTC with ID |crtc_id| to use the connector in
- // |connectors|. The CRTC will be configured with mode |mode| and will display
- // the framebuffer with ID |framebuffer|. Before being able to display the
- // framebuffer, it should be registered with the CRTC using |AddFramebuffer|.
- virtual bool SetCrtc(uint32_t crtc_id,
- uint32_t framebuffer,
- std::vector<uint32_t> connectors,
- drmModeModeInfo* mode);
-
- // Used to set a specific configuration to the CRTC. Normally this function
- // would be called with a CRTC saved state (from |GetCrtc|) to restore it to
- // its original configuration.
- virtual bool SetCrtc(drmModeCrtc* crtc, std::vector<uint32_t> connectors);
-
- virtual bool DisableCrtc(uint32_t crtc_id);
-
- // Returns the connector properties for |connector_id|.
- virtual ScopedDrmConnectorPtr GetConnector(uint32_t connector_id);
-
- // Register a buffer with the CRTC. On successful registration, the CRTC will
- // assign a framebuffer ID to |framebuffer|.
- virtual bool AddFramebuffer(uint32_t width,
- uint32_t height,
- uint8_t depth,
- uint8_t bpp,
- uint32_t stride,
- uint32_t handle,
- uint32_t* framebuffer);
-
- // Deregister the given |framebuffer|.
- virtual bool RemoveFramebuffer(uint32_t framebuffer);
-
- // Get the DRM details associated with |framebuffer|.
- virtual ScopedDrmFramebufferPtr GetFramebuffer(uint32_t framebuffer);
-
- // Schedules a pageflip for CRTC |crtc_id|. This function will return
- // immediately. Upon completion of the pageflip event, the CRTC will be
- // displaying the buffer with ID |framebuffer| and will have a DRM event
- // queued on |fd_|.
- virtual bool PageFlip(uint32_t crtc_id,
- uint32_t framebuffer,
- bool is_sync,
- const PageFlipCallback& callback);
-
- // Schedule an overlay to be show during the page flip for CRTC |crtc_id|.
- // |source| location from |framebuffer| will be shown on overlay
- // |overlay_plane|, in the bounds specified by |location| on the screen.
- virtual bool PageFlipOverlay(uint32_t crtc_id,
- uint32_t framebuffer,
- const gfx::Rect& location,
- const gfx::Rect& source,
- int overlay_plane);
-
- // Returns the property with name |name| associated with |connector|. Returns
- // NULL if property not found. If the returned value is valid, it must be
- // released using FreeProperty().
- virtual ScopedDrmPropertyPtr GetProperty(drmModeConnector* connector,
- const char* name);
-
- // Sets the value of property with ID |property_id| to |value|. The property
- // is applied to the connector with ID |connector_id|.
- virtual bool SetProperty(uint32_t connector_id,
- uint32_t property_id,
- uint64_t value);
-
- // Can be used to query device/driver |capability|. Sets the value of
- // |capability to |value|. Returns true in case of a succesful query.
- virtual bool GetCapability(uint64_t capability, uint64_t* value);
-
- // Return a binary blob associated with |connector|. The binary blob is
- // associated with the property with name |name|. Return NULL if the property
- // could not be found or if the property does not have a binary blob. If valid
- // the returned object must be freed using FreePropertyBlob().
- virtual ScopedDrmPropertyBlobPtr GetPropertyBlob(drmModeConnector* connector,
- const char* name);
-
- // Set the cursor to be displayed in CRTC |crtc_id|. (width, height) is the
- // cursor size pointed by |handle|.
- virtual bool SetCursor(uint32_t crtc_id,
- uint32_t handle,
- const gfx::Size& size);
-
-
- // Move the cursor on CRTC |crtc_id| to (x, y);
- virtual bool MoveCursor(uint32_t crtc_id, const gfx::Point& point);
-
- virtual bool CreateDumbBuffer(const SkImageInfo& info,
- uint32_t* handle,
- uint32_t* stride,
- void** pixels);
-
- virtual void DestroyDumbBuffer(const SkImageInfo& info,
- uint32_t handle,
- uint32_t stride,
- void* pixels);
-
- // Drm master related
- virtual bool SetMaster();
- virtual bool DropMaster();
-
- int get_fd() const { return file_.GetPlatformFile(); }
-
- base::FilePath device_path() const { return device_path_; }
-
- HardwareDisplayPlaneManager* plane_manager() { return plane_manager_.get(); }
-
- protected:
- friend class base::RefCountedThreadSafe<DriWrapper>;
-
- virtual ~DriWrapper();
-
- scoped_ptr<HardwareDisplayPlaneManager> plane_manager_;
-
- private:
- class IOWatcher;
-
- // Path to DRM device.
- const base::FilePath device_path_;
-
- // DRM device.
- base::File file_;
-
- // Helper thread to perform IO listener operations.
- scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
-
- // Watcher for |fd_| listening for page flip events.
- scoped_refptr<IOWatcher> watcher_;
-
- DISALLOW_COPY_AND_ASSIGN(DriWrapper);
-};
-
-} // namespace ui
-
-#endif // UI_OZONE_PLATFORM_DRI_DRI_WRAPPER_H_
« no previous file with comments | « ui/ozone/platform/dri/dri_window_delegate_impl_unittest.cc ('k') | ui/ozone/platform/dri/dri_wrapper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698