| Index: ui/ozone/platform/drm/ozone_platform_gbm.cc
|
| diff --git a/ui/ozone/platform/drm/ozone_platform_gbm.cc b/ui/ozone/platform/drm/ozone_platform_gbm.cc
|
| index 75f93c586fcef8953f83ea41ac496c84cf691fb4..38b821855c90d24513f5d087d720b5963386f5c5 100644
|
| --- a/ui/ozone/platform/drm/ozone_platform_gbm.cc
|
| +++ b/ui/ozone/platform/drm/ozone_platform_gbm.cc
|
| @@ -89,20 +89,22 @@ class GbmBufferGenerator : public ScanoutBufferGenerator {
|
|
|
| class GbmDeviceGenerator : public DrmDeviceGenerator {
|
| public:
|
| - GbmDeviceGenerator() {}
|
| + GbmDeviceGenerator(bool use_atomic) : use_atomic_(use_atomic) {}
|
| ~GbmDeviceGenerator() override {}
|
|
|
| // DrmDeviceGenerator:
|
| scoped_refptr<DrmDevice> CreateDevice(const base::FilePath& path,
|
| base::File file) override {
|
| scoped_refptr<DrmDevice> drm = new GbmDevice(path, file.Pass());
|
| - if (drm->Initialize())
|
| + if (drm->Initialize(use_atomic_))
|
| return drm;
|
|
|
| return nullptr;
|
| }
|
|
|
| private:
|
| + bool use_atomic_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(GbmDeviceGenerator);
|
| };
|
|
|
| @@ -170,12 +172,14 @@ class OzonePlatformGbm : public OzonePlatform {
|
| }
|
|
|
| void InitializeGPU() override {
|
| + bool use_atomic = base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kOzoneUseAtomicDrm);
|
| #if defined(OS_CHROMEOS)
|
| gpu_lock_.reset(new GpuLock());
|
| #endif
|
| gl_api_loader_.reset(new GlApiLoader());
|
| drm_device_manager_.reset(new DrmDeviceManager(
|
| - scoped_ptr<DrmDeviceGenerator>(new GbmDeviceGenerator())));
|
| + scoped_ptr<DrmDeviceGenerator>(new GbmDeviceGenerator(use_atomic))));
|
| buffer_generator_.reset(new GbmBufferGenerator());
|
| screen_manager_.reset(new ScreenManager(buffer_generator_.get()));
|
| if (!surface_factory_ozone_)
|
|
|