From f2babed36d2c0a038d08ebd927b611b6dea75240 Mon Sep 17 00:00:00 2001 From: Logan McNaughton Date: Thu, 7 Jul 2016 14:37:47 -0600 Subject: [PATCH] Fix some more graphical glitches with FBE on the Raspberry Pi See https://github.com/RetroPie/RetroPie-Setup/pull/1563 --- src/FrameBuffer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/FrameBuffer.cpp b/src/FrameBuffer.cpp index 2d6512c9..987953f2 100644 --- a/src/FrameBuffer.cpp +++ b/src/FrameBuffer.cpp @@ -160,6 +160,10 @@ void FrameBuffer::init(u32 _address, u32 _endAddress, u16 _format, u16 _size, u1 m_fingerprint = false; _initTexture(_width, _height, _format, _size, m_pTexture); +#ifdef VC + const GLenum discards[] = {GL_DEPTH_ATTACHMENT}; + glDiscardFramebufferEXT(GL_FRAMEBUFFER, 1, discards); +#endif glBindFramebuffer(GL_FRAMEBUFFER, m_FBO); #ifdef GL_MULTISAMPLING_SUPPORT @@ -590,6 +594,10 @@ void FrameBufferList::saveBuffer(u32 _address, u16 _format, u16 _size, u16 _widt m_pCurrent = nullptr; } else { m_pCurrent->m_resolved = false; +#ifdef VC + const GLenum discards[] = {GL_DEPTH_ATTACHMENT}; + glDiscardFramebufferEXT(GL_FRAMEBUFFER, 1, discards); +#endif glBindFramebuffer(GL_FRAMEBUFFER, m_pCurrent->m_FBO); if (m_pCurrent->m_size != _size) { f32 fillColor[4];