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

Unified Diff: ui/ozone/platform/dri/ozone_platform_gbm.cc

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/ozone_platform_dri.cc ('k') | ui/ozone/platform/dri/screen_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « ui/ozone/platform/dri/ozone_platform_dri.cc ('k') | ui/ozone/platform/dri/screen_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698