dawn-cmake/webgpu-cts
Corentin Wallez bd8de5d2a4 Add MetalRenderR8RG8UnormSmallMipToTempTexture workaround
This workaround replaces the toggle that forbids creating mipmapped
R8Unorm and RG8Unorm textures on Metal. Instead it adds a Metal render
pass workaround that renders to a temporary texture under certain
conditions, then copies back to the correct mip level.

The texture lazy-clearing code is also changed to use the helper that
does workarounds for Metal render passes.

A test is added that triggers the issue with a small amount of code, but
more extensive coverage is left to the CTS. For example texture_zero
tests caught multiple issues during the creation of this CL.

Bug: dawn:1071

Change-Id: I7ef1151524e71e5a9a8e8f5205d9b554bee438b3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87864
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-04-28 19:00:53 +00:00
..
scripts Fix inclusive language presubmit 2022-04-19 22:25:45 +00:00
BUILD.gn Add CTS telemetry harness support 2022-03-24 00:21:55 +00:00
README.md Add CTS telemetry harness support 2022-03-24 00:21:55 +00:00
expectations.txt Add MetalRenderR8RG8UnormSmallMipToTempTexture workaround 2022-04-28 19:00:53 +00:00
test_page.html Add CTS telemetry harness support 2022-03-24 00:21:55 +00:00
test_runner.js Split large CTS logs 2022-04-14 17:19:11 +00:00

README.md

Running the WebGPU CTS Locally with Chrome

Running the WebGPU CTS locally with Chrome requires a Chromium checkout.

Follow these instructions for checking out and building Chrome. You'll also need to build the telemetry_gpu_integration_test target.

At the root of a Chromium checkout, run: ./content/test/gpu/run_gpu_integration_test.py webgpu_cts --browser=exact --browser-executable=path/to/your/chrome-executable

If you don't want to build Chrome, you can still run the CTS, by passing the path to an existing Chrome executable to the --browser-executable argument. You should still build the telemetry_gpu_integration_test target to support all harness functionality.

Useful command-line arguments:

  • -l: List all tests that would be run.
  • --test-filter: Filter tests. Run --help for more information.
  • --help: See more options.
  • --passthrough --show-stdout: Show browser output. See also --browser-logging-verbosity.
  • --extra-browser-args: Pass extra args to the browser executable.
  • --is-backend-validation: Enable backend validation. TODO: rename this to --backend-validation.