mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-02 09:03:37 +00:00
Fix TexrectDrawer when frame buffer emulation disabled.
This commit is contained in:
parent
5ccc40423f
commit
ed21ec774b
|
@ -518,6 +518,8 @@ void FrameBufferList::setCurrentDrawBuffer() const
|
|||
{
|
||||
if (m_pCurrent != nullptr)
|
||||
gfxContext.bindFramebuffer(bufferTarget::DRAW_FRAMEBUFFER, m_pCurrent->m_FBO);
|
||||
else if (!m_list.empty())
|
||||
gfxContext.bindFramebuffer(bufferTarget::DRAW_FRAMEBUFFER, m_list.back().m_FBO);
|
||||
}
|
||||
|
||||
FrameBuffer * FrameBufferList::findBuffer(u32 _startAddress)
|
||||
|
|
|
@ -104,6 +104,14 @@ void TexrectDrawer::_setViewport() const
|
|||
gfxContext.setViewport(0, 0, bufferWidth, VI_GetMaxBufferHeight(bufferWidth));
|
||||
}
|
||||
|
||||
void TexrectDrawer::_setDrawBuffer()
|
||||
{
|
||||
if (m_pBuffer != nullptr)
|
||||
gfxContext.bindFramebuffer(bufferTarget::DRAW_FRAMEBUFFER, m_pBuffer->m_FBO);
|
||||
else
|
||||
frameBufferList().setCurrentDrawBuffer();
|
||||
}
|
||||
|
||||
void TexrectDrawer::add()
|
||||
{
|
||||
DisplayWindow & wnd = dwnd();
|
||||
|
@ -278,7 +286,7 @@ bool TexrectDrawer::draw()
|
|||
rect[3].t0 = t1;
|
||||
|
||||
drawer.updateScissor(m_pBuffer);
|
||||
gfxContext.bindFramebuffer(bufferTarget::DRAW_FRAMEBUFFER, m_pBuffer != nullptr ? m_pBuffer->m_FBO : ObjectHandle::null);
|
||||
_setDrawBuffer();
|
||||
|
||||
Context::DrawRectParameters rectParams;
|
||||
rectParams.mode = drawmode::TRIANGLE_STRIP;
|
||||
|
@ -313,7 +321,7 @@ bool TexrectDrawer::draw()
|
|||
gfxContext.enable(enable::SCISSOR_TEST, true);
|
||||
|
||||
m_pBuffer = frameBufferList().getCurrent();
|
||||
gfxContext.bindFramebuffer(bufferTarget::DRAW_FRAMEBUFFER, m_pBuffer != nullptr ? m_pBuffer->m_FBO : ObjectHandle::null);
|
||||
_setDrawBuffer();
|
||||
|
||||
m_numRects = 0;
|
||||
m_vecRectCoords.clear();
|
||||
|
|
|
@ -24,6 +24,7 @@ public:
|
|||
|
||||
private:
|
||||
void _setViewport() const;
|
||||
void _setDrawBuffer();
|
||||
|
||||
u32 m_numRects;
|
||||
u64 m_otherMode;
|
||||
|
|
Loading…
Reference in New Issue
Block a user