Bug: dawn:208 Change-Id: Ic9b4c83ab3c27851d149adb5986f3a5556d0548a Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/11283 Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Dawn Perf Tests
Tests
BufferUploadPerf
Tests repetitively uploading data to the GPU using either SetSubData or CreateBufferMapped.
Test Harness
The test harness provides a DawnPerfTestBase which Derived tests should inherit from.
The harness calls Step() of a Derived class to measure its execution
time. First, a calibration step is run which determines the number of times
to call Step() to last approximately kCalibrationRunTimeSeconds. Then,
Step() is called for the computed number of times, or until
kMaximumRunTimeSeconds is exceeded. kNumTrials are performed and the
results and averages per iteration* are printed.
(See DawnPerfTest.h for the values of the constants).
The results are printed according to the format specified at [chromium]//build/scripts/slave/performance_log_processor.py
*The number of iterations a test performs should be passed to the
constructor of DawnPerfTestBase. The reported times are the total time
divided by numSteps * iterationsPerStep.