summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-02-13 18:44:29 +0000
committerMike Krus <mike.krus@kdab.com>2020-02-14 07:02:52 +0000
commit6aef82519bdc538c2fee67047bd990485715c721 (patch)
treef766c35cb33c4a05d41794898a5dc9beddf20b45
parent596bc5734ba525f3d3df45980087c2b3fd90a98f (diff)
Show geometry renderer id in draw commands
Along with dump of scene graph, helps understand what gets drawn Change-Id: I41223b633d20d3d8ee81f5a08aab2cd8e436647e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/plugins/renderers/opengl/debug/imguirenderer.cpp3
-rw-r--r--src/plugins/renderers/opengl/renderer/renderer_p.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/renderers/opengl/debug/imguirenderer.cpp b/src/plugins/renderers/opengl/debug/imguirenderer.cpp
index e23476860..449ec65b0 100644
--- a/src/plugins/renderers/opengl/debug/imguirenderer.cpp
+++ b/src/plugins/renderers/opengl/debug/imguirenderer.cpp
@@ -334,7 +334,8 @@ void ImGuiRenderer::showRenderDetails(const QVector<RenderView *> &renderViews)
int j = 1;
const auto commands = view->commands();
for (const RenderCommand &command: commands) {
- QString label(QLatin1String("Command ") + QString::number(j++));
+ GeometryRenderer *rGeometryRenderer = m_renderer->nodeManagers()->data<GeometryRenderer, GeometryRendererManager>(command.m_geometryRenderer);
+ QString label = QString(QLatin1String("Command %1 {%2}")).arg(QString::number(j++), QString::number(rGeometryRenderer->peerId().id()));
if (ImGui::TreeNode(label.toLatin1().data())) {
ImGui::Text("Primitive Type: %s %s", primitiveTypeName(command.m_primitiveType),
command.m_drawIndexed ? "(indexed)" : "");
diff --git a/src/plugins/renderers/opengl/renderer/renderer_p.h b/src/plugins/renderers/opengl/renderer/renderer_p.h
index f24e77152..aa3b26961 100644
--- a/src/plugins/renderers/opengl/renderer/renderer_p.h
+++ b/src/plugins/renderers/opengl/renderer/renderer_p.h
@@ -329,6 +329,7 @@ public:
RendererCache *cache() { return &m_cache; }
void setScreen(QScreen *scr) override;
QScreen *screen() const override;
+ NodeManagers *nodesManager() const { return m_nodesManager; }
#ifdef QT3D_RENDER_UNIT_TESTS
public: