mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-07 03:13:49 +00:00
Add CopyToRDRAM modes to Config: disable, sync, async.
copyToRDRAM option can take 'async' value. copyDepthToRDRAM is still sync mode only.
This commit is contained in:
parent
23de60b500
commit
2483f03159
|
@ -47,9 +47,9 @@ void Config::resetToDefaults()
|
||||||
#else
|
#else
|
||||||
frameBufferEmulation.enable = 1;
|
frameBufferEmulation.enable = 1;
|
||||||
#endif
|
#endif
|
||||||
frameBufferEmulation.copyDepthToRDRAM = 0;
|
frameBufferEmulation.copyDepthToRDRAM = ctDisable;
|
||||||
frameBufferEmulation.copyFromRDRAM = 0;
|
frameBufferEmulation.copyFromRDRAM = 0;
|
||||||
frameBufferEmulation.copyToRDRAM = 1;
|
frameBufferEmulation.copyToRDRAM = ctSync;
|
||||||
frameBufferEmulation.detectCFB = 0;
|
frameBufferEmulation.detectCFB = 0;
|
||||||
frameBufferEmulation.N64DepthCompare = 0;
|
frameBufferEmulation.N64DepthCompare = 0;
|
||||||
frameBufferEmulation.aspect = 1;
|
frameBufferEmulation.aspect = 1;
|
||||||
|
|
|
@ -63,6 +63,12 @@ struct Config
|
||||||
aTotal = 4
|
aTotal = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum CopyToRDRAM {
|
||||||
|
ctDisable = 0,
|
||||||
|
ctSync,
|
||||||
|
ctAsync
|
||||||
|
};
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
u32 enable;
|
u32 enable;
|
||||||
u32 copyToRDRAM;
|
u32 copyToRDRAM;
|
||||||
|
|
|
@ -934,7 +934,7 @@ void FrameBufferToRDRAM::Init()
|
||||||
glBindBuffer(GL_PIXEL_PACK_BUFFER, m_aPBO[1]);
|
glBindBuffer(GL_PIXEL_PACK_BUFFER, m_aPBO[1]);
|
||||||
glBufferData(GL_PIXEL_PACK_BUFFER, m_pTexture->textureBytes, NULL, GL_DYNAMIC_READ);
|
glBufferData(GL_PIXEL_PACK_BUFFER, m_pTexture->textureBytes, NULL, GL_DYNAMIC_READ);
|
||||||
glBindBuffer(GL_PIXEL_PACK_BUFFER, 0);
|
glBindBuffer(GL_PIXEL_PACK_BUFFER, 0);
|
||||||
m_bSync = true;
|
m_bSync = config.frameBufferEmulation.copyToRDRAM == Config::ctSync;
|
||||||
m_curIndex = 0;
|
m_curIndex = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -209,9 +209,9 @@ void RSP_ProcessDList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.frameBufferEmulation.copyToRDRAM)
|
if (config.frameBufferEmulation.copyToRDRAM != Config::ctDisable)
|
||||||
FrameBuffer_CopyToRDRAM(gDP.colorImage.address);
|
FrameBuffer_CopyToRDRAM(gDP.colorImage.address);
|
||||||
if (config.frameBufferEmulation.copyDepthToRDRAM)
|
if (config.frameBufferEmulation.copyDepthToRDRAM != Config::ctDisable)
|
||||||
FrameBuffer_CopyDepthBuffer(gDP.colorImage.address);
|
FrameBuffer_CopyDepthBuffer(gDP.colorImage.address);
|
||||||
|
|
||||||
RSP.busy = FALSE;
|
RSP.busy = FALSE;
|
||||||
|
|
|
@ -883,9 +883,9 @@ void gDPTextureRectangleFlip( f32 ulx, f32 uly, f32 lrx, f32 lry, s32 tile, f32
|
||||||
void gDPFullSync()
|
void gDPFullSync()
|
||||||
{
|
{
|
||||||
if (RSP.bLLE) {
|
if (RSP.bLLE) {
|
||||||
if (config.frameBufferEmulation.copyToRDRAM)
|
if (config.frameBufferEmulation.copyToRDRAM != Config::ctDisable)
|
||||||
FrameBuffer_CopyToRDRAM(gDP.colorImage.address);
|
FrameBuffer_CopyToRDRAM(gDP.colorImage.address);
|
||||||
if (config.frameBufferEmulation.copyDepthToRDRAM)
|
if (config.frameBufferEmulation.copyDepthToRDRAM != Config::ctDisable)
|
||||||
FrameBuffer_CopyDepthBuffer(gDP.colorImage.address);
|
FrameBuffer_CopyDepthBuffer(gDP.colorImage.address);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user