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];