diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2019-02-14 16:56:17 +0200 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2019-05-10 14:20:38 +0300 |
commit | 06f1dc48a2fb317979ab48ce323115be5bd48f16 (patch) | |
tree | 5ef1e78a1f98a7a26034ca519e267bda235b2817 /platform/qt | |
parent | 947bc75f56fae7f1e70f21b98730dc6b460b9194 (diff) | |
download | qtlocation-mapboxgl-06f1dc48a2fb317979ab48ce323115be5bd48f16.tar.gz |
[core] Make the BackgroundScheduler a singleton
- Do not carry it over everywhere as parameter, it is a shared
instance anyway and the lifecycle is pretty much the app lifecycle
from the moment we instantiate a map.
- Rename to BackgroundScheduler because it is a Scheduler that will
do tasks in the background, we don't make assumptions if it is a
thread pool or a single thread.
- Most importantly, remove the dependency from `core` on `platform`.
Diffstat (limited to 'platform/qt')
-rw-r--r-- | platform/qt/qt.cmake | 6 | ||||
-rw-r--r-- | platform/qt/src/qmapboxgl.cpp | 5 | ||||
-rw-r--r-- | platform/qt/src/qmapboxgl_map_renderer.cpp | 4 | ||||
-rw-r--r-- | platform/qt/src/qmapboxgl_map_renderer.hpp | 3 | ||||
-rw-r--r-- | platform/qt/src/qmapboxgl_p.hpp | 2 | ||||
-rw-r--r-- | platform/qt/src/qmapboxgl_renderer_backend.hpp | 1 |
6 files changed, 4 insertions, 17 deletions
diff --git a/platform/qt/qt.cmake b/platform/qt/qt.cmake index 911af25bc4..fb572b807b 100644 --- a/platform/qt/qt.cmake +++ b/platform/qt/qt.cmake @@ -17,12 +17,6 @@ set(MBGL_QT_CORE_FILES PRIVATE platform/default/include/mbgl/gl/headless_backend.hpp PRIVATE platform/qt/src/headless_backend_qt.cpp - # Thread pool - PRIVATE platform/default/src/mbgl/util/shared_thread_pool.cpp - PRIVATE platform/default/include/mbgl/util/shared_thread_pool.hpp - PRIVATE platform/default/src/mbgl/util/default_thread_pool.cpp - PRIVATE platform/default/include/mbgl/util/default_thread_pool.hpp - # Thread PRIVATE platform/qt/src/thread_local.cpp diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index e54733aba7..329bf23085 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -43,7 +43,6 @@ #include <mbgl/util/projection.hpp> #include <mbgl/util/rapidjson.hpp> #include <mbgl/util/run_loop.hpp> -#include <mbgl/util/shared_thread_pool.hpp> #include <mbgl/util/traits.hpp> #include <mbgl/actor/scheduler.hpp> @@ -1724,7 +1723,6 @@ mbgl::ResourceOptions resourceOptionsFromQMapboxGLSettings(const QMapboxGLSettin QMapboxGLPrivate::QMapboxGLPrivate(QMapboxGL *q, const QMapboxGLSettings &settings, const QSize &size, qreal pixelRatio_) : QObject(q) - , m_threadPool(mbgl::sharedThreadPool()) , m_mode(settings.contextMode()) , m_pixelRatio(pixelRatio_) , m_localFontFamily(settings.localFontFamily()) @@ -1741,7 +1739,7 @@ QMapboxGLPrivate::QMapboxGLPrivate(QMapboxGL *q, const QMapboxGLSettings &settin auto resourceOptions = resourceOptionsFromQMapboxGLSettings(settings); // Setup the Map object. - mapObj = std::make_unique<mbgl::Map>(*this, *m_mapObserver, *m_threadPool, + mapObj = std::make_unique<mbgl::Map>(*this, *m_mapObserver, mapOptionsFromQMapboxGLSettings(settings, size, m_pixelRatio), resourceOptions); @@ -1799,7 +1797,6 @@ void QMapboxGLPrivate::createRenderer() m_mapRenderer = std::make_unique<QMapboxGLMapRenderer>( m_pixelRatio, - *m_threadPool, m_mode, m_localFontFamily ); diff --git a/platform/qt/src/qmapboxgl_map_renderer.cpp b/platform/qt/src/qmapboxgl_map_renderer.cpp index d72b5d0f2c..eba50af6bf 100644 --- a/platform/qt/src/qmapboxgl_map_renderer.cpp +++ b/platform/qt/src/qmapboxgl_map_renderer.cpp @@ -26,9 +26,9 @@ static auto *getScheduler() { return scheduler.localData().get(); }; -QMapboxGLMapRenderer::QMapboxGLMapRenderer(qreal pixelRatio, mbgl::ThreadPool &tp, QMapboxGLSettings::GLContextMode mode, const QString &localFontFamily) +QMapboxGLMapRenderer::QMapboxGLMapRenderer(qreal pixelRatio, QMapboxGLSettings::GLContextMode mode, const QString &localFontFamily) : m_backend(static_cast<mbgl::gfx::ContextMode>(mode)), - m_renderer(std::make_unique<mbgl::Renderer>(m_backend, pixelRatio, tp, mbgl::optional<std::string> {}, + m_renderer(std::make_unique<mbgl::Renderer>(m_backend, pixelRatio, mbgl::optional<std::string> {}, localFontFamily.isEmpty() ? mbgl::nullopt : mbgl::optional<std::string> { localFontFamily.toStdString() })) , m_forceScheduler(needsToForceScheduler()) { diff --git a/platform/qt/src/qmapboxgl_map_renderer.hpp b/platform/qt/src/qmapboxgl_map_renderer.hpp index 7db0da99fa..2769b2b874 100644 --- a/platform/qt/src/qmapboxgl_map_renderer.hpp +++ b/platform/qt/src/qmapboxgl_map_renderer.hpp @@ -5,7 +5,6 @@ #include <mbgl/renderer/renderer.hpp> #include <mbgl/renderer/renderer_observer.hpp> -#include <mbgl/util/shared_thread_pool.hpp> #include <mbgl/util/util.hpp> #include <QtGlobal> @@ -25,7 +24,7 @@ class QMapboxGLMapRenderer : public QObject Q_OBJECT public: - QMapboxGLMapRenderer(qreal pixelRatio, mbgl::ThreadPool &, QMapboxGLSettings::GLContextMode, const QString &localFontFamily); + QMapboxGLMapRenderer(qreal pixelRatio, QMapboxGLSettings::GLContextMode, const QString &localFontFamily); virtual ~QMapboxGLMapRenderer(); void render(); diff --git a/platform/qt/src/qmapboxgl_p.hpp b/platform/qt/src/qmapboxgl_p.hpp index 6a5b5ce04f..7f7040d7ac 100644 --- a/platform/qt/src/qmapboxgl_p.hpp +++ b/platform/qt/src/qmapboxgl_p.hpp @@ -8,7 +8,6 @@ #include <mbgl/map/map.hpp> #include <mbgl/renderer/renderer_frontend.hpp> #include <mbgl/storage/resource_transform.hpp> -#include <mbgl/util/default_thread_pool.hpp> #include <mbgl/util/geo.hpp> #include <QObject> @@ -56,7 +55,6 @@ private: std::shared_ptr<mbgl::UpdateParameters> m_updateParameters; std::unique_ptr<QMapboxGLMapObserver> m_mapObserver; - std::shared_ptr<mbgl::ThreadPool> m_threadPool; std::unique_ptr<QMapboxGLMapRenderer> m_mapRenderer; std::unique_ptr<mbgl::Actor<mbgl::ResourceTransform>> m_resourceTransform; diff --git a/platform/qt/src/qmapboxgl_renderer_backend.hpp b/platform/qt/src/qmapboxgl_renderer_backend.hpp index aba8003323..f821eda969 100644 --- a/platform/qt/src/qmapboxgl_renderer_backend.hpp +++ b/platform/qt/src/qmapboxgl_renderer_backend.hpp @@ -4,7 +4,6 @@ #include <mbgl/gfx/renderable.hpp> #include <mbgl/gl/renderer_backend.hpp> -#include <mbgl/util/shared_thread_pool.hpp> class QMapboxGLRendererBackend final : public mbgl::gl::RendererBackend, public mbgl::gfx::Renderable { |