RegTest: Fix directory creation always failing

This commit is contained in:
Stenzek 2023-11-25 20:06:30 +10:00
parent ff17444074
commit dc75afeb3d
No known key found for this signature in database
2 changed files with 86 additions and 61 deletions

View file

@ -33,7 +33,10 @@ def run_regression_tests(runner, gamedir, destdir, dump_interval, frames, parall
paths = glob.glob(gamedir + "/*.*", recursive=True)
gamepaths = list(filter(is_game_path, paths))
if not os.path.isdir(destdir) and not os.mkdir(destdir):
try:
if not os.path.isdir(destdir):
os.mkdir(destdir)
except OSError:
print("Failed to create directory")
return False

View file

@ -2498,10 +2498,29 @@ void GPU_HW::DispatchRenderCommand()
if (m_draw_mode.IsTexturePageChanged())
{
m_draw_mode.ClearTexturePageChangedFlag();
#if 0
if (m_vram_dirty_rect.Valid())
{
GL_INS_FMT("VRAM DIRTY: {},{} => {},{}", m_vram_dirty_rect.left, m_vram_dirty_rect.top, m_vram_dirty_rect.right,
m_vram_dirty_rect.bottom);
auto tpr = m_draw_mode.mode_reg.GetTexturePageRectangle();
GL_INS_FMT("PAGE RECT: {},{} => {},{}", tpr.left, tpr.top, tpr.right, tpr.bottom);
if (m_draw_mode.mode_reg.IsUsingPalette())
{
tpr = m_draw_mode.GetTexturePaletteRectangle();
GL_INS_FMT("PALETTE RECT: {},{} => {},{}", tpr.left, tpr.top, tpr.right, tpr.bottom);
}
}
#endif
if (m_vram_dirty_rect.Valid() && (m_draw_mode.mode_reg.GetTexturePageRectangle().Intersects(m_vram_dirty_rect) ||
(m_draw_mode.mode_reg.IsUsingPalette() &&
m_draw_mode.GetTexturePaletteRectangle().Intersects(m_vram_dirty_rect))))
{
GL_INS("Invalidating VRAM read cache due to drawing area overlap");
// Log_DevPrint("Invalidating VRAM read cache due to drawing area overlap");
if (!IsFlushed())
FlushRender();
@ -2534,6 +2553,8 @@ void GPU_HW::DispatchRenderCommand()
EnsureVertexBufferSpaceForCurrentCommand();
if (GetBatchVertexCount() == 0)
{
// transparency mode change
if (transparency_mode != GPUTransparencyMode::Disabled &&
(texture_mode == GPUTextureMode::Disabled || !NeedsShaderBlending(transparency_mode)))
@ -2598,6 +2619,7 @@ void GPU_HW::DispatchRenderCommand()
m_sw_renderer->PushCommand(cmd);
}
}
}
LoadVertices();
}