Files
Faset_Engine/tests/test_temporal_quality_matrix.py
T

54 lines
2.0 KiB
Python

#!/usr/bin/env python3
"""Check the optional P3 capture matrix without starting Vulkan."""
import csv
import io
import subprocess
import sys
def main() -> None:
completed = subprocess.run(
[sys.argv[1], "--list-quality-runs"], capture_output=True, text=True, check=False)
assert completed.returncode == 0, completed.stderr
rows = list(csv.DictReader(io.StringIO(completed.stdout)))
assert len(rows) == 171, len(rows)
assert sum(int(row["frames"]) for row in rows) == 1386
assert {row["visibility"] for row in rows} == {
"direct", "gpu-frustum", "gpu-occlusion"}
sequence_frames = {
"wire-static": 16,
"pan": 16,
"moving-cube": 16,
"door-background": 16,
"door-open": 10,
"cut": 2,
"resize": 2,
"ui-alpha": 2,
"teleport": 2,
"projection": 2,
"view-switch": 2,
}
modes = {"off", "current", "taa", "upscale-current", "upscale"}
for visibility in ("direct", "gpu-frustum", "gpu-occlusion"):
actual = [row for row in rows if row["visibility"] == visibility]
assert len(actual) == 57
assert len({(row["sequence"], row["mode"]) for row in actual}) == 57
for sequence, count in sequence_frames.items():
runs = [row for row in actual
if row["sequence"] == sequence and row["mode"] != "spatial-2x"]
assert {row["mode"] for row in runs} == modes
assert all(int(row["frames"]) == count for row in runs)
assert all((int(row["width"]), int(row["height"])) == (160, 120)
for row in runs)
for sequence in ("wire-static", "pan"):
reference = next(row for row in actual
if row["sequence"] == sequence and row["mode"] == "spatial-2x")
assert (int(reference["frames"]), int(reference["width"]),
int(reference["height"])) == (16, 320, 240)
if __name__ == "__main__":
main()