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

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

Issue 393233005: [Ozone-DRI] Convert HardwareDisplayController to use scanout buffers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 5 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_surface_unittest.cc ('k') | ui/ozone/platform/dri/gbm_buffer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/ozone/platform/dri/gbm_buffer.h
diff --git a/ui/ozone/platform/dri/gbm_buffer.h b/ui/ozone/platform/dri/gbm_buffer.h
index 07b8bac0620c6af41a5cf825fabaf28226e11a3e..b455db33c38106d3e77e51fd996212e8c2359b16 100644
--- a/ui/ozone/platform/dri/gbm_buffer.h
+++ b/ui/ozone/platform/dri/gbm_buffer.h
@@ -8,7 +8,7 @@
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
#include "ui/gfx/geometry/size.h"
-#include "ui/ozone/platform/dri/scanout_surface.h"
+#include "ui/ozone/platform/dri/gbm_buffer_base.h"
#include "ui/ozone/public/native_pixmap.h"
#include "ui/ozone/public/surface_factory_ozone.h"
@@ -19,49 +19,38 @@ namespace ui {
class DriWrapper;
-class GbmBuffer : public ScanoutSurface {
+class GbmBuffer : public GbmBufferBase {
public:
- GbmBuffer(gbm_device* device, DriWrapper* dri, const gfx::Size& size);
- virtual ~GbmBuffer();
-
- bool InitializeBuffer(SurfaceFactoryOzone::BufferFormat format, bool scanout);
-
- // ScanoutSurface:
- virtual bool Initialize() OVERRIDE;
- virtual uint32_t GetFramebufferId() const OVERRIDE;
- virtual uint32_t GetHandle() const OVERRIDE;
- virtual gfx::Size Size() const OVERRIDE;
- virtual void PreSwapBuffers() OVERRIDE;
- virtual void SwapBuffers() OVERRIDE;
-
- gbm_bo* bo() { return bo_; }
+ static scoped_refptr<GbmBuffer> CreateBuffer(
+ DriWrapper* dri,
+ gbm_device* device,
+ SurfaceFactoryOzone::BufferFormat format,
+ const gfx::Size& size,
+ bool scanout);
private:
- gbm_device* gbm_device_;
- gbm_bo* bo_;
-
- uint32_t handle_;
- uint32_t framebuffer_;
-
- DriWrapper* dri_;
+ GbmBuffer(DriWrapper* dri, gbm_bo* bo, bool scanout);
+ virtual ~GbmBuffer();
- gfx::Size size_;
+ DISALLOW_COPY_AND_ASSIGN(GbmBuffer);
};
class GbmPixmap : public NativePixmap {
public:
- GbmPixmap(gbm_device* device, DriWrapper* dri, const gfx::Size& size);
+ GbmPixmap(scoped_refptr<GbmBuffer> buffer);
// NativePixmap:
virtual void* GetEGLClientBuffer() OVERRIDE;
virtual int GetDmaBufFd() OVERRIDE;
- GbmBuffer* buffer() { return &buffer_; }
+ scoped_refptr<GbmBuffer> buffer() { return buffer_; }
private:
virtual ~GbmPixmap();
- GbmBuffer buffer_;
+ scoped_refptr<GbmBuffer> buffer_;
+
+ DISALLOW_COPY_AND_ASSIGN(GbmPixmap);
};
} // namespace ui
« no previous file with comments | « ui/ozone/platform/dri/dri_surface_unittest.cc ('k') | ui/ozone/platform/dri/gbm_buffer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698