diff options
Diffstat (limited to 'platform/linux/src')
-rw-r--r-- | platform/linux/src/headless_backend_egl.cpp | 2 | ||||
-rw-r--r-- | platform/linux/src/headless_backend_glx.cpp | 10 | ||||
-rw-r--r-- | platform/linux/src/headless_display_egl.cpp | 3 | ||||
-rw-r--r-- | platform/linux/src/headless_display_glx.cpp | 5 |
4 files changed, 11 insertions, 9 deletions
diff --git a/platform/linux/src/headless_backend_egl.cpp b/platform/linux/src/headless_backend_egl.cpp index d98b2edc03..0784173af7 100644 --- a/platform/linux/src/headless_backend_egl.cpp +++ b/platform/linux/src/headless_backend_egl.cpp @@ -67,7 +67,7 @@ gl::ProcAddress HeadlessBackend::initializeExtension(const char* name) { bool HeadlessBackend::hasDisplay() { if (!display) { - display.reset(new HeadlessDisplay); + display = HeadlessDisplay::create(); } return bool(display); }; diff --git a/platform/linux/src/headless_backend_glx.cpp b/platform/linux/src/headless_backend_glx.cpp index 36a60ec06b..0ba7f08630 100644 --- a/platform/linux/src/headless_backend_glx.cpp +++ b/platform/linux/src/headless_backend_glx.cpp @@ -17,7 +17,7 @@ struct GLXImpl : public HeadlessBackend::Impl { fbConfigs(fbConfigs_) { } - ~GLXImpl() { + ~GLXImpl() override { if (glxPbuffer) { glXDestroyPbuffer(xDisplay, glxPbuffer); } @@ -50,7 +50,7 @@ gl::ProcAddress HeadlessBackend::initializeExtension(const char* name) { bool HeadlessBackend::hasDisplay() { if (!display) { - display.reset(new HeadlessDisplay); + display = HeadlessDisplay::create(); } return bool(display); }; @@ -58,8 +58,8 @@ bool HeadlessBackend::hasDisplay() { void HeadlessBackend::createContext() { assert(!hasContext()); - Display* xDisplay = display->attribute<Display*>(); - GLXFBConfig* fbConfigs = display->attribute<GLXFBConfig*>(); + auto* xDisplay = display->attribute<Display*>(); + auto* fbConfigs = display->attribute<GLXFBConfig*>(); // Try to create a legacy context. GLXContext glContext = glXCreateNewContext(xDisplay, fbConfigs[0], GLX_RGBA_TYPE, None, True); @@ -81,7 +81,7 @@ void HeadlessBackend::createContext() { }; GLXPbuffer glxPbuffer = glXCreatePbuffer(xDisplay, fbConfigs[0], pbufferAttributes); - impl.reset(new GLXImpl(glContext, glxPbuffer, xDisplay, fbConfigs)); + impl = std::make_unique<mbgl::GLXImpl>(glContext, glxPbuffer, xDisplay, fbConfigs); } } // namespace mbgl diff --git a/platform/linux/src/headless_display_egl.cpp b/platform/linux/src/headless_display_egl.cpp index 03c8e16a59..b746211924 100644 --- a/platform/linux/src/headless_display_egl.cpp +++ b/platform/linux/src/headless_display_egl.cpp @@ -32,6 +32,9 @@ HeadlessDisplay::Impl::Impl() { } const EGLint attribs[] = { +#if MBGL_USE_GLES2 + EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, +#endif EGL_SURFACE_TYPE, EGL_PBUFFER_BIT, EGL_NONE }; diff --git a/platform/linux/src/headless_display_glx.cpp b/platform/linux/src/headless_display_glx.cpp index 4275ebb646..5dc342154d 100644 --- a/platform/linux/src/headless_display_glx.cpp +++ b/platform/linux/src/headless_display_glx.cpp @@ -27,7 +27,7 @@ HeadlessDisplay::Impl::Impl() { throw std::runtime_error("Failed to open X display."); } - const char *extensions = reinterpret_cast<const char *>(glXQueryServerString(xDisplay, DefaultScreen(xDisplay), GLX_EXTENSIONS)); + const auto *extensions = reinterpret_cast<const char *>(glXQueryServerString(xDisplay, DefaultScreen(xDisplay), GLX_EXTENSIONS)); if (!extensions) { throw std::runtime_error("Cannot read GLX extensions."); } @@ -73,7 +73,6 @@ HeadlessDisplay::HeadlessDisplay() : impl(std::make_unique<Impl>()) { } -HeadlessDisplay::~HeadlessDisplay() { -} +HeadlessDisplay::~HeadlessDisplay() = default; } // namespace mbgl |