summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/aspects/aspectcommanddebugger.cpp2
-rw-r--r--src/core/aspects/qabstractaspect.cpp4
-rw-r--r--src/core/aspects/qaspectengine.cpp2
-rw-r--r--src/core/aspects/qaspectmanager.cpp2
-rw-r--r--src/core/jobs/qabstractaspectjobmanager.cpp2
-rw-r--r--src/core/jobs/qaspectjobmanager.cpp24
-rw-r--r--src/core/jobs/qaspectjobmanager_p.h1
-rw-r--r--src/core/jobs/qthreadpooler.cpp25
-rw-r--r--src/core/jobs/qthreadpooler_p.h2
-rw-r--r--src/core/nodes/propertychangehandler.cpp2
-rw-r--r--src/core/nodes/qcomponent.cpp2
-rw-r--r--src/core/nodes/qentity.cpp2
-rw-r--r--src/core/nodes/qnode.cpp2
-rw-r--r--src/core/qchangearbiter.cpp2
-rw-r--r--src/core/qscheduler.cpp2
-rw-r--r--src/core/services/qabstractframeadvanceservice.cpp2
-rw-r--r--src/core/services/qdownloadnetworkworker.cpp2
-rw-r--r--src/core/services/qeventfilterservice.cpp2
-rw-r--r--src/core/services/qopenglinformationservice.cpp2
-rw-r--r--src/core/services/qservicelocator.cpp2
-rw-r--r--src/core/services/qsysteminformationservice.cpp2
-rw-r--r--src/core/services/qtickclockservice.cpp2
-rw-r--r--src/core/transforms/qabstractskeleton.cpp2
-rw-r--r--src/core/transforms/qarmature.cpp2
-rw-r--r--src/core/transforms/qjoint.cpp2
-rw-r--r--src/core/transforms/qskeleton.cpp2
-rw-r--r--src/core/transforms/qskeletonloader.cpp2
27 files changed, 77 insertions, 23 deletions
diff --git a/src/core/aspects/aspectcommanddebugger.cpp b/src/core/aspects/aspectcommanddebugger.cpp
index 7635f44c0..1e4d7bd54 100644
--- a/src/core/aspects/aspectcommanddebugger.cpp
+++ b/src/core/aspects/aspectcommanddebugger.cpp
@@ -204,3 +204,5 @@ void AspectCommandDebugger::executeCommand(const QString &command,
} // Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_aspectcommanddebugger_p.cpp"
diff --git a/src/core/aspects/qabstractaspect.cpp b/src/core/aspects/qabstractaspect.cpp
index 09f084767..57b97bb35 100644
--- a/src/core/aspects/qabstractaspect.cpp
+++ b/src/core/aspects/qabstractaspect.cpp
@@ -591,3 +591,7 @@ void AsynchronousCommandReply::setData(const QByteArray &data)
} // of namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qabstractaspect_p.cpp"
+
+#include "moc_qabstractaspect.cpp"
diff --git a/src/core/aspects/qaspectengine.cpp b/src/core/aspects/qaspectengine.cpp
index f91286914..e3411b515 100644
--- a/src/core/aspects/qaspectengine.cpp
+++ b/src/core/aspects/qaspectengine.cpp
@@ -522,3 +522,5 @@ QAspectEngine::RunMode QAspectEngine::runMode() const
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qaspectengine.cpp"
diff --git a/src/core/aspects/qaspectmanager.cpp b/src/core/aspects/qaspectmanager.cpp
index 66475c615..d125e8e2a 100644
--- a/src/core/aspects/qaspectmanager.cpp
+++ b/src/core/aspects/qaspectmanager.cpp
@@ -554,3 +554,5 @@ void QAspectManager::processFrame()
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qaspectmanager_p.cpp"
diff --git a/src/core/jobs/qabstractaspectjobmanager.cpp b/src/core/jobs/qabstractaspectjobmanager.cpp
index 5d921c778..c790cf47b 100644
--- a/src/core/jobs/qabstractaspectjobmanager.cpp
+++ b/src/core/jobs/qabstractaspectjobmanager.cpp
@@ -57,3 +57,5 @@ QAbstractAspectJobManager::QAbstractAspectJobManager(QObject *parent)
}
QT_END_NAMESPACE
+
+#include "moc_qabstractaspectjobmanager_p.cpp"
diff --git a/src/core/jobs/qaspectjobmanager.cpp b/src/core/jobs/qaspectjobmanager.cpp
index 7103f5100..0afa39502 100644
--- a/src/core/jobs/qaspectjobmanager.cpp
+++ b/src/core/jobs/qaspectjobmanager.cpp
@@ -115,7 +115,7 @@ int QAspectJobManager::waitForAllJobs()
void QAspectJobManager::waitForPerThreadFunction(JobFunction func, void *arg)
{
- const int threadCount = m_threadPooler->maxThreadCount();
+ const int threadCount = QAspectJobManager::idealThreadCount();
QAtomicInt atomicCount(threadCount);
QVector<RunnableInterface *> taskList;
@@ -128,6 +128,28 @@ void QAspectJobManager::waitForPerThreadFunction(JobFunction func, void *arg)
future.waitForFinished();
}
+int QAspectJobManager::idealThreadCount()
+{
+ static int jobCount = 0;
+ if (jobCount)
+ return jobCount;
+
+ const QByteArray maxThreadCount = qgetenv("QT3D_MAX_THREAD_COUNT");
+ if (!maxThreadCount.isEmpty()) {
+ bool conversionOK = false;
+ const int maxThreadCountValue = maxThreadCount.toInt(&conversionOK);
+ if (conversionOK) {
+ jobCount = maxThreadCountValue;
+ return jobCount;
+ }
+ }
+
+ jobCount = QThread::idealThreadCount();
+ return jobCount;
+}
+
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qaspectjobmanager_p.cpp"
diff --git a/src/core/jobs/qaspectjobmanager_p.h b/src/core/jobs/qaspectjobmanager_p.h
index db0075443..06dd5286b 100644
--- a/src/core/jobs/qaspectjobmanager_p.h
+++ b/src/core/jobs/qaspectjobmanager_p.h
@@ -79,6 +79,7 @@ public:
int waitForAllJobs() override;
void waitForPerThreadFunction(JobFunction func, void *arg) override;
+ static int idealThreadCount();
private:
QThreadPooler *m_threadPooler;
diff --git a/src/core/jobs/qthreadpooler.cpp b/src/core/jobs/qthreadpooler.cpp
index 59c905f71..43de400b1 100644
--- a/src/core/jobs/qthreadpooler.cpp
+++ b/src/core/jobs/qthreadpooler.cpp
@@ -38,6 +38,7 @@
****************************************************************************/
#include "qthreadpooler_p.h"
+#include "qaspectjobmanager_p.h"
#include <QtCore/QDebug>
QT_BEGIN_NAMESPACE
@@ -49,10 +50,10 @@ QThreadPooler::QThreadPooler(QObject *parent)
, m_futureInterface(nullptr)
, m_mutex()
, m_taskCount(0)
- , m_threadPool(QThreadPool::globalInstance())
+ , m_threadPool(new QThreadPool(this))
, m_totalRunJobs(0)
{
- m_threadPool->setMaxThreadCount(QThreadPooler::maxThreadCount());
+ m_threadPool->setMaxThreadCount(QAspectJobManager::idealThreadCount());
// Ensures that threads will never be recycled
m_threadPool->setExpiryTimeout(-1);
}
@@ -199,24 +200,8 @@ int QThreadPooler::currentCount() const
return m_taskCount.loadRelaxed();
}
-int QThreadPooler::maxThreadCount()
-{
- static int threadCount = 0;
-
- if (threadCount == 0) {
- threadCount = QThread::idealThreadCount();
- const QByteArray maxThreadCount = qgetenv("QT3D_MAX_THREAD_COUNT");
- if (!maxThreadCount.isEmpty()) {
- bool conversionOK = false;
- const int maxThreadCountValue = maxThreadCount.toInt(&conversionOK);
- if (conversionOK)
- threadCount = std::min(threadCount, maxThreadCountValue);
- }
- }
-
- return threadCount;
-}
-
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qthreadpooler_p.cpp"
diff --git a/src/core/jobs/qthreadpooler_p.h b/src/core/jobs/qthreadpooler_p.h
index ea69b5b78..ee9e89925 100644
--- a/src/core/jobs/qthreadpooler_p.h
+++ b/src/core/jobs/qthreadpooler_p.h
@@ -77,8 +77,6 @@ public:
void taskFinished(RunnableInterface *task);
QFuture<void> future();
- static int maxThreadCount();
-
private:
void enqueueTasks(const QVector<RunnableInterface *> &tasks);
void skipTask(RunnableInterface *task);
diff --git a/src/core/nodes/propertychangehandler.cpp b/src/core/nodes/propertychangehandler.cpp
index 0a1d59932..3d58b5f0f 100644
--- a/src/core/nodes/propertychangehandler.cpp
+++ b/src/core/nodes/propertychangehandler.cpp
@@ -84,3 +84,5 @@ void PropertyChangeHandlerBase::disconnectFromPropertyChange(const QObject *obje
}
QT_END_NAMESPACE
+
+#include "moc_propertychangehandler_p.cpp"
diff --git a/src/core/nodes/qcomponent.cpp b/src/core/nodes/qcomponent.cpp
index 79bba229d..03501cef2 100644
--- a/src/core/nodes/qcomponent.cpp
+++ b/src/core/nodes/qcomponent.cpp
@@ -190,3 +190,5 @@ QComponent::QComponent(QComponentPrivate &dd, QNode *parent)
*/
QT_END_NAMESPACE
+
+#include "moc_qcomponent.cpp"
diff --git a/src/core/nodes/qentity.cpp b/src/core/nodes/qentity.cpp
index 7d64d4e70..6b6883bfa 100644
--- a/src/core/nodes/qentity.cpp
+++ b/src/core/nodes/qentity.cpp
@@ -338,3 +338,5 @@ void QEntity::onParentChanged(QObject *)
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qentity.cpp"
diff --git a/src/core/nodes/qnode.cpp b/src/core/nodes/qnode.cpp
index 7ae29f222..73b5efcee 100644
--- a/src/core/nodes/qnode.cpp
+++ b/src/core/nodes/qnode.cpp
@@ -1219,4 +1219,6 @@ void NodePostConstructorInit::processNodes()
QT_END_NAMESPACE
+#include "moc_qnode_p.cpp"
+
#include "moc_qnode.cpp"
diff --git a/src/core/qchangearbiter.cpp b/src/core/qchangearbiter.cpp
index 3672777de..4e6a11a4f 100644
--- a/src/core/qchangearbiter.cpp
+++ b/src/core/qchangearbiter.cpp
@@ -354,3 +354,5 @@ void QChangeArbiter::destroyThreadLocalChangeQueue(void *changeArbiter)
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qchangearbiter_p.cpp"
diff --git a/src/core/qscheduler.cpp b/src/core/qscheduler.cpp
index cb4a6f180..d803b67b9 100644
--- a/src/core/qscheduler.cpp
+++ b/src/core/qscheduler.cpp
@@ -152,3 +152,5 @@ int QScheduler::scheduleAndWaitForFrameAspectJobs(qint64 time, bool dumpJobs)
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qscheduler_p.cpp"
diff --git a/src/core/services/qabstractframeadvanceservice.cpp b/src/core/services/qabstractframeadvanceservice.cpp
index 15bf46afa..fc4752c62 100644
--- a/src/core/services/qabstractframeadvanceservice.cpp
+++ b/src/core/services/qabstractframeadvanceservice.cpp
@@ -91,3 +91,5 @@ QAbstractFrameAdvanceService::QAbstractFrameAdvanceService(QAbstractFrameAdvance
} // Qt3D
QT_END_NAMESPACE
+
+#include "moc_qabstractframeadvanceservice_p.cpp"
diff --git a/src/core/services/qdownloadnetworkworker.cpp b/src/core/services/qdownloadnetworkworker.cpp
index e1f806e92..ffc44b2a6 100644
--- a/src/core/services/qdownloadnetworkworker.cpp
+++ b/src/core/services/qdownloadnetworkworker.cpp
@@ -146,3 +146,5 @@ void QDownloadNetworkWorker::onDownloadProgressed(qint64 bytesReceived, qint64 b
QT_END_NAMESPACE
+#include "moc_qdownloadnetworkworker_p.cpp"
+
diff --git a/src/core/services/qeventfilterservice.cpp b/src/core/services/qeventfilterservice.cpp
index 036bcd7b4..513500f2b 100644
--- a/src/core/services/qeventfilterservice.cpp
+++ b/src/core/services/qeventfilterservice.cpp
@@ -187,4 +187,6 @@ bool InternalEventListener::eventFilter(QObject *obj, QEvent *e)
QT_END_NAMESPACE
+#include "moc_qeventfilterservice_p.cpp"
+
#include "qeventfilterservice.moc"
diff --git a/src/core/services/qopenglinformationservice.cpp b/src/core/services/qopenglinformationservice.cpp
index c1c05018e..76b4fa690 100644
--- a/src/core/services/qopenglinformationservice.cpp
+++ b/src/core/services/qopenglinformationservice.cpp
@@ -84,3 +84,5 @@ QOpenGLInformationService::QOpenGLInformationService(QOpenGLInformationServicePr
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qopenglinformationservice_p.cpp"
diff --git a/src/core/services/qservicelocator.cpp b/src/core/services/qservicelocator.cpp
index 73a40c2e4..2f8117bb4 100644
--- a/src/core/services/qservicelocator.cpp
+++ b/src/core/services/qservicelocator.cpp
@@ -267,3 +267,5 @@ QAbstractServiceProvider *QServiceLocator::_q_getServiceHelper(int type)
}
QT_END_NAMESPACE
+
+#include "moc_qservicelocator_p.cpp"
diff --git a/src/core/services/qsysteminformationservice.cpp b/src/core/services/qsysteminformationservice.cpp
index 87cc08e59..411f54346 100644
--- a/src/core/services/qsysteminformationservice.cpp
+++ b/src/core/services/qsysteminformationservice.cpp
@@ -436,3 +436,5 @@ void QSystemInformationService::dumpCommand(const QString &command)
}
QT_END_NAMESPACE
+
+#include "moc_qsysteminformationservice_p.cpp"
diff --git a/src/core/services/qtickclockservice.cpp b/src/core/services/qtickclockservice.cpp
index 225e70ec2..f3f67ab4c 100644
--- a/src/core/services/qtickclockservice.cpp
+++ b/src/core/services/qtickclockservice.cpp
@@ -98,3 +98,5 @@ void QTickClockService::stop()
} // Qt3D
QT_END_NAMESPACE
+
+#include "moc_qtickclockservice_p.cpp"
diff --git a/src/core/transforms/qabstractskeleton.cpp b/src/core/transforms/qabstractskeleton.cpp
index 4a30d0710..d0b66a5a1 100644
--- a/src/core/transforms/qabstractskeleton.cpp
+++ b/src/core/transforms/qabstractskeleton.cpp
@@ -137,3 +137,5 @@ void QAbstractSkeletonPrivate::setJointCount(int jointCount)
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qabstractskeleton.cpp"
diff --git a/src/core/transforms/qarmature.cpp b/src/core/transforms/qarmature.cpp
index d9fef7767..9827a329e 100644
--- a/src/core/transforms/qarmature.cpp
+++ b/src/core/transforms/qarmature.cpp
@@ -170,3 +170,5 @@ Qt3DCore::QNodeCreatedChangeBasePtr QArmature::createNodeCreationChange() const
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qarmature.cpp"
diff --git a/src/core/transforms/qjoint.cpp b/src/core/transforms/qjoint.cpp
index 408d42f6d..04d95b6e8 100644
--- a/src/core/transforms/qjoint.cpp
+++ b/src/core/transforms/qjoint.cpp
@@ -408,3 +408,5 @@ Qt3DCore::QNodeCreatedChangeBasePtr QJoint::createNodeCreationChange() const
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qjoint.cpp"
diff --git a/src/core/transforms/qskeleton.cpp b/src/core/transforms/qskeleton.cpp
index 141d8c0c4..b969f7a33 100644
--- a/src/core/transforms/qskeleton.cpp
+++ b/src/core/transforms/qskeleton.cpp
@@ -150,3 +150,5 @@ Qt3DCore::QNodeCreatedChangeBasePtr QSkeleton::createNodeCreationChange() const
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qskeleton.cpp"
diff --git a/src/core/transforms/qskeletonloader.cpp b/src/core/transforms/qskeletonloader.cpp
index b1a311a0c..9a78c9d8d 100644
--- a/src/core/transforms/qskeletonloader.cpp
+++ b/src/core/transforms/qskeletonloader.cpp
@@ -261,3 +261,5 @@ Qt3DCore::QNodeCreatedChangeBasePtr QSkeletonLoader::createNodeCreationChange()
} // namespace Qt3DCore
QT_END_NAMESPACE
+
+#include "moc_qskeletonloader.cpp"