From 1264f7af80f2711735b15a8493bb4d271dbe8c0a Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Wed, 21 Dec 2022 00:25:38 -0500 Subject: [PATCH] Fix disabling sharpen/AA breaking screenshots --- indra/newview/pipeline.cpp | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index d9233b3af03..a67873aeb7e 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -8033,15 +8033,33 @@ void LLPipeline::renderFinalize() // [RLVa:KB] - @setsphere if (pRenderBuffer) { - pRenderBuffer->copyContents(mScreen, 0, 0, mScreen.getWidth(), mScreen.getHeight(), 0, 0, - mScreen.getWidth(), mScreen.getHeight(), GL_COLOR_BUFFER_BIT, GL_NEAREST); + pRenderBuffer->bindTarget(); + } +// [/RLVa:KB] + LLGLSLShader *shader = &gDeferredPostNoDoFProgram; + + bindDeferredShader(*shader); + + S32 channel = shader->enableTexture(LLShaderMgr::DEFERRED_DIFFUSE, mScreen.getUsage()); + if (channel > -1) + { + mScreen.bindTexture(0, channel); + } + + mDeferredVB->setBuffer(LLVertexBuffer::MAP_VERTEX); + mDeferredVB->drawArrays(LLRender::TRIANGLES, 0, 3); + unbindDeferredShader(*shader); + +// [RLVa:KB] - @setsphere + if (pRenderBuffer) + { + pRenderBuffer->flush(); } - else - { - LLRenderTarget::copyContentsToFramebuffer(mScreen, 0, 0, mScreen.getWidth(), mScreen.getHeight(), 0, 0, - mScreen.getWidth(), mScreen.getHeight(), GL_COLOR_BUFFER_BIT, GL_NEAREST); - } // [/RLVa:KB] +// if (multisample) +// { +// mDeferredLight.flush(); +// } } // [RLVa:KB] - @setsphere -- GitLab