summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-04-09 14:15:37 +0100
committerMike Krus <mike.krus@kdab.com>2020-04-16 07:55:24 +0100
commit9ef1e6ef4989630f85354e9dc08b21ce78bcc4bf (patch)
treee89f548579cd58c40970701413d9e4f2a539acf1
parent0cd80d4f4e0390c7ba3aa2b2d36781403c1c2aae (diff)
Clean up filter debug output
Change-Id: I01c9448aab2dcebab9a025b2248e491fd92fd0af Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/render/frontend/qrenderaspect.cpp7
-rw-r--r--src/render/materialsystem/qgraphicsapifilter.cpp22
-rw-r--r--src/render/materialsystem/qgraphicsapifilter_p.h2
3 files changed, 28 insertions, 3 deletions
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp
index ec9417c00..d9b53cb8d 100644
--- a/src/render/frontend/qrenderaspect.cpp
+++ b/src/render/frontend/qrenderaspect.cpp
@@ -763,9 +763,10 @@ QVariant QRenderAspect::executeCommand(const QStringList &args)
if (args.front() == QLatin1String("framepaths"))
return Qt3DRender::QFrameGraphNodePrivate::get(fg)->dumpFrameGraphPaths().join(QLatin1String("\n"));
if (args.front() == QLatin1String("filterstates")) {
- auto res = Qt3DRender::QFrameGraphNodePrivate::get(fg)->dumpFrameGraphFilterState().join(QLatin1String("\n"));
- res += dumpSGFilterState(d->m_nodeManagers->techniqueManager(),
- d->m_renderer->contextInfo(), d->m_root).join(QLatin1String("\n"));
+ const auto activeContextInfo = d->m_renderer->contextInfo();
+ QString res = QLatin1String("Active Graphics API: ") + activeContextInfo->toString() + QLatin1String("\n");
+ res += QLatin1String("Render Views:\n ") + Qt3DRender::QFrameGraphNodePrivate::get(fg)->dumpFrameGraphFilterState().join(QLatin1String("\n ")) + QLatin1String("\n");
+ res += QLatin1String("Scene Graph:\n ") + dumpSGFilterState(d->m_nodeManagers->techniqueManager(), activeContextInfo, d->m_root).join(QLatin1String("\n "));
return res;
}
}
diff --git a/src/render/materialsystem/qgraphicsapifilter.cpp b/src/render/materialsystem/qgraphicsapifilter.cpp
index 9b5557930..e8b93de6e 100644
--- a/src/render/materialsystem/qgraphicsapifilter.cpp
+++ b/src/render/materialsystem/qgraphicsapifilter.cpp
@@ -53,6 +53,28 @@ GraphicsApiFilterData::GraphicsApiFilterData()
, m_major(0)
{}
+QString GraphicsApiFilterData::toString() const
+{
+ QLatin1String api;
+ switch (m_api) {
+ case QGraphicsApiFilter::OpenGL: api = QLatin1String("OpenGL"); break;
+ case QGraphicsApiFilter::OpenGLES: api = QLatin1String("OpenGL"); break;
+ case QGraphicsApiFilter::Vulkan: api = QLatin1String("Vulkan"); break;
+ case QGraphicsApiFilter::DirectX: api = QLatin1String("DirectX"); break;
+ case QGraphicsApiFilter::RHI: api = QLatin1String("RHI"); break;
+ default: Q_UNREACHABLE();
+ }
+
+ QLatin1String profile;
+ switch (m_profile) {
+ case QGraphicsApiFilter::CoreProfile: profile = QLatin1String(" (Core Profile)"); break;
+ case QGraphicsApiFilter::CompatibilityProfile: profile = QLatin1String(" (Compatibility Profile)"); break;
+ default: break;
+ }
+
+ return QString(QLatin1String("%1 %2.%3%4 (%5)").arg(api, QString::number(m_major), QString::number(m_minor), profile, m_vendor));
+}
+
bool GraphicsApiFilterData::operator ==(const GraphicsApiFilterData &other) const
{
// Check API
diff --git a/src/render/materialsystem/qgraphicsapifilter_p.h b/src/render/materialsystem/qgraphicsapifilter_p.h
index 435451c27..52c489785 100644
--- a/src/render/materialsystem/qgraphicsapifilter_p.h
+++ b/src/render/materialsystem/qgraphicsapifilter_p.h
@@ -70,6 +70,8 @@ struct Q_3DRENDERSHARED_PRIVATE_EXPORT GraphicsApiFilterData
QStringList m_extensions;
QString m_vendor;
+ QString toString() const;
+
bool operator ==(const GraphicsApiFilterData &other) const;
bool operator !=(const GraphicsApiFilterData &other) const;
bool operator <(const GraphicsApiFilterData &other) const;