diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-12-20 12:41:04 +0100 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2020-02-11 06:08:41 +0000 |
commit | b828609440a4771838c242b3ad9962ecd7a2fe99 (patch) | |
tree | 5da6bce0cda327c4cca96696bce512ec243cc1fd /src/plugins/renderers/opengl/renderer | |
parent | b0eb152b82cdd9658154ff7d9ef9e764eccc1ebd (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.cpp | 20 | ||||
-rw-r--r-- | src/plugins/renderers/opengl/renderer/renderer_p.h | 3 |
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; |