mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-02 09:03:37 +00:00
Fix in FrameBufferList::renderBuffer() : draw blank frame if VI state is wrong.
Previously renderBuffer() did nothing in that case and last rendered frame remained on screen. Fixed Perfect Dark (Missing Transition Animation at end of Title Intro Screen - PD Logo Doesn't Disappear) #1715
This commit is contained in:
parent
2e2cbcfcfc
commit
3faa383c55
|
@ -1254,9 +1254,6 @@ void FrameBufferList::OverscanBuffer::draw(u32 _fullHeight, bool _PAL)
|
|||
|
||||
void FrameBufferList::renderBuffer()
|
||||
{
|
||||
if (VI.width == 0 || *REG.VI_WIDTH == 0 || *REG.VI_H_START == 0) // H width is zero. Don't draw
|
||||
return;
|
||||
|
||||
if (g_debugger.isDebugMode()) {
|
||||
g_debugger.draw();
|
||||
return;
|
||||
|
@ -1268,8 +1265,14 @@ void FrameBufferList::renderBuffer()
|
|||
}
|
||||
|
||||
RdpUpdateResult rdpRes;
|
||||
if (!rdp_update(rdpRes))
|
||||
if (!rdp_update(rdpRes)) {
|
||||
gfxContext.bindFramebuffer(bufferTarget::DRAW_FRAMEBUFFER, ObjectHandle::defaultFramebuffer);
|
||||
gfxContext.clearColorBuffer(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
dwnd().swapBuffers();
|
||||
if (m_pCurrent != nullptr)
|
||||
gfxContext.bindFramebuffer(bufferTarget::DRAW_FRAMEBUFFER, m_pCurrent->m_FBO);
|
||||
return;
|
||||
}
|
||||
|
||||
FrameBuffer *pBuffer = findBuffer(rdpRes.vi_origin);
|
||||
if (pBuffer == nullptr)
|
||||
|
|
Loading…
Reference in New Issue
Block a user