mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-11 15:13:37 +02:00
Frametests: add framedump rendering test runner and PNG screenshot support
- Add frametests.py: walks a dump tree, renders each dump per config variant through PPSSPPHeadless, generates reference images when missing and compares MSE when present, and writes a self-contained HTML report. The JSON config (which lives with the test set, not in the repo) points at the data tree and defines variants as suffix -> CLI args, e.g. 'soft': '--graphics=software'. - Headless: --screenshot-save saves PNG when the path ends in .png; new --screenshot-diff always writes a visual comparison when comparing; screenshot comparison failures (mismatch or unloadable reference) now fail the test instead of passing silently. - Read back framebuffers top-down, flipping only for BMP output/input (fixes upside-down PNG references). Sync libretro copy accordingly. - Document the system in docs/frametest.md; add AGENTS.md reference.
This commit is contained in:
+2
-1
@@ -181,7 +181,8 @@ static const CommandLineParam g_autoParams[] = {
|
||||
{POFF(log), CmdParamType::String, "log", '\0', "Output log to FILE", CmdLineMode::Application},
|
||||
{POFF(enableLogging), CmdParamType::Bool, "log", '\0', "Full log output, not just emulated printfs", CmdLineMode::Headless},
|
||||
{POFF(screenshotFilename), CmdParamType::String, "screenshot", '\0', "Compare rendered output against a reference screenshot FILE", CmdLineMode::Headless},
|
||||
{POFF(screenshotFilenameSave), CmdParamType::String, "screenshot-save", '\0', "Save rendered screenshot to specified path", CmdLineMode::Headless},
|
||||
{POFF(screenshotFilenameSave), CmdParamType::String, "screenshot-save", '\0', "Save rendered screenshot to specified path (PNG if the path ends in .png, BMP otherwise)", CmdLineMode::Headless},
|
||||
{POFF(screenshotFilenameDiff), CmdParamType::String, "screenshot-diff", '\0', "Save a visual comparison image to FILE when comparing screenshots", CmdLineMode::Headless},
|
||||
{POFF(timeout), CmdParamType::Double, "timeout", '\0', "Set the timeout value", CmdLineMode::Headless},
|
||||
{POFF(maxScreenshotError), CmdParamType::Double, "max-mse", '\0', "Maximum allowed MSE error for screenshot comparison", CmdLineMode::Headless},
|
||||
{POFF(mountIso), CmdParamType::String, "mount", 'm', "Mount ISO/CSO on umd1:", CmdLineMode::Headless},
|
||||
|
||||
Reference in New Issue
Block a user