summaryrefslogtreecommitdiffstats
path: root/src/render
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2017-07-26 16:33:06 +0200
committerPaul Lemire <paul.lemire@kdab.com>2017-07-28 06:11:55 +0000
commite2d7e2108c27573c7811faad951ad6ebd8df403d (patch)
treee8833e37fa57ec7a8d7fabf4166598013d080044 /src/render
parent721c44edfdedb0360181f8160144709867ed8749 (diff)
Fix: set renderer dirty flag on initialization
Change-Id: I9c164409e3ced5d78182542ae060692e0f65d3ac Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render')
-rw-r--r--src/render/backend/renderer.cpp4
-rw-r--r--src/render/geometry/buffer.cpp1
-rw-r--r--src/render/geometry/geometry.cpp1
-rw-r--r--src/render/geometry/geometryrenderer.cpp1
-rw-r--r--src/render/graphicshelpers/graphicscontext.cpp1
-rw-r--r--src/render/materialsystem/shader.cpp1
6 files changed, 8 insertions, 1 deletions
diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp
index 877f89f5c..c31a47b43 100644
--- a/src/render/backend/renderer.cpp
+++ b/src/render/backend/renderer.cpp
@@ -1461,8 +1461,10 @@ QVector<Qt3DCore::QAspectJobPtr> Renderer::renderBinJobs()
m_updateLevelOfDetailJob->setFrameGraphRoot(frameGraphRoot());
// Add jobs
- if (dirtyBits() & AbstractRenderer::EntityEnabledDirty)
+ if (dirtyBits() & AbstractRenderer::EntityEnabledDirty) {
renderBinJobs.push_back(m_updateTreeEnabledJob);
+ m_calculateBoundingVolumeJob->addDependency(m_updateTreeEnabledJob);
+ }
if (dirtyBits() & AbstractRenderer::TransformDirty) {
renderBinJobs.push_back(m_worldTransformJob);
diff --git a/src/render/geometry/buffer.cpp b/src/render/geometry/buffer.cpp
index 2f2b6ba31..666b5006d 100644
--- a/src/render/geometry/buffer.cpp
+++ b/src/render/geometry/buffer.cpp
@@ -135,6 +135,7 @@ void Buffer::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &chang
m_manager->addDirtyBuffer(peerId());
m_manager->addBufferReference(peerId());
+ markDirty(AbstractRenderer::BuffersDirty);
}
void Buffer::forceDataUpload()
diff --git a/src/render/geometry/geometry.cpp b/src/render/geometry/geometry.cpp
index 49205958c..d87b4d8eb 100644
--- a/src/render/geometry/geometry.cpp
+++ b/src/render/geometry/geometry.cpp
@@ -77,6 +77,7 @@ void Geometry::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &cha
m_attributes = data.attributeIds;
m_boundingPositionAttribute = data.boundingVolumePositionAttributeId;
m_geometryDirty = true;
+ markDirty(AbstractRenderer::GeometryDirty);
}
void Geometry::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
diff --git a/src/render/geometry/geometryrenderer.cpp b/src/render/geometry/geometryrenderer.cpp
index 978ee6252..78678b24c 100644
--- a/src/render/geometry/geometryrenderer.cpp
+++ b/src/render/geometry/geometryrenderer.cpp
@@ -125,6 +125,7 @@ void GeometryRenderer::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBase
m_manager->addDirtyGeometryRenderer(peerId());
m_dirty = true;
+ markDirty(AbstractRenderer::GeometryDirty);
}
void GeometryRenderer::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
diff --git a/src/render/graphicshelpers/graphicscontext.cpp b/src/render/graphicshelpers/graphicscontext.cpp
index 5004eb2ef..6473fee76 100644
--- a/src/render/graphicshelpers/graphicscontext.cpp
+++ b/src/render/graphicshelpers/graphicscontext.cpp
@@ -1412,6 +1412,7 @@ void GraphicsContext::specifyAttribute(const Attribute *attribute, Buffer *buffe
const GLint attributeDataType = glDataTypeFromAttributeDataType(attribute->vertexBaseType());
const HGLBuffer glBufferHandle = m_renderer->nodeManagers()->glBufferManager()->lookupHandle(buffer->peerId());
+ Q_ASSERT(!glBufferHandle.isNull());
const GLBuffer::Type bufferType = bufferTypeToGLBufferType(buffer->type());
int typeSize = 0;
diff --git a/src/render/materialsystem/shader.cpp b/src/render/materialsystem/shader.cpp
index 2f63e08d7..d42b0dda7 100644
--- a/src/render/materialsystem/shader.cpp
+++ b/src/render/materialsystem/shader.cpp
@@ -117,6 +117,7 @@ void Shader::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &chang
m_shaderCode[QShaderProgram::Compute] = data.computeShaderCode;
m_isLoaded = false;
updateDNA();
+ markDirty(AbstractRenderer::ShadersDirty);
}
void Shader::setGraphicsContext(GraphicsContext *context)