Video_Software: Toggable zfreeze and early_z support for testing.
This commit is contained in:
parent
8923f0e13b
commit
183ad0c628
|
@ -125,7 +125,7 @@ inline void Draw(s32 x, s32 y, s32 xi, s32 yi)
|
||||||
if (z < 0 || z > 0x00ffffff)
|
if (z < 0 || z > 0x00ffffff)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (bpmem.zcontrol.early_ztest && bpmem.zmode.testenable)
|
if (bpmem.zcontrol.early_ztest && bpmem.zmode.testenable && g_SWVideoConfig.bZComploc)
|
||||||
{
|
{
|
||||||
// early z
|
// early z
|
||||||
if (!EfbInterface::ZCompare(x, y, z))
|
if (!EfbInterface::ZCompare(x, y, z))
|
||||||
|
|
|
@ -35,6 +35,9 @@ SWVideoConfig::SWVideoConfig()
|
||||||
bDumpObjects = false;
|
bDumpObjects = false;
|
||||||
bDumpFrames = false;
|
bDumpFrames = false;
|
||||||
|
|
||||||
|
bZComploc = true;
|
||||||
|
bZFreeze = true;
|
||||||
|
|
||||||
bDumpTevStages = false;
|
bDumpTevStages = false;
|
||||||
bDumpTevTextureFetches = false;
|
bDumpTevTextureFetches = false;
|
||||||
|
|
||||||
|
@ -52,6 +55,8 @@ void SWVideoConfig::Load(const char* ini_file)
|
||||||
iniFile.Get("Hardware", "RenderToMainframe", &renderToMainframe, false);
|
iniFile.Get("Hardware", "RenderToMainframe", &renderToMainframe, false);
|
||||||
|
|
||||||
iniFile.Get("Rendering", "HwRasterizer", &bHwRasterizer, false);
|
iniFile.Get("Rendering", "HwRasterizer", &bHwRasterizer, false);
|
||||||
|
iniFile.Get("Rendering", "ZComploc", &bZComploc, true);
|
||||||
|
iniFile.Get("Rendering", "ZFreeze", &bZFreeze, true);
|
||||||
|
|
||||||
iniFile.Get("Info", "ShowStats", &bShowStats, false);
|
iniFile.Get("Info", "ShowStats", &bShowStats, false);
|
||||||
|
|
||||||
|
@ -74,6 +79,8 @@ void SWVideoConfig::Save(const char* ini_file)
|
||||||
iniFile.Set("Hardware", "RenderToMainframe", renderToMainframe);
|
iniFile.Set("Hardware", "RenderToMainframe", renderToMainframe);
|
||||||
|
|
||||||
iniFile.Set("Rendering", "HwRasterizer", bHwRasterizer);
|
iniFile.Set("Rendering", "HwRasterizer", bHwRasterizer);
|
||||||
|
iniFile.Set("Rendering", "ZComploc", &bZComploc);
|
||||||
|
iniFile.Set("Rendering", "ZFreeze", &bZFreeze);
|
||||||
|
|
||||||
iniFile.Set("Info", "ShowStats", bShowStats);
|
iniFile.Set("Info", "ShowStats", bShowStats);
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,10 @@ struct SWVideoConfig : NonCopyable
|
||||||
|
|
||||||
bool bHwRasterizer;
|
bool bHwRasterizer;
|
||||||
|
|
||||||
|
// Emulation features
|
||||||
|
bool bZComploc;
|
||||||
|
bool bZFreeze;
|
||||||
|
|
||||||
bool bShowStats;
|
bool bShowStats;
|
||||||
|
|
||||||
bool bDumpTextures;
|
bool bDumpTextures;
|
||||||
|
|
|
@ -784,11 +784,12 @@ void Tev::Draw()
|
||||||
output[BLU_C] = (output[BLU_C] * invFog + fogInt * bpmem.fog.color.b) >> 8;
|
output[BLU_C] = (output[BLU_C] * invFog + fogInt * bpmem.fog.color.b) >> 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!bpmem.zcontrol.early_ztest && bpmem.zmode.testenable)
|
bool late_ztest = !bpmem.zcontrol.early_ztest || g_SWVideoConfig.bZComploc;
|
||||||
{
|
if (late_ztest && bpmem.zmode.testenable)
|
||||||
if (!EfbInterface::ZCompare(Position[0], Position[1], Position[2]))
|
{
|
||||||
return;
|
if (!EfbInterface::ZCompare(Position[0], Position[1], Position[2]))
|
||||||
}
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
#if ALLOW_TEV_DUMPS
|
#if ALLOW_TEV_DUMPS
|
||||||
if (g_SWVideoConfig.bDumpTevStages)
|
if (g_SWVideoConfig.bDumpTevStages)
|
||||||
|
|
Loading…
Reference in New Issue