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

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

Issue 1147553003: ozone: Add atomic initialization path (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
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_)

Powered by Google App Engine
This is Rietveld 408576698