docs: Add section about dawn_perf_tests

Bug: dawn:23
Change-Id: Ic0f8e8775d85b43db3ad1665d805a201770ca8d1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/14440
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
Austin Eng
2019-12-10 19:49:08 +00:00
committed by Commit Bot service account
parent 652fd5a416
commit d1db0e94b0
2 changed files with 65 additions and 23 deletions

View File

@@ -1,24 +1,2 @@
# 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](https://cs.chromium.org/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`.
Moved to [`//src/docs/testing.md`](https://dawn.googlesource.com/dawn/+/refs/heads/master/docs/testing.md).