Hash :
0c9ce8c7
Author :
Date :
2023-09-08T21:34:07
Trace-based testing app Modifying angle_trace_tests app to run traces automatically on invocation and dumps fps information. Also, compares the screenshot with the golden images if provided and dumps the histogram of image diff. Golden image naming format: <trace_name>_golden.png - Run traces - Capture screenshot - Record FPS value - Record image diff histogram Bug: b/270421213 Doc: doc/StandaloneBenchmark.md Change-Id: I42b8d229e1e358d48887f29f2424b9e771093ce9 Commit-Queue: Shashank Sharma <shawshanks@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072349 Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Shashank Sharma <shawshanks@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
//
// Copyright 2019 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// ANGLEPerfTestArgs.h:
// Command line arguments for angle_perftests.
//
#ifndef TESTS_PERF_TESTS_ANGLE_PERF_TEST_ARGS_H_
#define TESTS_PERF_TESTS_ANGLE_PERF_TEST_ARGS_H_
#include <string>
#include <vector>
#include "common/Optional.h"
namespace angle
{
extern int gStepsPerTrial;
extern int gMaxStepsPerformed;
extern bool gEnableTrace;
extern const char *gTraceFile;
extern const char *gScreenshotDir;
extern bool gSaveScreenshots;
extern int gScreenshotFrame;
extern bool gRunToKeyFrame;
extern bool gVerboseLogging;
extern bool gWarmup;
extern int gTrialTimeSeconds;
extern int gTestTrials;
extern bool gNoFinish;
extern bool gRetraceMode;
extern bool gMinimizeGPUWork;
extern bool gTraceTestValidation;
extern const char *gTraceInterpreter;
extern const char *gPerfCounters;
extern const char *gUseANGLE;
extern const char *gUseGL;
extern bool gOffscreen;
extern bool gVsync;
extern int gFpsLimit;
extern const char *gPrintExtensionsToFile;
extern const char *gRequestedExtensions;
extern bool gIncludeInactiveResources;
// Constant for when trace's frame count should be used
constexpr int kAllFrames = -1;
constexpr int kDefaultScreenshotFrame = 1;
constexpr int kDefaultMaxStepsPerformed = 0;
#ifdef ANGLE_STANDALONE_BENCHMARK
constexpr bool kStandaloneBenchmark = true;
#else
constexpr bool kStandaloneBenchmark = false;
#endif
inline bool OneFrame()
{
return gStepsPerTrial == 1 || gMaxStepsPerformed == 1;
}
} // namespace angle
#endif // TESTS_PERF_TESTS_ANGLE_PERF_TEST_ARGS_H_