mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-07 03:13:49 +00:00
Frame buffer emulation fixes:
clear color buffer when size is changed but address is the same.
This commit is contained in:
parent
4fa08bd906
commit
7418f76968
|
@ -167,7 +167,7 @@ void FrameBuffer_SaveBuffer( u32 address, u16 format, u16 size, u16 width, u16 h
|
||||||
if ((current->startAddress != address) ||
|
if ((current->startAddress != address) ||
|
||||||
(current->width != width) ||
|
(current->width != width) ||
|
||||||
//(current->height != height) ||
|
//(current->height != height) ||
|
||||||
(current->size != size) || // TODO FIX ME
|
//(current->size != size) || // TODO FIX ME
|
||||||
(current->scaleX != OGL.scaleX) ||
|
(current->scaleX != OGL.scaleX) ||
|
||||||
(current->scaleY != OGL.scaleY))
|
(current->scaleY != OGL.scaleY))
|
||||||
{
|
{
|
||||||
|
@ -178,6 +178,14 @@ void FrameBuffer_SaveBuffer( u32 address, u16 format, u16 size, u16 width, u16 h
|
||||||
|
|
||||||
FrameBuffer_MoveToTop( current );
|
FrameBuffer_MoveToTop( current );
|
||||||
ogl_glBindFramebuffer(GL_DRAW_FRAMEBUFFER, current->fbo);
|
ogl_glBindFramebuffer(GL_DRAW_FRAMEBUFFER, current->fbo);
|
||||||
|
if (current->size != size) {
|
||||||
|
f32 fillColor[4];
|
||||||
|
gDPGetFillColor(fillColor);
|
||||||
|
OGL_ClearColorBuffer(fillColor);
|
||||||
|
current->size = size;
|
||||||
|
current->texture->format = format;
|
||||||
|
current->texture->size = size;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
current = current->lower;
|
current = current->lower;
|
||||||
|
|
2
gDP.cpp
2
gDP.cpp
|
@ -347,7 +347,7 @@ void gDPSetColorImage( u32 format, u32 size, u32 width, u32 address )
|
||||||
}*/
|
}*/
|
||||||
address = RSP_SegmentToPhysical( address );
|
address = RSP_SegmentToPhysical( address );
|
||||||
|
|
||||||
if (gDP.colorImage.address != address || gDP.colorImage.width != width)
|
if (gDP.colorImage.address != address || gDP.colorImage.width != width || gDP.colorImage.size != size)
|
||||||
{
|
{
|
||||||
if (width == VI.width) {
|
if (width == VI.width) {
|
||||||
if (width == gSP.viewport.width)
|
if (width == gSP.viewport.width)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user