summaryrefslogtreecommitdiffstats
path: root/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp')
-rw-r--r--src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp b/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
index ecaa12d8b..20aca81bc 100644
--- a/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
+++ b/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
@@ -1618,8 +1618,12 @@ void SubmissionContext::blitFramebuffer(Qt3DCore::QNodeId inputRenderTargetId,
if (!inputBufferIsDefault)
readBuffer(GL_COLOR_ATTACHMENT0 + inputAttachmentPoint);
- if (!outputBufferIsDefault)
- drawBuffer(GL_COLOR_ATTACHMENT0 + outputAttachmentPoint);
+ if (!outputBufferIsDefault) {
+ // Note that we use glDrawBuffers, not glDrawBuffer. The
+ // latter is not available with GLES.
+ const int buf = outputAttachmentPoint;
+ drawBuffers(1, &buf);
+ }
// Blit framebuffer
const GLenum mode = interpolationMethod ? GL_NEAREST : GL_LINEAR;
@@ -1629,6 +1633,10 @@ void SubmissionContext::blitFramebuffer(Qt3DCore::QNodeId inputRenderTargetId,
// Reset draw buffer
bindFramebuffer(lastDrawFboId, GraphicsHelperInterface::FBOReadAndDraw);
+ if (outputAttachmentPoint != QRenderTargetOutput::Color0) {
+ const int buf = QRenderTargetOutput::Color0;
+ drawBuffers(1, &buf);
+ }
}
} // namespace Render