summaryrefslogtreecommitdiffstats
path: root/src/render/backend/jobs
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-03-30 10:08:35 +0200
committerPaul Lemire <paul.lemire@kdab.com>2015-05-10 12:25:13 +0000
commitbe1bf4bd32d170b2066cadae6e929f7a46d5e222 (patch)
treec5ed91f79aa339a88e0d3c5d5c5c8f24fc0100a4 /src/render/backend/jobs
parent092f86e5bad3101b760cda33d499a3aa736fbb2e (diff)
Renderer: glDrawBuffers using QRenderTargetSelector drawBuffer
Change-Id: I760401c7749ca97801e2254cda6b306b1748e10d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/backend/jobs')
-rw-r--r--src/render/backend/jobs/renderviewjobutils.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/render/backend/jobs/renderviewjobutils.cpp b/src/render/backend/jobs/renderviewjobutils.cpp
index 22725eb06..d16d124a9 100644
--- a/src/render/backend/jobs/renderviewjobutils.cpp
+++ b/src/render/backend/jobs/renderviewjobutils.cpp
@@ -112,7 +112,8 @@ void setRenderViewConfigFromFrameGraphLeafNode(RenderView *rv, const FrameGraphN
case FrameGraphNode::RenderTarget: {
// Can be set once and we take render target nearest to the leaf node
- QNodeId renderTargetUid = static_cast<const RenderTargetSelector *>(node)->renderTargetUuid();
+ const RenderTargetSelector *targetSelector = static_cast<const RenderTargetSelector *>(node);
+ QNodeId renderTargetUid = targetSelector->renderTargetUuid();
HTarget renderTargetHandle = renderer->renderTargetManager()->lookupHandle(renderTargetUid);
if (rv->renderTargetHandle().isNull()) {
rv->setRenderTargetHandle(renderTargetHandle);
@@ -120,11 +121,17 @@ void setRenderViewConfigFromFrameGraphLeafNode(RenderView *rv, const FrameGraphN
RenderTarget *renderTarget = renderer->renderTargetManager()->data(renderTargetHandle);
if (renderTarget) {
// Add renderTarget Handle and build renderCommand AttachmentPack
+
+ // Copy draw buffers list
+ rv->setDrawBuffers(targetSelector->drawBuffers());
+
+ // Copy attachments
Q_FOREACH (const QNodeId &attachmentId, renderTarget->renderAttachments()) {
RenderAttachment *attachment = renderer->attachmentManager()->lookupResource(attachmentId);
if (attachment)
rv->addRenderAttachment(attachment->attachment());
}
+
}
}
break;