<!--
    This template lives in third_party/blink/web_tests/webgpu/.

    This template is a modified copy of templates/cts.html from the WebGPU CTS.
    https://github.com/gpuweb/cts/blob/master/templates/cts.html

    Once autogenerated, this file functions identically to the default cts.html
    generated by the WebGPU CTS, except it has a custom variant list which
    breaks down the test cases further so that test suppressions can be
    specific to individual tests or test cases.
-->

<!doctype html>
<title>WebGPU CTS</title>
<meta charset=utf-8>
<link rel=help href='https://gpuweb.github.io/gpuweb/'>

<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script type=module src=/wpt_internal/webgpu/common/runtime/wpt.js></script>

<!-- Manually-selected tests to run on worker: -->
<meta name=variant content='?worker=1&q=webgpu:api,operation,buffers,map:*'>
<meta name=variant content='?worker=1&q=webgpu:api,operation,buffers,map_detach:*'>
<meta name=variant content='?worker=1&q=webgpu:api,operation,command_buffer,basic:*'>
<meta name=variant content='?worker=1&q=webgpu:api,operation,command_buffer,compute,basic:*'>
<meta name=variant content='?worker=1&q=webgpu:api,operation,command_buffer,copies:*'>
<meta name=variant content='?worker=1&q=webgpu:api,operation,command_buffer,render,basic:*'>
<meta name=variant content='?worker=1&q=webgpu:api,operation,command_buffer,render,rendering:*'>
<meta name=variant content='?worker=1&q=webgpu:api,operation,command_buffer,render,storeop:*'>
<meta name=variant content='?worker=1&q=webgpu:api,operation,fences:*'>

<!-- Variant list is auto-generated below this line: -->
