summaryrefslogtreecommitdiffstats
path: root/src/render/backend/jobs
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-08-04 17:37:50 +0200
committerPaul Lemire <paul.lemire@kdab.com>2015-08-07 14:32:03 +0000
commit8e6652961adffb888602774c679ee756737a8b40 (patch)
tree3941c836a87adcf0370145ab95ac8051c275b30c /src/render/backend/jobs
parent975624820bbb086f0d7957236128ddb043e792d0 (diff)
Rework Renderer to use BufferFunctor
Each buffer when it receives a new functor adds itself with the buffer manager. This then allows to build LoadBufferJob instances for each buffer to be loaded. The buffers can then be loaded before a frame is rendered. The GeometryRendererManager has been moved back with other managers and the BufferManager takes its place to handle the additional management of dirty buffers. Renderer updated accordingly. Change-Id: I5df839b56d18de077e1ff2921cb481ed8f613567 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/backend/jobs')
-rw-r--r--src/render/backend/jobs/loadbufferjob.cpp10
-rw-r--r--src/render/backend/jobs/loadbufferjob_p.h2
2 files changed, 5 insertions, 7 deletions
diff --git a/src/render/backend/jobs/loadbufferjob.cpp b/src/render/backend/jobs/loadbufferjob.cpp
index 32b8cbdf1..8bcdf4347 100644
--- a/src/render/backend/jobs/loadbufferjob.cpp
+++ b/src/render/backend/jobs/loadbufferjob.cpp
@@ -36,7 +36,8 @@
#include "loadbufferjob_p.h"
#include <Qt3DRenderer/private/renderbuffer_p.h>
-#include <Qt3DRenderer/private/managers_p.h>
+#include <Qt3DRenderer/private/buffermanager_p.h>
+#include <Qt3DRenderer/private/renderer_p.h>
QT_BEGIN_NAMESPACE
@@ -58,11 +59,10 @@ LoadBufferJob::~LoadBufferJob()
void LoadBufferJob::run()
{
- // TO DO: Load a job functor
-
- // Unset the dirty flag on the buffer
+ // Let's leave it for the moment until this has been properly tested
+ qDebug() << Q_FUNC_INFO;
RenderBuffer *buffer = m_renderer->bufferManager()->data(m_handle);
- buffer->unsetDirty();
+ buffer->executeFunctor();
}
} // Render
diff --git a/src/render/backend/jobs/loadbufferjob_p.h b/src/render/backend/jobs/loadbufferjob_p.h
index af1f32b37..b8e342b90 100644
--- a/src/render/backend/jobs/loadbufferjob_p.h
+++ b/src/render/backend/jobs/loadbufferjob_p.h
@@ -57,8 +57,6 @@ public:
void setRenderer(Renderer *renderer) { m_renderer = renderer; }
- // TO DO: Add a set functor method in here
-
protected:
void run() Q_DECL_OVERRIDE;
HBuffer m_handle;