mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-07 03:13:49 +00:00
Force resolve multisampled buffer in FrameBufferList::renderBuffer.
Fixed Mario Party 3 - Missing characters and textbox in intro #901
This commit is contained in:
parent
325082b2bb
commit
ea62a778fa
|
@ -391,10 +391,10 @@ bool FrameBuffer::isValid() const
|
||||||
return true; // No data to decide
|
return true; // No data to decide
|
||||||
}
|
}
|
||||||
|
|
||||||
void FrameBuffer::resolveMultisampledTexture()
|
void FrameBuffer::resolveMultisampledTexture(bool _bForce)
|
||||||
{
|
{
|
||||||
#ifdef GL_MULTISAMPLING_SUPPORT
|
#ifdef GL_MULTISAMPLING_SUPPORT
|
||||||
if (m_resolved)
|
if (m_resolved && !_bForce)
|
||||||
return;
|
return;
|
||||||
glScissor(0, 0, m_pTexture->realWidth, m_pTexture->realHeight);
|
glScissor(0, 0, m_pTexture->realWidth, m_pTexture->realHeight);
|
||||||
glBindFramebuffer(GL_READ_FRAMEBUFFER, m_FBO);
|
glBindFramebuffer(GL_READ_FRAMEBUFFER, m_FBO);
|
||||||
|
@ -850,7 +850,7 @@ void FrameBufferList::renderBuffer(u32 _address)
|
||||||
if (X0 > 0 || dstPartHeight > 0 ||
|
if (X0 > 0 || dstPartHeight > 0 ||
|
||||||
(srcCoord[2] - srcCoord[0]) != (dstCoord[2] - dstCoord[0]) ||
|
(srcCoord[2] - srcCoord[0]) != (dstCoord[2] - dstCoord[0]) ||
|
||||||
(srcCoord[3] - srcCoord[1]) != (dstCoord[3] - dstCoord[1])) {
|
(srcCoord[3] - srcCoord[1]) != (dstCoord[3] - dstCoord[1])) {
|
||||||
pBuffer->resolveMultisampledTexture();
|
pBuffer->resolveMultisampledTexture(true);
|
||||||
glBindFramebuffer(GL_READ_FRAMEBUFFER, pBuffer->m_resolveFBO);
|
glBindFramebuffer(GL_READ_FRAMEBUFFER, pBuffer->m_resolveFBO);
|
||||||
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -18,7 +18,7 @@ struct FrameBuffer
|
||||||
~FrameBuffer();
|
~FrameBuffer();
|
||||||
void init(u32 _address, u32 _endAddress, u16 _format, u16 _size, u16 _width, u16 _height, bool _cfb);
|
void init(u32 _address, u32 _endAddress, u16 _format, u16 _size, u16 _width, u16 _height, bool _cfb);
|
||||||
void reinit(u16 _height);
|
void reinit(u16 _height);
|
||||||
void resolveMultisampledTexture();
|
void resolveMultisampledTexture(bool _bForce = false);
|
||||||
CachedTexture * getTexture();
|
CachedTexture * getTexture();
|
||||||
void copyRdram();
|
void copyRdram();
|
||||||
bool isValid() const;
|
bool isValid() const;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user