mirror of https://github.com/PCSX2/pcsx2.git
GSRunner: Reduce log spam
This commit is contained in:
parent
54e59e2f7b
commit
9efdeae3ac
|
@ -60,7 +60,9 @@
|
||||||
|
|
||||||
namespace GSRunner
|
namespace GSRunner
|
||||||
{
|
{
|
||||||
|
static void InitializeConsole();
|
||||||
static bool InitializeConfig();
|
static bool InitializeConfig();
|
||||||
|
static bool ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& params);
|
||||||
|
|
||||||
static bool CreatePlatformWindow();
|
static bool CreatePlatformWindow();
|
||||||
static void DestroyPlatformWindow();
|
static void DestroyPlatformWindow();
|
||||||
|
@ -77,6 +79,7 @@ alignas(16) static SysMtgsThread s_mtgs_thread;
|
||||||
static std::string s_output_prefix;
|
static std::string s_output_prefix;
|
||||||
static s32 s_loop_count = 1;
|
static s32 s_loop_count = 1;
|
||||||
static std::optional<bool> s_use_window;
|
static std::optional<bool> s_use_window;
|
||||||
|
static bool s_no_console = false;
|
||||||
|
|
||||||
// Owned by the GS thread.
|
// Owned by the GS thread.
|
||||||
static u32 s_dump_frame_number = 0;
|
static u32 s_dump_frame_number = 0;
|
||||||
|
@ -112,7 +115,7 @@ bool GSRunner::InitializeConfig()
|
||||||
si.SetBoolValue("EmuCore", "EnablePerGameSettings", false);
|
si.SetBoolValue("EmuCore", "EnablePerGameSettings", false);
|
||||||
|
|
||||||
// force logging
|
// force logging
|
||||||
si.SetBoolValue("Logging", "EnableSystemConsole", true);
|
si.SetBoolValue("Logging", "EnableSystemConsole", !s_no_console);
|
||||||
si.SetBoolValue("Logging", "EnableTimestamps", true);
|
si.SetBoolValue("Logging", "EnableTimestamps", true);
|
||||||
si.SetBoolValue("Logging", "EnableVerbose", true);
|
si.SetBoolValue("Logging", "EnableVerbose", true);
|
||||||
|
|
||||||
|
@ -453,7 +456,15 @@ static void PrintCommandLineHelp(const char* progname)
|
||||||
std::fprintf(stderr, "\n");
|
std::fprintf(stderr, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& params)
|
void GSRunner::InitializeConsole()
|
||||||
|
{
|
||||||
|
const char* var = std::getenv("PCSX2_NOCONSOLE");
|
||||||
|
s_no_console = (var && StringUtil::FromChars<bool>(var).value_or(false));
|
||||||
|
if (!s_no_console)
|
||||||
|
CommonHost::InitializeEarlyConsole();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GSRunner::ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& params)
|
||||||
{
|
{
|
||||||
bool no_more_args = false;
|
bool no_more_args = false;
|
||||||
for (int i = 1; i < argc; i++)
|
for (int i = 1; i < argc; i++)
|
||||||
|
@ -650,7 +661,7 @@ static bool ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& param
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
CommonHost::InitializeEarlyConsole();
|
GSRunner::InitializeConsole();
|
||||||
|
|
||||||
if (!GSRunner::InitializeConfig())
|
if (!GSRunner::InitializeConfig())
|
||||||
{
|
{
|
||||||
|
@ -659,7 +670,7 @@ int main(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
VMBootParameters params;
|
VMBootParameters params;
|
||||||
if (!ParseCommandLineArgs(argc, argv, params))
|
if (!GSRunner::ParseCommandLineArgs(argc, argv, params))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
PerformanceMetrics::SetCPUThread(Threading::ThreadHandle::GetForCallingThread());
|
PerformanceMetrics::SetCPUThread(Threading::ThreadHandle::GetForCallingThread());
|
||||||
|
|
|
@ -46,11 +46,15 @@ def run_regression_test(runner, dumpdir, renderer, upscale, renderhacks, paralle
|
||||||
if parallel > 1:
|
if parallel > 1:
|
||||||
args.append("-noshadercache")
|
args.append("-noshadercache")
|
||||||
|
|
||||||
|
# disable output console entirely
|
||||||
|
environ = os.environ.copy()
|
||||||
|
environ["PCSX2_NOCONSOLE"] = "1"
|
||||||
|
|
||||||
args.append("--")
|
args.append("--")
|
||||||
args.append(gspath)
|
args.append(gspath)
|
||||||
|
|
||||||
print("Running '%s'" % (" ".join(args)))
|
#print("Running '%s'" % (" ".join(args)))
|
||||||
subprocess.run(args)
|
subprocess.run(args, env=environ, stdin=subprocess.DEVNULL, stderr=subprocess.DEVNULL, stdout=subprocess.DEVNULL)
|
||||||
|
|
||||||
|
|
||||||
def run_regression_tests(runner, gsdir, dumpdir, renderer, upscale, renderhacks, parallel=1):
|
def run_regression_tests(runner, gsdir, dumpdir, renderer, upscale, renderhacks, parallel=1):
|
||||||
|
@ -69,7 +73,10 @@ def run_regression_tests(runner, gsdir, dumpdir, renderer, upscale, renderhacks,
|
||||||
print("Processing %u games on %u processors" % (len(gamepaths), parallel))
|
print("Processing %u games on %u processors" % (len(gamepaths), parallel))
|
||||||
func = partial(run_regression_test, runner, dumpdir, renderer, upscale, renderhacks, parallel)
|
func = partial(run_regression_test, runner, dumpdir, renderer, upscale, renderhacks, parallel)
|
||||||
pool = multiprocessing.Pool(parallel)
|
pool = multiprocessing.Pool(parallel)
|
||||||
pool.map(func, gamepaths)
|
completed = 0
|
||||||
|
for _ in pool.imap_unordered(func, gamepaths, chunksize=1):
|
||||||
|
completed += 1
|
||||||
|
print("Processed %u of %u GS dumps (%u%%)" % (completed, len(gamepaths), (completed * 100) // len(gamepaths)))
|
||||||
pool.close()
|
pool.close()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue