diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-03-30 10:08:35 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2015-05-10 12:25:13 +0000 |
commit | be1bf4bd32d170b2066cadae6e929f7a46d5e222 (patch) | |
tree | c5ed91f79aa339a88e0d3c5d5c5c8f24fc0100a4 /src/render/backend/jobs | |
parent | 092f86e5bad3101b760cda33d499a3aa736fbb2e (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.cpp | 9 |
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; |