mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-04 10:03:36 +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) ||
|
||||
(current->width != width) ||
|
||||
//(current->height != height) ||
|
||||
(current->size != size) || // TODO FIX ME
|
||||
//(current->size != size) || // TODO FIX ME
|
||||
(current->scaleX != OGL.scaleX) ||
|
||||
(current->scaleY != OGL.scaleY))
|
||||
{
|
||||
|
@ -178,6 +178,14 @@ void FrameBuffer_SaveBuffer( u32 address, u16 format, u16 size, u16 width, u16 h
|
|||
|
||||
FrameBuffer_MoveToTop( current );
|
||||
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;
|
||||
}
|
||||
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 );
|
||||
|
||||
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 == gSP.viewport.width)
|
||||
|
|
Loading…
Reference in New Issue
Block a user