Index: ui/ozone/platform/dri/ozone_platform_gbm.cc |
diff --git a/ui/ozone/platform/dri/ozone_platform_gbm.cc b/ui/ozone/platform/dri/ozone_platform_gbm.cc |
index f043996669ccccbdebca6a4925ce7a977631fa4d..586fc9626f5bac68f435f914f6f0d02f5af93c2f 100644 |
--- a/ui/ozone/platform/dri/ozone_platform_gbm.cc |
+++ b/ui/ozone/platform/dri/ozone_platform_gbm.cc |
@@ -19,7 +19,7 @@ |
#include "ui/ozone/platform/dri/gbm_surface_factory.h" |
#include "ui/ozone/platform/dri/gpu_platform_support_gbm.h" |
#include "ui/ozone/platform/dri/gpu_platform_support_host_gbm.h" |
-#include "ui/ozone/platform/dri/scanout_surface.h" |
+#include "ui/ozone/platform/dri/scanout_buffer.h" |
#include "ui/ozone/platform/dri/screen_manager.h" |
#include "ui/ozone/platform/dri/virtual_terminal_manager.h" |
#include "ui/ozone/public/cursor_factory_ozone.h" |
@@ -40,13 +40,13 @@ namespace { |
const char kDefaultGraphicsCardPath[] = "/dev/dri/card0"; |
-class GbmSurfaceGenerator : public ScanoutSurfaceGenerator { |
+class GbmBufferGenerator : public ScanoutBufferGenerator { |
public: |
- GbmSurfaceGenerator(DriWrapper* dri) |
+ GbmBufferGenerator(DriWrapper* dri) |
: dri_(dri), |
glapi_lib_(dlopen("libglapi.so.0", RTLD_LAZY | RTLD_GLOBAL)), |
device_(gbm_create_device(dri_->get_fd())) {} |
- virtual ~GbmSurfaceGenerator() { |
+ virtual ~GbmBufferGenerator() { |
gbm_device_destroy(device_); |
if (glapi_lib_) |
dlclose(glapi_lib_); |
@@ -54,8 +54,9 @@ class GbmSurfaceGenerator : public ScanoutSurfaceGenerator { |
gbm_device* device() const { return device_; } |
- virtual ScanoutSurface* Create(const gfx::Size& size) OVERRIDE { |
- return new GbmSurface(device_, dri_, size); |
+ virtual scoped_refptr<ScanoutBuffer> Create(const gfx::Size& size) OVERRIDE { |
+ return GbmBuffer::CreateBuffer( |
+ dri_, device_, SurfaceFactoryOzone::RGBA_8888, size, true); |
} |
protected: |
@@ -66,22 +67,7 @@ class GbmSurfaceGenerator : public ScanoutSurfaceGenerator { |
gbm_device* device_; |
- DISALLOW_COPY_AND_ASSIGN(GbmSurfaceGenerator); |
-}; |
- |
-class GbmEglImageSurfaceGenerator : public GbmSurfaceGenerator { |
- public: |
- GbmEglImageSurfaceGenerator(DriWrapper* dri) : GbmSurfaceGenerator(dri) {} |
- virtual ~GbmEglImageSurfaceGenerator() {} |
- |
- virtual ScanoutSurface* Create(const gfx::Size& size) OVERRIDE { |
- scoped_ptr<GbmBuffer> buffer = |
- scoped_ptr<GbmBuffer>(new GbmBuffer(device_, dri_, size)); |
- if (!buffer->InitializeBuffer(SurfaceFactoryOzone::RGBA_8888, true)) { |
- return NULL; |
- } |
- return buffer.release(); |
- } |
+ DISALLOW_COPY_AND_ASSIGN(GbmBufferGenerator); |
}; |
class OzonePlatformGbm : public OzonePlatform { |
@@ -142,17 +128,14 @@ class OzonePlatformGbm : public OzonePlatform { |
virtual void InitializeGPU() OVERRIDE { |
dri_.reset(new DriWrapper(kDefaultGraphicsCardPath)); |
- if (use_surfaceless_) |
- surface_generator_.reset(new GbmEglImageSurfaceGenerator(dri_.get())); |
- else |
- surface_generator_.reset(new GbmSurfaceGenerator(dri_.get())); |
+ buffer_generator_.reset(new GbmBufferGenerator(dri_.get())); |
screen_manager_.reset(new ScreenManager(dri_.get(), |
- surface_generator_.get())); |
+ buffer_generator_.get())); |
if (!surface_factory_ozone_) |
surface_factory_ozone_.reset(new GbmSurfaceFactory(use_surfaceless_)); |
surface_factory_ozone_->InitializeGpu(dri_.get(), |
- surface_generator_->device(), |
+ buffer_generator_->device(), |
screen_manager_.get()); |
gpu_platform_support_.reset( |
@@ -171,7 +154,7 @@ class OzonePlatformGbm : public OzonePlatform { |
bool use_surfaceless_; |
scoped_ptr<VirtualTerminalManager> vt_manager_; |
scoped_ptr<DriWrapper> dri_; |
- scoped_ptr<GbmSurfaceGenerator> surface_generator_; |
+ scoped_ptr<GbmBufferGenerator> buffer_generator_; |
scoped_ptr<ScreenManager> screen_manager_; |
scoped_ptr<DeviceManager> device_manager_; |