diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-08-09 12:15:39 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2016-08-09 13:12:26 +0000 |
commit | 0045f1cfdfe669dd4f9c5f78d4d7dab153e2a17b (patch) | |
tree | 43e7ba16d86766a5859dec7b5232e21dbe033058 | |
parent | c85d68638ee2e3f903f3421002ce2d6dd8da60d9 (diff) |
Simplify RV state handling
Change-Id: Id7cb66f13560eb856327a1ec4cbc6b4c7545224b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r-- | src/render/backend/renderer.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp index 66efb6dcb..c91eff86e 100644 --- a/src/render/backend/renderer.cpp +++ b/src/render/backend/renderer.cpp @@ -811,6 +811,7 @@ Renderer::ViewSubmissionResultData Renderer::submitRenderViews(const QVector<Ren QSurface *surface = nullptr; QSurface *previousSurface = renderViews.first()->surface(); QSurface *lastUsedSurface = nullptr; + for (int i = 0; i < renderViewsCount; ++i) { // Initialize GraphicsContext for drawing // If the RenderView has a RenderStateSet defined @@ -855,13 +856,14 @@ Renderer::ViewSubmissionResultData Renderer::submitRenderViews(const QVector<Ren lastBoundFBOId = m_graphicsContext->boundFrameBufferObject(); } - // Set RenderView render state // Note: the RenderStateSet is allocated once per RV if needed // and it contains a list of StateVariant value types RenderStateSet *renderViewStateSet = renderView->stateSet(); - if (renderViewStateSet) + + // Set the RV state if not null, + if (renderViewStateSet != nullptr) m_graphicsContext->setCurrentStateSet(renderViewStateSet); - else if (surfaceHasChanged || i == 0) // Reset state to the default state on initial render view or on surface change + else m_graphicsContext->setCurrentStateSet(m_defaultRenderStateSet); // Set RenderTarget ... |