summaryrefslogtreecommitdiffstats
path: root/src/plugins/renderers/opengl/renderer
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2019-12-20 12:41:04 +0100
committerMike Krus <mike.krus@kdab.com>2020-02-11 06:08:41 +0000
commitb828609440a4771838c242b3ad9962ecd7a2fe99 (patch)
tree5da6bce0cda327c4cca96696bce512ec243cc1fd /src/plugins/renderers/opengl/renderer
parentb0eb152b82cdd9658154ff7d9ef9e764eccc1ebd (diff)
Remove deprecated classes and functions
Mostly old messaging API Change-Id: I17eb2206b2ede56d2f7d36375d5e711d6149019f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/plugins/renderers/opengl/renderer')
-rw-r--r--src/plugins/renderers/opengl/renderer/renderer.cpp20
-rw-r--r--src/plugins/renderers/opengl/renderer/renderer_p.h3
2 files changed, 10 insertions, 13 deletions
diff --git a/src/plugins/renderers/opengl/renderer/renderer.cpp b/src/plugins/renderers/opengl/renderer/renderer.cpp
index d01f22847..14350337b 100644
--- a/src/plugins/renderers/opengl/renderer/renderer.cpp
+++ b/src/plugins/renderers/opengl/renderer/renderer.cpp
@@ -97,6 +97,7 @@
#include <Qt3DRender/private/renderlogging_p.h>
#include <Qt3DRender/private/renderstateset_p.h>
#include <Qt3DRender/private/setfence_p.h>
+#include <Qt3DRender/private/qsetfence_p.h>
#include <glbuffer_p.h>
#include <graphicscontext_p.h>
@@ -269,7 +270,6 @@ Renderer::Renderer(QRenderAspect::RenderType type)
, m_bufferGathererJob(SynchronizerJobPtr::create([this] { lookForDirtyBuffers(); }, JobTypes::DirtyBufferGathering))
, m_vaoGathererJob(SynchronizerJobPtr::create([this] { lookForAbandonedVaos(); }, JobTypes::DirtyVaoGathering))
, m_textureGathererJob(SynchronizerJobPtr::create([this] { lookForDirtyTextures(); }, JobTypes::DirtyTextureGathering))
- , m_sendSetFenceHandlesToFrontendJob(SynchronizerJobPtr::create([this] { sendSetFenceHandlesToFrontend(); }, JobTypes::SendSetFenceHandlesToFrontend))
, m_introspectShaderJob(SynchronizerPostFramePtr::create([this] { reloadDirtyShaders(); },
[this] (Qt3DCore::QAspectManager *m) { sendShaderChangesToFrontend(m); },
JobTypes::DirtyShaderGathering))
@@ -1275,8 +1275,8 @@ void Renderer::sendTextureChangesToFrontend(Qt3DCore::QAspectManager *manager)
}
}
-// Executed in a job
-void Renderer::sendSetFenceHandlesToFrontend()
+// Executed in main thread when jobs done
+void Renderer::sendSetFenceHandlesToFrontend(Qt3DCore::QAspectManager *manager)
{
const QVector<QPair<Qt3DCore::QNodeId, GLFence>> updatedSetFence = std::move(m_updatedSetFences);
FrameGraphManager *fgManager = m_nodesManager->frameGraphManager();
@@ -1284,14 +1284,15 @@ void Renderer::sendSetFenceHandlesToFrontend()
FrameGraphNode *fgNode = fgManager->lookupNode(pair.first);
if (fgNode != nullptr) { // Node could have been deleted before we got a chance to notify it
Q_ASSERT(fgNode->nodeType() == FrameGraphNode::SetFence);
- SetFence *setFenceNode = static_cast<SetFence *>(fgNode);
- setFenceNode->setHandleType(QSetFence::OpenGLFenceId);
- setFenceNode->setHandle(QVariant::fromValue(pair.second));
+ QSetFence *frontend = static_cast<decltype(frontend)>(manager->lookupNode(fgNode->peerId()));
+ QSetFencePrivate *dFrontend = static_cast<decltype(dFrontend)>(QNodePrivate::get(frontend));
+ dFrontend->setHandleType(QSetFence::OpenGLFenceId);
+ dFrontend->setHandle(QVariant::fromValue(pair.second));
}
}
}
-// Executed in a job (in main thread when jobs done)
+// Executed in main thread when jobs done
void Renderer::sendDisablesToFrontend(Qt3DCore::QAspectManager *manager)
{
// SubtreeEnabled
@@ -1853,6 +1854,7 @@ void Renderer::jobsDone(Qt3DCore::QAspectManager *manager)
sendTextureChangesToFrontend(manager);
sendDisablesToFrontend(manager);
+ sendSetFenceHandlesToFrontend(manager);
}
// Jobs we may have to run even if no rendering will happen
@@ -1878,10 +1880,6 @@ QVector<QAspectJobPtr> Renderer::preRenderingJobs()
QVector<QAspectJobPtr> jobs;
- // Do we need to notify frontend about fence change?
- if (m_updatedSetFences.size() > 0)
- jobs.push_back(m_sendSetFenceHandlesToFrontendJob);
-
if (m_sendBufferCaptureJob->hasRequests())
jobs.push_back(m_sendBufferCaptureJob);
diff --git a/src/plugins/renderers/opengl/renderer/renderer_p.h b/src/plugins/renderers/opengl/renderer/renderer_p.h
index 4a6a26d93..8c3a252bb 100644
--- a/src/plugins/renderers/opengl/renderer/renderer_p.h
+++ b/src/plugins/renderers/opengl/renderer/renderer_p.h
@@ -415,7 +415,6 @@ private:
SynchronizerJobPtr m_bufferGathererJob;
SynchronizerJobPtr m_vaoGathererJob;
SynchronizerJobPtr m_textureGathererJob;
- SynchronizerJobPtr m_sendSetFenceHandlesToFrontendJob;
SynchronizerPostFramePtr m_introspectShaderJob;
SynchronizerJobPtr m_syncLoadingJobs;
SynchronizerJobPtr m_cacheRenderableEntitiesJob;
@@ -429,7 +428,7 @@ private:
void reloadDirtyShaders();
void sendShaderChangesToFrontend(Qt3DCore::QAspectManager *manager);
void sendTextureChangesToFrontend(Qt3DCore::QAspectManager *manager);
- void sendSetFenceHandlesToFrontend();
+ void sendSetFenceHandlesToFrontend(Qt3DCore::QAspectManager *manager);
void sendDisablesToFrontend(Qt3DCore::QAspectManager *manager);
QMutex m_abandonedVaosMutex;