diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-08-04 17:37:50 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2015-08-07 14:32:03 +0000 |
commit | 8e6652961adffb888602774c679ee756737a8b40 (patch) | |
tree | 3941c836a87adcf0370145ab95ac8051c275b30c /src/render/backend/jobs | |
parent | 975624820bbb086f0d7957236128ddb043e792d0 (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.cpp | 10 | ||||
-rw-r--r-- | src/render/backend/jobs/loadbufferjob_p.h | 2 |
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; |