diff --git a/tests/wpt/webgpu/meta/MANIFEST.json b/tests/wpt/webgpu/meta/MANIFEST.json
index fce2c9e2efa..590b9025069 100644
--- a/tests/wpt/webgpu/meta/MANIFEST.json
+++ b/tests/wpt/webgpu/meta/MANIFEST.json
@@ -3,28 +3,452 @@
"reftest": {
"webgpu": {
"webgpu": {
- "web-platform": {
+ "web_platform": {
"reftests": {
- "canvas_clear.html": [
- "86a3da939dbe94efbeec04e5d366a40736ca4560",
+ "canvas_clear.https.html": [
+ "3639d3ca82f6faef06d45e63e880d38f35bb25a0",
[
null,
[
[
- "/_webgpu/webgpu/webgpu/web-platform/reftests/ref/canvas_clear-ref.html",
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_clear-ref.html",
"=="
]
],
{}
]
],
- "canvas_complex_bgra8unorm.html": [
- "1310543648e4fd640b0deb227000731af7b88b00",
+ "canvas_colorspace_bgra8unorm.https.html": [
+ "c910c97b1dda05eb9c7c8aa06419b5ed2a7e233c",
[
null,
[
[
- "/_webgpu/webgpu/webgpu/web-platform/reftests/ref/canvas_complex-ref.html",
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_colorspace-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_colorspace_rgba16float.https.html": [
+ "7f57858e491eb7fc3e52cadbc05b19565064f1e1",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_colorspace-ref.html",
+ "=="
+ ]
+ ],
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 1,
+ 1
+ ],
+ [
+ 8192,
+ 8192
+ ]
+ ]
+ ]
+ ]
+ }
+ ]
+ ],
+ "canvas_colorspace_rgba8unorm.https.html": [
+ "e57e04ef5c8e7eee0a2862b50c887984e9d4a6d4",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_colorspace-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_complex_bgra8unorm_copy.https.html": [
+ "d378bdfcf55616b090d4dd2030f6b35cf57bd366",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_complex-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_complex_bgra8unorm_draw.https.html": [
+ "99049e6e326448b4fb9cfa63ce2e44ace243dab8",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_complex-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_complex_rgba16float_copy.https.html": [
+ "400afa121be452010982ba304d08086b37f60547",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_complex-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_complex_rgba16float_draw.https.html": [
+ "a647fc2956b2bdcbc5140cd5d372a322375395a7",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_complex-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_complex_rgba16float_store.https.html": [
+ "b812129b0b6766dc1ed482bc29bf1ee4ea38709d",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_complex-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_complex_rgba8unorm_copy.https.html": [
+ "d2570a3bdf37c770dddd963145e59a2d8ff7aa94",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_complex-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_complex_rgba8unorm_draw.https.html": [
+ "647a8292591861fa5cb269c33d4c5da4df7bdbd7",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_complex-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_complex_rgba8unorm_store.https.html": [
+ "b82745658eef5fec9f0b56b6c2dbbf6ad4c9c340",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_complex-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_composite_alpha_bgra8unorm_opaque_copy.https.html": [
+ "60e8417c1608bb9537f2fc2a9a98a06c3fde17d5",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_opaque-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_composite_alpha_bgra8unorm_opaque_draw.https.html": [
+ "c0280a2a992d27cf9f0c5e4f8bc576880230bcbd",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_opaque-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_composite_alpha_bgra8unorm_premultiplied_copy.https.html": [
+ "70920dc0e6d161949498c05aadfa62b07b5c549f",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_premultiplied-ref.html",
+ "=="
+ ]
+ ],
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 2
+ ],
+ [
+ 0,
+ 400
+ ]
+ ]
+ ]
+ ]
+ }
+ ]
+ ],
+ "canvas_composite_alpha_bgra8unorm_premultiplied_draw.https.html": [
+ "d12751fac211060cf19b20d08f7a68142415b401",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_premultiplied-ref.html",
+ "=="
+ ]
+ ],
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 2
+ ],
+ [
+ 0,
+ 400
+ ]
+ ]
+ ]
+ ]
+ }
+ ]
+ ],
+ "canvas_composite_alpha_rgba16float_opaque_copy.https.html": [
+ "4471f08480e128d980b3b59b306a1cacc4ff36f9",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_opaque-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_composite_alpha_rgba16float_opaque_draw.https.html": [
+ "11f0e73ec23fbe327a4a57ba8f7df7d2bcc17d5b",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_opaque-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_composite_alpha_rgba16float_premultiplied_copy.https.html": [
+ "ed722013c15495c0f1aafc62aa585313985124b3",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_premultiplied-ref.html",
+ "=="
+ ]
+ ],
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 2
+ ],
+ [
+ 0,
+ 400
+ ]
+ ]
+ ]
+ ]
+ }
+ ]
+ ],
+ "canvas_composite_alpha_rgba16float_premultiplied_draw.https.html": [
+ "8a028b168e1c066aa4bb017cd399ad7431eb400e",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_premultiplied-ref.html",
+ "=="
+ ]
+ ],
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 2
+ ],
+ [
+ 0,
+ 400
+ ]
+ ]
+ ]
+ ]
+ }
+ ]
+ ],
+ "canvas_composite_alpha_rgba8unorm_opaque_copy.https.html": [
+ "7147631d1990ba31e85f5d9bd81325fedceebfa0",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_opaque-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_composite_alpha_rgba8unorm_opaque_draw.https.html": [
+ "ec2bb05ed304c2b3bea5cc5f1b35fdb1f7bf0157",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_opaque-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas_composite_alpha_rgba8unorm_premultiplied_copy.https.html": [
+ "fa938aba41f39cffe03b13c662f3feb850a63b16",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_premultiplied-ref.html",
+ "=="
+ ]
+ ],
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 2
+ ],
+ [
+ 0,
+ 400
+ ]
+ ]
+ ]
+ ]
+ }
+ ]
+ ],
+ "canvas_composite_alpha_rgba8unorm_premultiplied_draw.https.html": [
+ "b62e71054c2b1c274febc19d56935d812d2d15e2",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_composite_alpha_premultiplied-ref.html",
+ "=="
+ ]
+ ],
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 2
+ ],
+ [
+ 0,
+ 400
+ ]
+ ]
+ ]
+ ]
+ }
+ ]
+ ],
+ "canvas_image_rendering.https.html": [
+ "f51145645be45edae1636cbd5f8dea69bfb8879c",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/canvas_image_rendering-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "resize_observer.https.html": [
+ "2845cc29ebcdbfc9531cc6485655a272781d77c6",
+ [
+ null,
+ [
+ [
+ "/_webgpu/webgpu/webgpu/web_platform/reftests/ref/resize_observer-ref.html",
"=="
]
],
@@ -45,56 +469,68 @@
"ef0dbfee60ce3e787131ca40e5be64952e578e03",
[]
],
+ "checkout_commit.txt": [
+ "5db12b3c0c240f6567fa294f3fa56dfd75b6e891",
+ []
+ ],
"webgpu": {
"common": {
"framework": {
- "file_loader.js": [
- "b6f3d50859515c47f8a9bdf2f2a9c6158fe104e0",
+ "data_cache.js": [
+ "e426ffbbc91953a3ffcb4f96ab3bca9454a5e0fe",
[]
],
"fixture.js": [
- "fcff2a6bb9fac5fd35d4129f611e3ccb0a4864e3",
+ "1e5f129e6a4c57a38082f9959279d2552d669361",
+ []
+ ],
+ "params_builder.js": [
+ "787911f9649c34e84827fb5fc4cd3fe399d95ba0",
+ []
+ ],
+ "resources.js": [
+ "72eabeda4e46abac4e27068695ab407fb2b06fae",
+ []
+ ],
+ "test_config.js": [
+ "de016471cd2051c8f8348d822e7e2ef41fe431e6",
+ []
+ ],
+ "test_group.js": [
+ "2d1d3c1c07ae7d5815ec2b7db00a0bb4e0eea3e3",
+ []
+ ]
+ },
+ "internal": {
+ "file_loader.js": [
+ "6a74dddf789063b2131d40189a6b0debc747afec",
[]
],
- "gpu": {
- "device_pool.js": [
- "f72b6b734c671ff0316fadfec49e0a93bd16fd10",
- []
- ],
- "implementation.js": [
- "ab118a45444d120e521fbbd3e79d326b0a43beff",
- []
- ]
- },
"logging": {
"log_message.js": [
- "8c1007fa822ddfc2a894540ad9ed041db298b972",
+ "3e5fb1c99d8669a1cd1658675e43334df4993c08",
[]
],
"logger.js": [
- "c4e65c746f04e3dfcb8ef2ed4053bef10250f958",
+ "77b78f0d7588374a2f5d0a13d7894ce4c6d74167",
[]
],
"result.js": [
- "d387dc3e340863c31f6f92d15083544021f7e4c7",
+ "9b2db0e1926f9bcf858cf953612b04cba1966f11",
[]
],
"test_case_recorder.js": [
- "37acb53143c22e9859eb94e1d059916b52274941",
+ "3d60563cfb2b8a6d5d0c3b484b249823b273f581",
[]
]
},
- "params_builder.js": [
- "f585e3a2184fd821e9a4ce4266c1d277b4c5965d",
- []
- ],
"params_utils.js": [
- "d4ffd25372d2d3e975c683ca8a17c2c82d5c8687",
+ "85bb6dbe806101c9630d5efb34c43596f28afbb0",
[]
],
"query": {
"compare.js": [
- "782088752f9cf68d4b7528cd42c72bc084380be3",
+ "7e86f6c0f3b22ffbc3512af1ad507b650a68e59c",
[]
],
"encode_selectively.js": [
@@ -102,15 +538,15 @@
[]
],
"json_param_value.js": [
- "921b3ddce6aacde8e3b05d4133dc07ffb90842f8",
+ "ddc0994e5707c844e3bef1e85ca2f3926a03e979",
[]
],
"parseQuery.js": [
- "8bfd88bc9b66a41e08b3283b13b65bb3da0c10fe",
+ "b9f5ac2034a529ff1dd2f0900ed19e646617a8d5",
[]
],
"query.js": [
- "0a9742055eb29f987958c1cc4d66a1cf4910f74b",
+ "b7db9fe4a59d01cf13e90ecefaf6c4be40e13d99",
[]
],
"separators.js": [
@@ -118,7 +554,7 @@
[]
],
"stringify_params.js": [
- "b9c9cde7067b8cfc2fe2ad59d9d3c7fde3d38733",
+ "b62bc9169368c03b28f3cde6ab351beba38cfe8c",
[]
],
"validQueryPart.js": [
@@ -126,311 +562,2133 @@
[]
]
},
+ "stack.js": [
+ "98636bd401414c8ad6bb64413c4c84d1f30272fa",
+ []
+ ],
"test_group.js": [
- "4515bca19b70a701b2c32f2894b61b330d8e95ba",
+ "d9c632a47ff47dd2b54209f6854e8a0908212ac8",
[]
],
"test_suite_listing.js": [
- "d387dc3e340863c31f6f92d15083544021f7e4c7",
+ "9b2db0e1926f9bcf858cf953612b04cba1966f11",
[]
],
"tree.js": [
- "87ff0d227e169c75255e0738af90946716f20134",
+ "9c2bf8cb114208df0fa9c7ebc6e64b392baec4bd",
+ []
+ ],
+ "util.js": [
+ "66979fbc30829c106a9682b8ce4dbbc27fff6dc5",
[]
],
- "util": {
- "async_mutex.js": [
- "da461048fc495b118def36bff846e02be4268346",
- []
- ],
- "collect_garbage.js": [
- "d18982a2758e46634995ce7ac692918a0620a800",
- []
- ],
- "stack.js": [
- "00d08642d1534ea678f101c6d1627c5265df76bc",
- []
- ],
- "timeout.js": [
- "db1e5cfa1ae71e8c7fded6655b388441f4f851da",
- []
- ],
- "util.js": [
- "e7479046bee2e30f1116c1ab9f7d1e19ea6d82b4",
- []
- ]
- },
"version.js": [
- "74eef63b8a1fa6042d1d8352b25eaf95d4b25985",
+ "2d205096c7caabd861a59a3ccd8c6b82fffe6044",
[]
]
},
"runtime": {
"helper": {
"options.js": [
- "e70671a56319af57068da4c201c4868822da4564",
+ "946c0bdc11945b4e36315821af5375289f1d9156",
[]
],
"test_worker-worker.js": [
- "2402c6c3ab7b978e1e093cc20be9c8cef75b9ca8",
+ "5b490252fdf58deb9e22560164ad247cc5273345",
[]
],
"test_worker.js": [
- "f844920b50dc80340430cf0f42e54369d557a6ca",
+ "c56339ab97e84f726593c1b8c7dbb4d8b7ba383d",
[]
]
},
"wpt.js": [
- "5749159538dc7c08dd98f6b966054e2695d77437",
+ "90294223c098baef73e68c63f1cc5f9700276ffb",
+ []
+ ]
+ },
+ "util": {
+ "collect_garbage.js": [
+ "2696caf79e08b2c9613e7349c2ed4a5dc022e375",
+ []
+ ],
+ "colors.js": [
+ "f77ba765562bd8241aa5dce5b4a7fa49a3857107",
+ []
+ ],
+ "data_tables.js": [
+ "c5d21d400174bb34259dac1ed4b526ff2f59fcb3",
+ []
+ ],
+ "navigator_gpu.js": [
+ "c37c2bc36a9a4c57a89e98e3fead17a937e1140a",
+ []
+ ],
+ "preprocessor.js": [
+ "455406de0682bcddce8ac8fd43dd2230dd5a7e89",
+ []
+ ],
+ "timeout.js": [
+ "77605fc8dedd02c28cbf7206bc7a68362786a05e",
+ []
+ ],
+ "types.js": [
+ "e4aaa93ec9eee6d2c0cc51f47abf541e2a1ff37f",
+ []
+ ],
+ "util.js": [
+ "86e14af06e000a6abd772fe0d2c019dab275c8ef",
+ []
+ ],
+ "wpt_reftest_wait.js": [
+ "b41b3cadf9792effb7db6e983ebc912d8dd6d038",
[]
]
}
},
+ "external": {
+ "petamoriken": {
+ "float16": {
+ "float16.d.js": [
+ "9b2db0e1926f9bcf858cf953612b04cba1966f11",
+ []
+ ],
+ "float16.js": [
+ "58f75c873a6bf1bca38e2e6591fe77691d567f19",
+ []
+ ]
+ }
+ }
+ },
+ "resources": {
+ "README.md": [
+ "824f82b998f2bd7d650b18428f8dd24d715e9e92",
+ []
+ ],
+ "four-colors-h264-bt601-rotate-180.mp4": [
+ "1f0e9094a5287a1b59de74269f99b844c0a25578",
+ []
+ ],
+ "four-colors-h264-bt601-rotate-270.mp4": [
+ "e0480ceff2f81e094e8a6c002db31d2242cbf918",
+ []
+ ],
+ "four-colors-h264-bt601-rotate-90.mp4": [
+ "9a6261056e91dcfc66d4f15d5b6888df90ae8a3a",
+ []
+ ],
+ "four-colors-h264-bt601.mp4": [
+ "81a5ade4354cfb328af4127a5579e87900d2965e",
+ []
+ ],
+ "four-colors-theora-bt601.ogv": [
+ "79ed41163c3bcec6e117c9935143bd51fdb55fa1",
+ []
+ ],
+ "four-colors-vp8-bt601.webm": [
+ "20a2178596e9890d445aa5177475623501d00827",
+ []
+ ],
+ "four-colors-vp9-bt601.webm": [
+ "a4044a920981a37eb307235359c96972504f2853",
+ []
+ ],
+ "four-colors-vp9-bt709.webm": [
+ "189e422035c7769e74bdbd46c546bc4876d0b0d9",
+ []
+ ],
+ "four-colors.png": [
+ "c26c3d48654edf48a8577d4406c29a6e7d4a85f2",
+ []
+ ],
+ "webgpu.png": [
+ "eec0d6eb90f9862cd8a9c9b9abdcdc336d1aa6f7",
+ []
+ ]
+ },
"webgpu": {
"api": {
"operation": {
+ "adapter": {
+ "requestAdapter.spec.js": [
+ "df1ad4dd0fda4c0b61a7a29939b72aa987e4a2e8",
+ []
+ ],
+ "requestAdapterInfo.spec.js": [
+ "c00a68176260d8b3e961552f82a22883263cce38",
+ []
+ ],
+ "requestDevice.spec.js": [
+ "3472603c8de281988668d07a755f3c8e18ec608f",
+ []
+ ]
+ },
"buffers": {
"map.spec.js": [
- "f751b721d5f87013334e9e240ca517c6447a84f5",
+ "48ad500e784ae81e54b6a8ab0585c615723f874c",
+ []
+ ],
+ "map_ArrayBuffer.spec.js": [
+ "d006e4048621be7a0c328717b1bec7853d77bd87",
[]
],
"map_detach.spec.js": [
- "aca8dc46e5797b9c31ee682e7ce04d12a2644b79",
+ "57d395f7b36a0a9c4f896433f73e8c9cf8220f9e",
[]
],
"map_oom.spec.js": [
- "205f1147ed2b4304e21f8713126e69227ae48d3b",
+ "86fd574199fae3a76776191a372d9977a0ba6545",
[]
],
"mapping_test.js": [
- "45ce419a69d4accb2ac1b36f82a2065ce16a900e",
+ "7a69968a9f962bc20df3bbfe580d53aa0bc0f72f",
+ []
+ ],
+ "threading.spec.js": [
+ "d30e5813b36fa9b735e8bc2dced8317d9a628172",
[]
]
},
"command_buffer": {
"basic.spec.js": [
- "7f4dd29b24ff8280b7aaede344b42bb5edca4d19",
+ "55d6ac553550931d71461d1a9c67353a313249bc",
[]
],
- "copies.spec.js": [
- "a6ecc3c9c2973b1f46704f77d255d9f185cabc31",
+ "clearBuffer.spec.js": [
+ "b721cdcc2bc14554d6e98b018019f64f2a9b4440",
[]
],
+ "copyBufferToBuffer.spec.js": [
+ "a08050784bc21b273a4d76c16d65bd5ed1e62360",
+ []
+ ],
+ "copyTextureToTexture.spec.js": [
+ "1b42190334f2cc1ce783828857379c7e33e8d53a",
+ []
+ ],
+ "image_copy.spec.js": [
+ "bb5eda5d90c5df6c6c2b78f2121c8ff414c78c71",
+ []
+ ],
+ "programmable": {
+ "programmable_state_test.js": [
+ "e263adf8ea6b2367855e4c5a56463de4e50be1d7",
+ []
+ ],
+ "state_tracking.spec.js": [
+ "04280d540833a604fc92645ae8262e669f284081",
+ []
+ ]
+ },
+ "queries": {
+ "occlusionQuery.spec.js": [
+ "c142beabc71b17d12ab2343804038f7c0d7cdf37",
+ []
+ ]
+ },
"render": {
- "basic.spec.js": [
- "d3913ef5752b277c62e4f451923231c6d55ff947",
+ "dynamic_state.spec.js": [
+ "69c91e371d4e7ed5efc4281591bac1b60283f755",
+ []
+ ],
+ "state_tracking.spec.js": [
+ "d50c4f794b4b7d2be6db3cce1b33c673fe115c9d",
[]
]
}
},
- "copyBetweenLinearDataAndTexture.spec.js": [
- "d2b89189e2c65d50f4f6f0c20f32a7f6512c5b35",
+ "compute": {
+ "basic.spec.js": [
+ "a8859e6845d6dd4d68c3bd0eca5fbb3c28f0dc7f",
+ []
+ ]
+ },
+ "compute_pipeline": {
+ "entry_point_name.spec.js": [
+ "ddd6b8850df4612a68612afd2255296200f9ef20",
+ []
+ ],
+ "overrides.spec.js": [
+ "a323b97eff56e53ce0e31de32c955f20ffd40cce",
+ []
+ ]
+ },
+ "device": {
+ "lost.spec.js": [
+ "2b5d7a2d1751dab95d24e5c9b9fdc2c5822960bf",
+ []
+ ]
+ },
+ "labels.spec.js": [
+ "ddd2ab0e15583647ae7ba9d2d0393dbc0b648c26",
[]
],
- "fences.spec.js": [
- "98f913008b8af33e1dc866f5714388d4ec9e050d",
+ "memory_sync": {
+ "buffer": {
+ "buffer_sync_test.js": [
+ "e6196c7f609b39b04c7a18003b482155992e2cff",
+ []
+ ],
+ "multiple_buffers.spec.js": [
+ "49cbba0b7c09303ee23989919fdd5193525685f1",
+ []
+ ],
+ "single_buffer.spec.js": [
+ "fede1375e83589dc5a50d22ed4a7aae584763b54",
+ []
+ ]
+ },
+ "operation_context_helper.js": [
+ "222d06fac926165724e0ca1b583c040d0fa012d2",
+ []
+ ],
+ "texture": {
+ "same_subresource.spec.js": [
+ "0dcd7f90af40131199193186c235921dd910941b",
+ []
+ ],
+ "texture_sync_test.js": [
+ "35b868eaa469c53cf3f659a3aebf0200fe4d001e",
+ []
+ ]
+ }
+ },
+ "onSubmittedWorkDone.spec.js": [
+ "6f549c73adeb38b1553242484f42c228b22e943a",
+ []
+ ],
+ "pipeline": {
+ "default_layout.spec.js": [
+ "7d441d2c9dee5a9121bb6dc19812b9542f659309",
+ []
+ ]
+ },
+ "queue": {
+ "writeBuffer.spec.js": [
+ "4e59843c95ed5d5e583d524fb968339ea06670fe",
+ []
+ ]
+ },
+ "reflection.spec.js": [
+ "f2e53d68f7342e394a0c70ba9e75afbc34a44e15",
[]
],
"render_pass": {
+ "clear_value.spec.js": [
+ "7f8749d7edb3bbe8b3a0492e0dd4abdc3b7bec76",
+ []
+ ],
+ "resolve.spec.js": [
+ "c9984c65fe0f9265a3c38c3c8353ee0cbcfa01aa",
+ []
+ ],
"storeOp.spec.js": [
- "83ae8657c1c822b6cfc8f511089de88dfd2d8fdc",
+ "f50a0a05902c931e3d5a014ac9578c9ee8f75995",
+ []
+ ],
+ "storeop2.spec.js": [
+ "61bb1ea5548e71d455b4260818b18246b0b30494",
+ []
+ ]
+ },
+ "render_pipeline": {
+ "culling_tests.spec.js": [
+ "f03ad7e86f45c74c9e5f778f0105def23b6481f4",
+ []
+ ],
+ "overrides.spec.js": [
+ "dcc76eb8d06a87d0c6150cba39017793bee6effe",
+ []
+ ],
+ "pipeline_output_targets.spec.js": [
+ "e28bcdb72008d7bc4b432c27f703b76768c2628f",
+ []
+ ],
+ "primitive_topology.spec.js": [
+ "bf188dd5f477f275badc72f67a9aab9937daff7f",
+ []
+ ],
+ "sample_mask.spec.js": [
+ "7ceffee00ee752b53dad3b7aa44bdf094db8edcd",
+ []
+ ],
+ "vertex_only_render_pipeline.spec.js": [
+ "eb6e3611969230a203143b7cf9c54706415a2ec1",
+ []
+ ]
+ },
+ "rendering": {
+ "basic.spec.js": [
+ "a850903b9e1f5864fa5e5b6740161ab2a2f7bf03",
+ []
+ ],
+ "color_target_state.spec.js": [
+ "4c648d1c1e9739af25cc3ed26c144b8621884018",
+ []
+ ],
+ "depth.spec.js": [
+ "53e28bf32b9264da5eb4a03af04559c2361dd762",
+ []
+ ],
+ "depth_bias.spec.js": [
+ "e1e8f5d285e09f320c83c36b15c5cd4ee46d452e",
+ []
+ ],
+ "depth_clip_clamp.spec.js": [
+ "f9ecfdcedc5cfc2f3d54cd2aea26abcbf15cd1ad",
+ []
+ ],
+ "draw.spec.js": [
+ "e565f78fd8e568ca66b075865bf980c1f0cb6324",
+ []
+ ],
+ "indirect_draw.spec.js": [
+ "15d227809a8028bd95e803c7559dbe5d72f8a70c",
+ []
+ ],
+ "robust_access_index.spec.js": [
+ "6b052b895d4f9fa1b26bb06dd6543b069964181c",
+ []
+ ],
+ "stencil.spec.js": [
+ "fd4adf84329c661cf7c2a228c4155d1cb40a5614",
[]
]
},
"resource_init": {
- "copied_texture_clear.spec.js": [
- "28fb5b368e317ef68ba6a3ec854729c3ca8cfb0e",
+ "buffer.spec.js": [
+ "0008f0dafea639f8b7d0e1d2e4145dd83db7177a",
[]
],
- "texture_zero_init_test.js": [
- "381d7dcb0a8e9574834629223308c7ef0e375b4b",
+ "check_texture": {
+ "by_copy.js": [
+ "0f363d25a9b119135c8bd0b1971ce95ed211e30a",
+ []
+ ],
+ "by_ds_test.js": [
+ "84d63563ec1b922c4de6bcaaa49e95bd5bb5a13d",
+ []
+ ],
+ "by_sampling.js": [
+ "476b689315f7b3ea0bf24e8398f4e0c70833df18",
+ []
+ ]
+ },
+ "texture_zero.spec.js": [
+ "33a0d49d31dd8bca4263bb77cdacf1da5c7942cd",
+ []
+ ]
+ },
+ "sampling": {
+ "anisotropy.spec.js": [
+ "43fb17a51eedcac4c6c7ecf19c0929dc6081e611",
+ []
+ ],
+ "filter_mode.spec.js": [
+ "e67e308f1819a2b4b1ba80312ee841957ab15ec3",
+ []
+ ],
+ "lod_clamp.spec.js": [
+ "b05896a34d9b62f9d36403ed14a4aa47adcf62cf",
+ []
+ ]
+ },
+ "shader_module": {
+ "compilation_info.spec.js": [
+ "26a314fbc795341f19551f2a58941140791fad27",
+ []
+ ]
+ },
+ "texture_view": {
+ "format_reinterpretation.spec.js": [
+ "69c4dd68e3c0e45faf2e1f2c0370db7266ecb84e",
+ []
+ ],
+ "read.spec.js": [
+ "96884efec510782ab67b131bb389721296dfa2a8",
+ []
+ ],
+ "write.spec.js": [
+ "3a47c0360ebeb94379db9313d08d3dad003c2069",
+ []
+ ]
+ },
+ "uncapturederror.spec.js": [
+ "acd39ae972f2d1c0fa08e842c406d7490ba5c555",
+ []
+ ],
+ "vertex_state": {
+ "correctness.spec.js": [
+ "0d6ffc853efacfd55afcec787250f4fa327ac7cc",
+ []
+ ],
+ "index_format.spec.js": [
+ "5e06d0705dd1dc2cc5553aa0de4f3b10f96b0082",
[]
]
}
},
"validation": {
- "copyBufferToBuffer.spec.js": [
- "5fd4877383a47b1e3ca27af8e0843781dbf5a443",
- []
- ],
- "copy_between_linear_data_and_texture": {
- "copyBetweenLinearDataAndTexture.js": [
- "0db6e68d4af6e395ba07157fd4b1ed0c567fd182",
+ "buffer": {
+ "create.spec.js": [
+ "c8a39346edf52cba008407921fa9d44c7c7bfdf4",
[]
],
- "copyBetweenLinearDataAndTexture_dataRelated.spec.js": [
- "be1395b664276f13a728a60acee835d96753e6e1",
+ "destroy.spec.js": [
+ "13572c50959fe07dccd1c9b6a2d2d4c2af181a6b",
[]
],
- "copyBetweenLinearDataAndTexture_textureRelated.spec.js": [
- "bef71943fae2bc6f0dcaa4ae53b744190ccdc00c",
+ "mapping.spec.js": [
+ "85e8210708387f8c2dd43205efd90c457a998051",
+ []
+ ],
+ "threading.spec.js": [
+ "46256ab73d4f82f7bb095adcb628bb65b0d87076",
[]
]
},
+ "capability_checks": {
+ "features": {
+ "query_types.spec.js": [
+ "de90d0bb1b8c7668c6ff34d7cbf1adccc937ad60",
+ []
+ ],
+ "texture_formats.spec.js": [
+ "b281643a12cf0b04e91438332278a3e3f5d8a614",
+ []
+ ]
+ },
+ "limits": {
+ "limit_utils.js": [
+ "56c58f43d79518db73d5d722cf240fab80140c58",
+ []
+ ],
+ "maxBindGroups.spec.js": [
+ "bd13235b8b7e223f4e73e6abc31a887200679941",
+ []
+ ],
+ "maxBindingsPerBindGroup.spec.js": [
+ "ebc2e8c07d9ae6f44a32826fdc49e87424a2e2b4",
+ []
+ ],
+ "maxBufferSize.spec.js": [
+ "2f232776fcce874ef3483854c7bf7c0f9968ec85",
+ []
+ ],
+ "maxColorAttachmentBytesPerSample.spec.js": [
+ "5d93d1b969e0c7c9c12e7c7e66d7d34c8bdd3497",
+ []
+ ],
+ "maxColorAttachments.spec.js": [
+ "38520d8394496346b1c8a8ee751b26beea4f861d",
+ []
+ ],
+ "maxComputeInvocationsPerWorkgroup.spec.js": [
+ "68f19bd17eccfa98f59e7c213a45d78e680a4457",
+ []
+ ],
+ "maxComputeWorkgroupSizeX.spec.js": [
+ "877e0cd7c5098e176b67d70039ef26ece11b475c",
+ []
+ ],
+ "maxComputeWorkgroupSizeY.spec.js": [
+ "b4dbd592dedbccf2870c44fb12e40a0bda585d73",
+ []
+ ],
+ "maxComputeWorkgroupSizeZ.spec.js": [
+ "b77ffb9d316c5202d247fc16e81ed8c1b3a8d26b",
+ []
+ ],
+ "maxComputeWorkgroupStorageSize.spec.js": [
+ "c4f2a3c6c38333fcd4a6aa0110cbb32243963087",
+ []
+ ],
+ "maxComputeWorkgroupsPerDimension.spec.js": [
+ "f988ac77ee3aa835c1dad983d6ba29dc97113d76",
+ []
+ ],
+ "maxDynamicStorageBuffersPerPipelineLayout.spec.js": [
+ "4b2eb04ae29c494d1ca5421ed1bd4792741e0f55",
+ []
+ ],
+ "maxDynamicUniformBuffersPerPipelineLayout.spec.js": [
+ "81d7350ab537dc8bfc5ef60a595a3ab55127d824",
+ []
+ ],
+ "maxInterStageShaderComponents.spec.js": [
+ "a8c3bb219d67bcdf8cc82edf264b1ea2b184ce1d",
+ []
+ ],
+ "maxInterStageShaderVariables.spec.js": [
+ "ccba23d513b2800c0e3e78a101dc4fe998336ae4",
+ []
+ ],
+ "maxSampledTexturesPerShaderStage.spec.js": [
+ "24c19427989dcfe31454eea038defc345ad28522",
+ []
+ ],
+ "maxSamplersPerShaderStage.spec.js": [
+ "cc53aff55ab01a09e114ffced96d08a8fb7540a6",
+ []
+ ],
+ "maxStorageBufferBindingSize.spec.js": [
+ "836b54827a61d818a5414eee4bc24cebf063f673",
+ []
+ ],
+ "maxStorageBuffersPerShaderStage.spec.js": [
+ "866b920f83ab2b96707ab06295d6e0969fb64d36",
+ []
+ ],
+ "maxStorageTexturesPerShaderStage.spec.js": [
+ "c3bef558630a7777e9e4264835c2ab93ada8cab7",
+ []
+ ],
+ "maxTextureArrayLayers.spec.js": [
+ "4ec58b166005c2aaa0b00c6a737283946a85d1e1",
+ []
+ ],
+ "maxTextureDimension1D.spec.js": [
+ "a7f6ab02713f7a0bbc4e1f1ae087ee574fb01ecb",
+ []
+ ],
+ "maxTextureDimension2D.spec.js": [
+ "69313ca15dffaf3cfb9fc1368090fc9e0aed5159",
+ []
+ ],
+ "maxTextureDimension3D.spec.js": [
+ "fa3f13ddf3a8686f8948b5fd0bac73107420efd5",
+ []
+ ],
+ "maxUniformBufferBindingSize.spec.js": [
+ "af7634f04cfd0bc738215cab47ab2cfac9ea651b",
+ []
+ ],
+ "maxUniformBuffersPerShaderStage.spec.js": [
+ "a676a05ad60143d7e37a416175ecc4500c93fc00",
+ []
+ ],
+ "maxVertexAttributes.spec.js": [
+ "79a44956c15d3527a09098ac418951a11888540e",
+ []
+ ],
+ "maxVertexBufferArrayStride.spec.js": [
+ "a4688ac1acf1f9a34bec47aa3fb482908eaf30d5",
+ []
+ ],
+ "maxVertexBuffers.spec.js": [
+ "306f2c0523ad773ab5207939304f2f13904edc63",
+ []
+ ],
+ "minStorageBufferOffsetAlignment.spec.js": [
+ "cb5b9380848c1184e0bebe48e570d0a72dadb54e",
+ []
+ ],
+ "minUniformBufferOffsetAlignment.spec.js": [
+ "c5003d5c1a0a84c037bb55e1b3bfc95ffe9a1321",
+ []
+ ]
+ }
+ },
+ "compute_pipeline.spec.js": [
+ "30f4abc06363f9554d61b06c5f867562cd9ce6f0",
+ []
+ ],
"createBindGroup.spec.js": [
- "fa585038e39ff6208787ee89bc177bdb13cdc385",
+ "0a6f32322ead65fa335ae6380aa361f9ac7450de",
[]
],
"createBindGroupLayout.spec.js": [
- "43fd923687b68d9214305b04ea1573e044245928",
+ "1693e7646a4c2bbaebd83920481217371a41bf82",
[]
],
"createPipelineLayout.spec.js": [
- "689ddaec883cd639f6cf94ab4d3005a4c4512db5",
+ "4e08be8513ac9ee5ee45f2f10e69b62c01a74b8a",
+ []
+ ],
+ "createSampler.spec.js": [
+ "e49ca260fffadbf3381ac67522a6e331230d72da",
[]
],
"createTexture.spec.js": [
- "ceff54e136ff321bf22a8647790c3263404f6afc",
+ "baf9a655d76c2ea1d584199aa75d79eef4323626",
[]
],
"createView.spec.js": [
- "d5b16563c13d9429bb1da58b9c5dd18279904f3d",
+ "696aef1339ab908c4adc92ce8ccc3718e2c624b4",
[]
],
- "error_scope.spec.js": [
- "64575540e8bde1545565389108067bf4b078cae9",
+ "debugMarker.spec.js": [
+ "f6e247b66b901e0cf330b2647a09c97c3a9910f0",
[]
],
- "fences.spec.js": [
- "b50ebae572d9af8f4edd3f82c051877b6068374e",
- []
- ],
- "queue_submit.spec.js": [
- "4e77076e35089cbdd9ae1ffe04c8f13fd6663f1d",
- []
- ],
- "render_pass": {
- "resolve.spec.js": [
- "78965d9155e999ee19c3e97315502b11676ea838",
+ "encoding": {
+ "beginComputePass.spec.js": [
+ "662b130bda6dbf53b61f3f289145331383732322",
[]
],
- "storeOp.spec.js": [
- "e63540a9ca8afdc536200ebcfc8e955674b7a018",
+ "beginRenderPass.spec.js": [
+ "9f0bd59e6b887ba54caa8d5e0ef2da7834a2ff28",
+ []
+ ],
+ "cmds": {
+ "clearBuffer.spec.js": [
+ "c788d2a0de945cd805a944c210d31611728c177f",
+ []
+ ],
+ "compute_pass.spec.js": [
+ "042c306786763a2102f57b045dacfc11a3fd7833",
+ []
+ ],
+ "copyBufferToBuffer.spec.js": [
+ "cdd011638744e3248bafc5582ad5eafe5d7948f5",
+ []
+ ],
+ "copyTextureToTexture.spec.js": [
+ "845c871a216c8959f566c7c2d86268611e2758ef",
+ []
+ ],
+ "debug.spec.js": [
+ "f923b68d8dfb90586baf2411e08eb06ed502b624",
+ []
+ ],
+ "index_access.spec.js": [
+ "1aa7ff1c12d4a1e529a82d8b2b33ef697011eb7e",
+ []
+ ],
+ "render": {
+ "draw.spec.js": [
+ "2b8542b7c7215939ebfd93192eba732aa9083926",
+ []
+ ],
+ "dynamic_state.spec.js": [
+ "690c3313a3e8c944a688cc96069d241c1d59fb32",
+ []
+ ],
+ "indirect_draw.spec.js": [
+ "2e65bb9555f1516041e4b70bb9e0e1f27f716482",
+ []
+ ],
+ "render.js": [
+ "ce8cae256e8ee7311eb3cf681aaeb60209953e4b",
+ []
+ ],
+ "setIndexBuffer.spec.js": [
+ "4bcef96241600efaf3a583937c8c3e8d1abf2679",
+ []
+ ],
+ "setPipeline.spec.js": [
+ "1604195b14f6fd8058fd0623cd18d06815e529d5",
+ []
+ ],
+ "setVertexBuffer.spec.js": [
+ "3c3055d53016becfbfdb44507d6113ddc1af2ced",
+ []
+ ],
+ "state_tracking.spec.js": [
+ "f560a5693f18c01742f17eba01e71ed55c9895da",
+ []
+ ]
+ },
+ "render_pass.spec.js": [
+ "52e2a75514133c51270a66b54d5ff5fb4e261551",
+ []
+ ],
+ "setBindGroup.spec.js": [
+ "ebf36911298e9d41e5763ba7f053649c9fed1f67",
+ []
+ ]
+ },
+ "createRenderBundleEncoder.spec.js": [
+ "1c9c9ad1d4b8284a1c56bcd63507acdf2037a6a0",
+ []
+ ],
+ "encoder_open_state.spec.js": [
+ "71741b63c9664b5d5309efc3b751e524f5b36d71",
+ []
+ ],
+ "encoder_state.spec.js": [
+ "fe0333ac21b68e27b359edfe51cbef797858fcf4",
+ []
+ ],
+ "programmable": {
+ "pipeline_bind_group_compat.spec.js": [
+ "80528d666e473bd3cae7b7c76fa2e58423c00614",
+ []
+ ]
+ },
+ "queries": {
+ "begin_end.spec.js": [
+ "040b2790a18980930b00e87f24b1fdec75602237",
+ []
+ ],
+ "common.js": [
+ "4284b2a318d8c5504758740a43d980cbf52e6523",
+ []
+ ],
+ "general.spec.js": [
+ "bb5722d4f06d652905f0634631a246954b914764",
+ []
+ ],
+ "pipeline_statistics.spec.js": [
+ "394c2beb0b405bcb4ed655d9f635c56fe4db6e49",
+ []
+ ],
+ "resolveQuerySet.spec.js": [
+ "54b1b0e11249b2ca64f855545cee7423b55c071c",
+ []
+ ]
+ },
+ "render_bundle.spec.js": [
+ "45b75ae45a831941a68a678197ea170e3b503503",
[]
]
},
- "render_pass_descriptor.spec.js": [
- "6b2b8c54b784620b65d213b9cddf4b803fbeba3a",
+ "error_scope.spec.js": [
+ "8f9278d92e36e1ab54fad2776b15ebda79594fd0",
[]
],
+ "getBindGroupLayout.spec.js": [
+ "96b5675b176142584369c8c19c746b64c31f55ed",
+ []
+ ],
+ "gpu_external_texture_expiration.spec.js": [
+ "a9dbd9018c272cebab73c83ce912531a42e5c1fb",
+ []
+ ],
+ "image_copy": {
+ "buffer_related.spec.js": [
+ "23e98336bfd3d529198cbbfa8c5537d479635399",
+ []
+ ],
+ "buffer_texture_copies.spec.js": [
+ "be77f994a094c1da96c4b656ce57c08e2afbbcfb",
+ []
+ ],
+ "image_copy.js": [
+ "b1c3bd753770ccb2c1f4ddc71909bf74a5783e29",
+ []
+ ],
+ "layout_related.spec.js": [
+ "6ec70eb1523a6b4dcf997f60c2d960bdcb61af9d",
+ []
+ ],
+ "texture_related.spec.js": [
+ "d2d1b64eea2e978b5021b8e322c063c39b15a763",
+ []
+ ]
+ },
+ "layout_shader_compat.spec.js": [
+ "376d30f3ff3ef6e632379e3d6a6c3c1ffde78964",
+ []
+ ],
+ "query_set": {
+ "create.spec.js": [
+ "762f1880040e8005bd80fe40ec9c45840ba781d3",
+ []
+ ],
+ "destroy.spec.js": [
+ "197d36e7227f4f173a5ddb1a23a26933f0532b35",
+ []
+ ]
+ },
+ "queue": {
+ "buffer_mapped.spec.js": [
+ "b7a1b8284b57a02323e03e0dbb54bba8e90c9572",
+ []
+ ],
+ "copyToTexture": {
+ "CopyExternalImageToTexture.spec.js": [
+ "b1531c0950d6b593ce004680c8dd2024dc3052d3",
+ []
+ ]
+ },
+ "destroyed": {
+ "buffer.spec.js": [
+ "51da169c7a50069e9eef21a431d09bbd674470b8",
+ []
+ ],
+ "query_set.spec.js": [
+ "a7dc93613d8f7091fe1964492c82beb7bbb690c6",
+ []
+ ],
+ "texture.spec.js": [
+ "75bce17211be814fc6aa648d9854b40b07bc8a0e",
+ []
+ ]
+ },
+ "submit.spec.js": [
+ "09d36ea983ee104224bd7a0446b6cc9cfd43818b",
+ []
+ ],
+ "writeBuffer.spec.js": [
+ "92e4de6d0c0ed1eb43f26e839b6109a5f8b81835",
+ []
+ ],
+ "writeTexture.spec.js": [
+ "6882a32b0cd0b8b74aff0a81448d3978f76ce17a",
+ []
+ ]
+ },
+ "render_pass": {
+ "attachment_compatibility.spec.js": [
+ "d12fbfb463477bc69422d75fc67bcdbbac44fbd2",
+ []
+ ],
+ "render_pass_descriptor.spec.js": [
+ "81501a388abf51e1759d9626d61531ffce3bbef5",
+ []
+ ],
+ "resolve.spec.js": [
+ "7f160ec0a737d0d432b554b607b7a85ce6e9c049",
+ []
+ ]
+ },
+ "render_pipeline": {
+ "common.js": [
+ "0cffe7a60df58becaa62f319ce171b172a16200d",
+ []
+ ],
+ "depth_stencil_state.spec.js": [
+ "bfb1a1696c35c40203fadde796eb44459ba0b496",
+ []
+ ],
+ "fragment_state.spec.js": [
+ "ade2ebecee728425b3d013431105a68869b2fd2d",
+ []
+ ],
+ "inter_stage.spec.js": [
+ "c081657f82e0b647039fac7dc1a65840d0d89637",
+ []
+ ],
+ "misc.spec.js": [
+ "4868df06ccf2b19dfa77bdddfcae5894db6112e5",
+ []
+ ],
+ "multisample_state.spec.js": [
+ "cdf20468315d28526dbf3f84518037938cba8c81",
+ []
+ ],
+ "overrides.spec.js": [
+ "bc3d494845874b2aec9d26fa68e95809b542e555",
+ []
+ ],
+ "primitive_state.spec.js": [
+ "16cc827fd2c18bf34587d61d07db0b94cc542584",
+ []
+ ],
+ "shader_module.spec.js": [
+ "d3b7c220930197c505c92b5e85b83c556c3f64d4",
+ []
+ ],
+ "vertex_state.spec.js": [
+ "fe735f042f8addcc11148ddfd8a3c5b3c23b7af8",
+ []
+ ]
+ },
"resource_usages": {
- "textureUsageInRender.spec.js": [
- "b036245663df8d684067eff7c79861253205dbca",
+ "buffer": {
+ "in_pass_encoder.spec.js": [
+ "dc65905d94bbf035de389efa00de3effd4e1a84b",
+ []
+ ],
+ "in_pass_misc.spec.js": [
+ "aab27f354e967d7098f85f5a5c63a8bf12e556e4",
+ []
+ ]
+ },
+ "texture": {
+ "in_pass_encoder.spec.js": [
+ "6c6588259f1d07b93630ae9e4c9fb1a160e0de81",
+ []
+ ],
+ "in_render_common.spec.js": [
+ "f8f27fe78b944b351819d5eb0a9f0872ef564b1f",
+ []
+ ],
+ "in_render_misc.spec.js": [
+ "83d427982bdcd0efe10a1be2e66e4ebaacf64c98",
+ []
+ ]
+ }
+ },
+ "shader_module": {
+ "entry_point.spec.js": [
+ "6daa94f6bf6afcf383d790ba0a61ef39b0daa48c",
+ []
+ ],
+ "overrides.spec.js": [
+ "718c966bd106d1b6738bcf5e10d27c82d15934a9",
+ []
+ ]
+ },
+ "state": {
+ "device_lost": {
+ "destroy.spec.js": [
+ "0029128d03ad0e3a73f5ab05d86503db416e6195",
+ []
+ ]
+ }
+ },
+ "texture": {
+ "bgra8unorm_storage.spec.js": [
+ "7dcb15fb23a8a7dcd2e0e7f621ef9dc95f9ff308",
+ []
+ ],
+ "destroy.spec.js": [
+ "056b3529385ab2315fa77f7a4fdb2d7942ad2ba5",
+ []
+ ],
+ "float32_filterable.spec.js": [
+ "1cf5f0a95ea041e48b139dff22e4d4b7d9d1af69",
+ []
+ ],
+ "rg11b10ufloat_renderable.spec.js": [
+ "174a2b1acbf37d465560719e31a9bf4022fd9139",
[]
]
},
- "setBindGroup.spec.js": [
- "fca85a83b0e5cf94d7950139c021ca6954e0e2ad",
- []
- ],
- "setBlendColor.spec.js": [
- "8a302fffd9807b5bf8ae1b6540f9af1b7c4425b8",
- []
- ],
- "setScissorRect.spec.js": [
- "c049e92e70e3ad9a5f71f88a863e5a86cc74fc4e",
- []
- ],
- "setStencilReference.spec.js": [
- "f79a24044952c705004d254c81c31fd60967c54e",
- []
- ],
- "setViewport.spec.js": [
- "e2ef691b821825b9fa3c9fa5072dc734ec34d236",
- []
- ],
"validation_test.js": [
- "c6cd14779bbb7b95e37bdb93d3f5be33902be6c2",
+ "b7cbdf040639c27ba61495507136daf599cfcaf8",
[]
]
}
},
"capability_info.js": [
- "10a8c5aa4b62c05830eabb33734d866939258ade",
+ "681128f34eb8936ea846ff9e611154e56fe41b47",
+ []
+ ],
+ "constants.js": [
+ "ff512c3f6bcf43b2d095c7d0066e175fe41a70e5",
[]
],
"examples.spec.js": [
- "32825367009ab0c4427821a013e913480ba38863",
+ "ef61d3a40d08679543f12f0bda0f11b8cb089867",
+ []
+ ],
+ "format_info.js": [
+ "5aebecddba99376dccdd86ccb0bd6b4dac17cad1",
[]
],
"gpu_test.js": [
- "21cb10f1429e495b2f32b1d51a09b8584f63707d",
+ "b9d5c28d762cd056588c27adfe37e757b0b086b5",
[]
],
"idl": {
"constants": {
"flags.spec.js": [
- "51b80aa8aa23cb987079f6dd228bb0bb68816624",
+ "3002c49b231e53310cac415879d9902c97d8da79",
[]
]
},
+ "exposed.html.js": [
+ "7ac9f2ef50b0a0f937c6bb45db1843dea85394fb",
+ []
+ ],
"idl_test.js": [
- "3943563d2ac2c779e6cfb0ab033b92bca24e5749",
+ "ae6de5376ee52b90bcbbd6c9455ba02e5c33efc2",
[]
]
},
"listing.js": [
- "cbb23b30ec894c103a957f944b18be1e019ed571",
+ "4cb0337621f7b751e454137454472275fcedb86a",
[]
],
- "util": {
- "conversion.js": [
- "bdba99cf7619ec4d66a5890f5566f68bbc6ed82d",
- []
- ],
- "math.js": [
- "4761467b586691662834dd0fbf3e86643a5eb823",
- []
- ],
- "texture": {
- "layout.js": [
- "927798985fc772a4c9e9ea7a62335ab693b43991",
+ "shader": {
+ "execution": {
+ "expression": {
+ "binary": {
+ "binary.js": [
+ "0ed7318f8bae46011db2ec295bea308a58381ef3",
+ []
+ ],
+ "bitwise.spec.js": [
+ "f982cc05df4aac150b665619debaff6cc8647e8b",
+ []
+ ],
+ "bitwise_shift.spec.js": [
+ "be96969d79d6c1a0b3cbfeb27f4cea7c29f72a03",
+ []
+ ],
+ "bool_logical.spec.js": [
+ "4dc5ebe3cc375ed2c399acf05129f984a958ab3f",
+ []
+ ],
+ "f16_comparison.spec.js": [
+ "e1a8d983ece19ceb5345b9ade9cbfa8325e6378b",
+ []
+ ],
+ "f32_addition.spec.js": [
+ "a8ade0fabc708873094dc6ea2eecc9756d4200a8",
+ []
+ ],
+ "f32_comparison.spec.js": [
+ "17f83c7f5b65efb58f1c26d9faba296493abf262",
+ []
+ ],
+ "f32_division.spec.js": [
+ "7beb7132d741551fbbc2491e23bd3efa0e9803b5",
+ []
+ ],
+ "f32_matrix_addition.spec.js": [
+ "f1062c40fd9a0937cbaf3db868f67bd37fa696ba",
+ []
+ ],
+ "f32_matrix_matrix_multiplication.spec.js": [
+ "67c2d6f9f97c99690473eb3ec562b470c8cc20e1",
+ []
+ ],
+ "f32_matrix_scalar_multiplication.spec.js": [
+ "64d2d4af6eb068151cf1acde945bbaccf1c31dd5",
+ []
+ ],
+ "f32_matrix_subtraction.spec.js": [
+ "992a0b80dba0af0f712cd20c99a4341475fbd3db",
+ []
+ ],
+ "f32_matrix_vector_multiplication.spec.js": [
+ "50eab8e6f673b7fb451e5f1930a3acc19d6029e5",
+ []
+ ],
+ "f32_multiplication.spec.js": [
+ "5ad732f498a77520a269b4f174d3580141e51c86",
+ []
+ ],
+ "f32_remainder.spec.js": [
+ "eb55aed951c659bc97c4160e1f2da4c6ce73e10a",
+ []
+ ],
+ "f32_subtraction.spec.js": [
+ "3b0142e9394b828937d22eac59d95c1917a0d9f9",
+ []
+ ],
+ "i32_arithmetic.spec.js": [
+ "2c92f729d430b5f0fda92f9cae5c5720771bb5ca",
+ []
+ ],
+ "i32_comparison.spec.js": [
+ "d02a96b073057cbd56292eb1c9c6ddea91b4326c",
+ []
+ ],
+ "u32_arithmetic.spec.js": [
+ "16a7fd3d39034b3de7bedc64d796f61dd2873b2a",
+ []
+ ],
+ "u32_comparison.spec.js": [
+ "47a67b18e94674f5acc95e76d9e0de39c5cb8ed9",
+ []
+ ]
+ },
+ "call": {
+ "builtin": {
+ "abs.spec.js": [
+ "915a2c16156f757cf5f58c5df9ea35c0c1966653",
+ []
+ ],
+ "acos.spec.js": [
+ "a438fb2e179611366baf146b016d2a266d16e51e",
+ []
+ ],
+ "acosh.spec.js": [
+ "d52b8a7a6dc25b721a7ccc1ed2220ab1a91e02fa",
+ []
+ ],
+ "all.spec.js": [
+ "cb8b32953fff1ab75347997d63d23a9fc6204200",
+ []
+ ],
+ "any.spec.js": [
+ "9f5b4524f1197dbacb26e210d33a551533fbf829",
+ []
+ ],
+ "arrayLength.spec.js": [
+ "09ff436dc531ee1d9ff00f2335f9409878a17646",
+ []
+ ],
+ "asin.spec.js": [
+ "02e2383b62927a5c2241cc76ba2e10dd2ead2808",
+ []
+ ],
+ "asinh.spec.js": [
+ "9dfb7dbfeb620da01f791eb697550babd0c4d21a",
+ []
+ ],
+ "atan.spec.js": [
+ "b2a4f3f8d9f17d8338bc30ff184b30fa75021ed4",
+ []
+ ],
+ "atan2.spec.js": [
+ "735767f9d90a6d57cb16ac03757a8eb18bd04052",
+ []
+ ],
+ "atanh.spec.js": [
+ "975717088ace6b0d89c5aea1fc80ed754891f6ab",
+ []
+ ],
+ "atomics": {
+ "atomicAdd.spec.js": [
+ "612c95df929d0fe8899205e0b332f44396818c36",
+ []
+ ],
+ "atomicAnd.spec.js": [
+ "35ee38c139d759f8041ae011a864282c5050e218",
+ []
+ ],
+ "atomicCompareExchangeWeak.spec.js": [
+ "747b14b8329a3e8a0572b428408f9dc5ea0957b8",
+ []
+ ],
+ "atomicExchange.spec.js": [
+ "c1c347848976d2f9602714d52d6e673b066d0dc4",
+ []
+ ],
+ "atomicLoad.spec.js": [
+ "d2268ad057f31faba4347354fa510f01dd13297e",
+ []
+ ],
+ "atomicMax.spec.js": [
+ "952001610bf25a918cf4a6319c90920dfc407d19",
+ []
+ ],
+ "atomicMin.spec.js": [
+ "cc5928f31b3d35d3b99e52630ad52c9e8f96526c",
+ []
+ ],
+ "atomicOr.spec.js": [
+ "f42e61ba9ea4be78edbe4655a374333da2d4db95",
+ []
+ ],
+ "atomicStore.spec.js": [
+ "e0edaf81b8911ebbe8a164446a96317b86ee78d3",
+ []
+ ],
+ "atomicSub.spec.js": [
+ "ed55959e8e6915e27617bedfc1964f72d0a22f23",
+ []
+ ],
+ "atomicXor.spec.js": [
+ "f82efdd6d3113a85fee9fb9f8273609fe1d04133",
+ []
+ ],
+ "harness.js": [
+ "3704be75b7ee62c005bef96d1caee888c19de7de",
+ []
+ ]
+ },
+ "bitcast.spec.js": [
+ "313a9f42a07b245cc40f1b04ec12bb161c2459dc",
+ []
+ ],
+ "builtin.js": [
+ "b591217cfadf36dd26b28b1b560fc35613824cfb",
+ []
+ ],
+ "ceil.spec.js": [
+ "0182a94962aca24b90d0af35305d17115d904cb5",
+ []
+ ],
+ "clamp.spec.js": [
+ "a6c142754585a3f8835b7c6bedc7b6fcc72cd3cd",
+ []
+ ],
+ "cos.spec.js": [
+ "902b6f64729b37276adc09b6c8858ebb87c2a2d5",
+ []
+ ],
+ "cosh.spec.js": [
+ "a95e3aa5df371f7bbaea05db543129fdecc7eafe",
+ []
+ ],
+ "countLeadingZeros.spec.js": [
+ "51a7a5ee1ee57fc9775ac8714746df311a0bfad9",
+ []
+ ],
+ "countOneBits.spec.js": [
+ "b6a82da5e5f7b12ea98c4f1d2cdc53dedff193ec",
+ []
+ ],
+ "countTrailingZeros.spec.js": [
+ "e0a0421702d0fef9f92a48a577cd88adecc4f10b",
+ []
+ ],
+ "cross.spec.js": [
+ "1cbc17b9e4b9819c604934ddc5c0d9feb16cf13e",
+ []
+ ],
+ "degrees.spec.js": [
+ "4867282d29da870d3dd5b3784e8fe7e9093a0f61",
+ []
+ ],
+ "determinant.spec.js": [
+ "277d197c9981180ee2a045dcd4782a8784d71d65",
+ []
+ ],
+ "distance.spec.js": [
+ "154a52c2764183f1eb18ab94f9168dc809dd3df1",
+ []
+ ],
+ "dot.spec.js": [
+ "b219b87e6c1c21ee26891ae4a489a537b1e57255",
+ []
+ ],
+ "dpdx.spec.js": [
+ "c4d5413b70159eaeb931f7c1e755a6e9442ad500",
+ []
+ ],
+ "dpdxCoarse.spec.js": [
+ "8b37d1982bdbfa51558325d5fb658166cb79f72f",
+ []
+ ],
+ "dpdxFine.spec.js": [
+ "57c1f49b4771e8737f151e34acc1ca41438dce53",
+ []
+ ],
+ "dpdy.spec.js": [
+ "9e9debdf5829aa2d6884559fc3b3503ea777eac5",
+ []
+ ],
+ "dpdyCoarse.spec.js": [
+ "f477a883305e5a6dbdb79199cdadf27e7260d77c",
+ []
+ ],
+ "dpdyFine.spec.js": [
+ "dc986daeec85ed37c34f77382984842f188c7a91",
+ []
+ ],
+ "exp.spec.js": [
+ "597876a5618db89c59380895354e60041189119c",
+ []
+ ],
+ "exp2.spec.js": [
+ "bcc999b2253259bcede4d9e751145a42e413d99f",
+ []
+ ],
+ "extractBits.spec.js": [
+ "cc6b466092f5255add594932f69d4f1fcf20c7cb",
+ []
+ ],
+ "faceForward.spec.js": [
+ "12247cf8830f249f74d5de8455033304cf23df9f",
+ []
+ ],
+ "firstLeadingBit.spec.js": [
+ "f556dba7883d32de82b0f9c372acc23c700b32e1",
+ []
+ ],
+ "firstTrailingBit.spec.js": [
+ "29c46690b6abe77cd4addc4e7c23d053eb4c1137",
+ []
+ ],
+ "floor.spec.js": [
+ "0d5c30230e1d3fa80276bd51b7487ef6bb31013a",
+ []
+ ],
+ "fma.spec.js": [
+ "735dd2fa29b4678070377735b3ab31c13a110da0",
+ []
+ ],
+ "fract.spec.js": [
+ "c8393c50f7d7d31cd84765a71abfd3905dba480b",
+ []
+ ],
+ "frexp.spec.js": [
+ "68a570612f6f5fb602b1b763d71fa999a4c6cce5",
+ []
+ ],
+ "fwidth.spec.js": [
+ "ee33a68ab497d706eca3f8b7a3977cde18025b05",
+ []
+ ],
+ "fwidthCoarse.spec.js": [
+ "d5df428ebcf7d70ae32769fd2ab8ff4111717c78",
+ []
+ ],
+ "fwidthFine.spec.js": [
+ "0bd0ad33d33b023762fd971254b344518fece77d",
+ []
+ ],
+ "insertBits.spec.js": [
+ "262aaa199aaa9f469926fb2967b9876b3cad577e",
+ []
+ ],
+ "inversesqrt.spec.js": [
+ "f2944c6792365c20f57954cad5a2b080e9819bfd",
+ []
+ ],
+ "ldexp.spec.js": [
+ "a33205c2a7c9f6933626be35054aecd4a846e695",
+ []
+ ],
+ "length.spec.js": [
+ "3a2dedbb5dccd5442a980cb5c2a70b0ce2fee85a",
+ []
+ ],
+ "log.spec.js": [
+ "bf75c9b8481bf26c38b65c379c54eea907865901",
+ []
+ ],
+ "log2.spec.js": [
+ "ca77d645896bd146aac6731fb963b0d9b4edb599",
+ []
+ ],
+ "max.spec.js": [
+ "ea513fab036a9806a15fa1e3d2d262a68d6a43de",
+ []
+ ],
+ "min.spec.js": [
+ "4ffbdf5c9d8dc85b468bed4ddf5d91211ba116ff",
+ []
+ ],
+ "mix.spec.js": [
+ "dba656fc558f967f24285ce9a96945b6c4167673",
+ []
+ ],
+ "modf.spec.js": [
+ "972283ee44aec84a60a7d5c6dafbd5121e1ba19a",
+ []
+ ],
+ "normalize.spec.js": [
+ "5cb5b9170cf22d5ebc6125c57810f0b3de966a0c",
+ []
+ ],
+ "pack2x16float.spec.js": [
+ "591a78eed2406ce14d6355decf083d8b72963d3e",
+ []
+ ],
+ "pack2x16snorm.spec.js": [
+ "7f6b72bb0271e0b9146ae493cc8bf0295cd37c0d",
+ []
+ ],
+ "pack2x16unorm.spec.js": [
+ "5819c25618b33616361046fdebd9ed7568dbb170",
+ []
+ ],
+ "pack4x8snorm.spec.js": [
+ "f2696b8d6fe57a58ed3ac2d246dfd9b0b207b3fb",
+ []
+ ],
+ "pack4x8unorm.spec.js": [
+ "c12cf779445d313baf7a3e8e2684f98b76258761",
+ []
+ ],
+ "pow.spec.js": [
+ "dfb92674467ad8830f0a6f53240e891812318b6d",
+ []
+ ],
+ "quantizeToF16.spec.js": [
+ "bad11d7fd656c6c2f6e773ba1d384fef9190b6f0",
+ []
+ ],
+ "radians.spec.js": [
+ "fa888795c1d299574e729afec36183851dfd0edd",
+ []
+ ],
+ "reflect.spec.js": [
+ "2fe30f7ca2ae8e3bb9c5e84e8b6c051bb48f1924",
+ []
+ ],
+ "refract.spec.js": [
+ "03f1708da3e19ab652189ecb664853080885b432",
+ []
+ ],
+ "reverseBits.spec.js": [
+ "41f72419dfd10e7caf8329ac52fb1fc84b703b30",
+ []
+ ],
+ "round.spec.js": [
+ "10d30b414ce90ddf83139d0d61708e208bcbf385",
+ []
+ ],
+ "saturate.spec.js": [
+ "a75b61b690624e5a7050009e8f5adc016552e76b",
+ []
+ ],
+ "select.spec.js": [
+ "9f86a28526b358947984512193f91206bec59c7a",
+ []
+ ],
+ "sign.spec.js": [
+ "3f30f351639f82400ac4e5e2e48914f7f0432582",
+ []
+ ],
+ "sin.spec.js": [
+ "04ba6a9e142c15f900c3228c45079c73385cbf5c",
+ []
+ ],
+ "sinh.spec.js": [
+ "7936ec3be8fd1410a5e8cb070597489627fb0123",
+ []
+ ],
+ "smoothstep.spec.js": [
+ "f338b15dacda70e7b257acd78a1cdcebf425f72a",
+ []
+ ],
+ "sqrt.spec.js": [
+ "15cc85adf1f2021aa6cf4d498fe002b73b3a98e3",
+ []
+ ],
+ "step.spec.js": [
+ "cb122b40439fda0f1a1e4085e046facc976158db",
+ []
+ ],
+ "storageBarrier.spec.js": [
+ "ac7519ea92124194178d00a1fe95d27e2ba02279",
+ []
+ ],
+ "tan.spec.js": [
+ "e68877bfe8772cb11a5547015e3e333a18eb054f",
+ []
+ ],
+ "tanh.spec.js": [
+ "7a57db1c4069fcffd41da4b7fd2fc55e4af7692b",
+ []
+ ],
+ "textureDimension.spec.js": [
+ "9a5ef4d829d8c349ab5224b0ef214acee03deb97",
+ []
+ ],
+ "textureGather.spec.js": [
+ "1ecd1283d1d7c7052b03f06c46963dd4b20a4c04",
+ []
+ ],
+ "textureGatherCompare.spec.js": [
+ "ddb24c472e50a8ef1b82c5e84ee6651033e2de7e",
+ []
+ ],
+ "textureLoad.spec.js": [
+ "c11d20554b581932ef787c548db0bdcf53f43ddc",
+ []
+ ],
+ "textureNumLayers.spec.js": [
+ "5b0372289da957ca7cdb07dfc8347a22536be758",
+ []
+ ],
+ "textureNumLevels.spec.js": [
+ "ae59dd99bbeb1225150f968c9678a127429b03a1",
+ []
+ ],
+ "textureNumSamples.spec.js": [
+ "620d1a7e9dc0f5313da9f330deef2d60837fe6dd",
+ []
+ ],
+ "textureSample.spec.js": [
+ "6d39c22531d141bccf7ae6a6480dec2e22dfd72b",
+ []
+ ],
+ "textureSampleBias.spec.js": [
+ "f74b3a0ba0d1e39fa4c12360a5a3f81b78ac64c7",
+ []
+ ],
+ "textureSampleCompare.spec.js": [
+ "c0a4c2b68aab7e205ebb836659daa756ce783c37",
+ []
+ ],
+ "textureSampleCompareLevel.spec.js": [
+ "24e7453b6dab9538830bfc9fccfcbaafcd65a3fe",
+ []
+ ],
+ "textureSampleGrad.spec.js": [
+ "bb77a66a2722751e41c15ef61f5ff716322820c7",
+ []
+ ],
+ "textureSampleLevel.spec.js": [
+ "5d3b8ca78cf280b9b68cebf5ccab3bdc74c05f17",
+ []
+ ],
+ "textureStore.spec.js": [
+ "cd555f429bd0382dfdb4ce6da28c8d9b9193709e",
+ []
+ ],
+ "transpose.spec.js": [
+ "222eb917adaa4c667a98b071193b9b41ae8fd5eb",
+ []
+ ],
+ "trunc.spec.js": [
+ "51d42f38bb5eeffee886399843e4f3a9145313b7",
+ []
+ ],
+ "unpack2x16float.spec.js": [
+ "21cf6729ee37c99f9c7802a10da7ddaa887a9d72",
+ []
+ ],
+ "unpack2x16snorm.spec.js": [
+ "6675690f82434cf1760e01100da0f9900c6fc253",
+ []
+ ],
+ "unpack2x16unorm.spec.js": [
+ "9b115299ebdfc72ca80145a2624e494414451355",
+ []
+ ],
+ "unpack4x8snorm.spec.js": [
+ "430316d14f930665ced45fdb51a375e6aa4a380c",
+ []
+ ],
+ "unpack4x8unorm.spec.js": [
+ "ce465152145409a3c29211687aa5f680dfd7a861",
+ []
+ ],
+ "utils.js": [
+ "cdc7d1a985079d9c170842127b3409d81c461975",
+ []
+ ],
+ "workgroupBarrier.spec.js": [
+ "7bc3ecf3a4b7042aad924e01ce3b739833f3438b",
+ []
+ ]
+ }
+ },
+ "case_cache.js": [
+ "c19bb3df278b2608c08746fe167f48f1d87be6d2",
+ []
+ ],
+ "expression.js": [
+ "07ebe7a04351bb02891e046e2240169475cacfba",
+ []
+ ],
+ "unary": {
+ "abstract_float_assignment.spec.js": [
+ "6ef9c01ee1cfcb5c993262fa3e6042ada042b4e6",
+ []
+ ],
+ "bool_conversion.spec.js": [
+ "d4fc0914650d3ec54eafbc06deba180bec8cbbfe",
+ []
+ ],
+ "bool_logical.spec.js": [
+ "fb281d04b5020961eeab0365d961ec6f3b6b2f5d",
+ []
+ ],
+ "f32_arithmetic.spec.js": [
+ "bbd8c8afc966079a1be7b6f791aa65a75bd0f7d9",
+ []
+ ],
+ "f32_conversion.spec.js": [
+ "2e8849154470eb76a139a5d3cce784541d2a9cbd",
+ []
+ ],
+ "i32_arithmetic.spec.js": [
+ "d2afcec3acd291f8f338446971a4493eae86b390",
+ []
+ ],
+ "i32_complement.spec.js": [
+ "25b0bbce6ccdc24db55a31461ea336d28ed11037",
+ []
+ ],
+ "i32_conversion.spec.js": [
+ "0b44e5a83fe42268e4dd486e7087725092999c4e",
+ []
+ ],
+ "u32_complement.spec.js": [
+ "ce189d434d0a5429e2dfc40d17ff9b17dc811aa8",
+ []
+ ],
+ "u32_conversion.spec.js": [
+ "6d1f3c297ffe1931121c18072488c91931681232",
+ []
+ ],
+ "unary.js": [
+ "4e91cf8634a52c447ac6feb21f967731838c55c7",
+ []
+ ]
+ }
+ },
+ "float_parse.spec.js": [
+ "19e0476ba1f521aa5b8ae202311f63862db98e29",
[]
],
- "subresource.js": [
- "889fab16e61f6b811d7475a4b5eb7c56353a8a91",
+ "flow_control": {
+ "call.spec.js": [
+ "d7c7f5ed0767495119cfb9b430f192407d86359f",
+ []
+ ],
+ "complex.spec.js": [
+ "a5c2f9f981938c97416e41a2313f5548df0b1468",
+ []
+ ],
+ "eval_order.spec.js": [
+ "5c4aed2ae8a76910908a8dd9e2bb7143141632e6",
+ []
+ ],
+ "for.spec.js": [
+ "0af28aa8e41297c49913c0d47cf234cbd35a9e7d",
+ []
+ ],
+ "harness.js": [
+ "2d8996cc2d2e40156102ad66b665a4e0811e91d9",
+ []
+ ],
+ "if.spec.js": [
+ "54507da07da1d1d2f32602be62fe853cb8f8aead",
+ []
+ ],
+ "loop.spec.js": [
+ "3897c6977b88995d29351ff7229011f3357f199b",
+ []
+ ],
+ "phony.spec.js": [
+ "1f2628cb0445a4b07c07de208e02bef3af82a26e",
+ []
+ ],
+ "return.spec.js": [
+ "a6089f1c13ea00161ddcc3d9988727ea124c2c49",
+ []
+ ],
+ "switch.spec.js": [
+ "4f34141d33b9ffe9d5c5b7ff13ef55e9f6401386",
+ []
+ ],
+ "while.spec.js": [
+ "c424309572175f863eaa487c7b94757d82cbff08",
+ []
+ ]
+ },
+ "memory_model": {
+ "atomicity.spec.js": [
+ "0286cf42d5234b6b978dc9484e275d4670609662",
+ []
+ ],
+ "barrier.spec.js": [
+ "dbf90149e3ea73b9c0e5d2d3e5e63326f31b757c",
+ []
+ ],
+ "coherence.spec.js": [
+ "00dca4f9c7f52f4c75216792a5918185a18c8571",
+ []
+ ],
+ "memory_model_setup.js": [
+ "d0daa9a8f3b99989a89e177f3a070a7f25e0de2e",
+ []
+ ],
+ "weak.spec.js": [
+ "a9f7e60ce1a7f818fb1137ff85312e70cc84107a",
+ []
+ ]
+ },
+ "padding.spec.js": [
+ "40bc330bf4efa51c963701e13619ab8f88a7a181",
[]
],
- "texelData.js": [
- "eadaa09633022e6c82355b07a4798c802c56a8e8",
+ "robust_access.spec.js": [
+ "f7d8de63b9d22a4e2af6dc39fd3d31dab50d7e13",
[]
- ]
- }
- },
- "web-platform": {
- "canvas": {
- "context_creation.spec.js": [
- "26dc5d8ab6787c628c820f42e43e33603e4cebff",
+ ],
+ "robust_access_vertex.spec.js": [
+ "527c69819a990691f0c0f7b752726c5090517cfc",
+ []
+ ],
+ "shader_io": {
+ "compute_builtins.spec.js": [
+ "01700647a19a9e94cdc880b45403888cf6986dbd",
+ []
+ ],
+ "shared_structs.spec.js": [
+ "88bff95442fe59ff6b2ccac4eb55bd4f07b7653f",
+ []
+ ]
+ },
+ "shadow.spec.js": [
+ "47ea93cffc416763b867584d6c4657368a0e39ac",
+ []
+ ],
+ "statement": {
+ "increment_decrement.spec.js": [
+ "899d488c24c2016ee337871aa88535e6a880e105",
+ []
+ ]
+ },
+ "zero_init.spec.js": [
+ "1ce576132826c165e9f5c5636f441b711c59ed7f",
[]
]
},
- "copyImageBitmapToTexture.spec.js": [
- "9df5ff94419baa92ff27f8b39cdc0ee99439dc06",
+ "types.js": [
+ "ef27fe656564aefb305d8a72ab98cbfadada24d2",
[]
],
- "reftests": {
- "canvas_clear.js": [
- "a9149f039424546a9822d090b979fef921fe79c1",
+ "validation": {
+ "const_assert": {
+ "const_assert.spec.js": [
+ "735f26f72df4e0667ea16bf8120c758294e8eb5d",
+ []
+ ]
+ },
+ "expression": {
+ "binary": {
+ "bitwise_shift.spec.js": [
+ "5c29a1858cd2bf007b7c9a0411f80eba6bfd5d08",
+ []
+ ]
+ },
+ "call": {
+ "builtin": {
+ "atomics.spec.js": [
+ "fb3bf6bd4043b7e046ca640509ddbc9dbd347a26",
+ []
+ ]
+ }
+ }
+ },
+ "parse": {
+ "align.spec.js": [
+ "9fd1987a756d811ef066c550596ad87617eebfc1",
+ []
+ ],
+ "attribute.spec.js": [
+ "618fb719f7c753199ef3fe524b54eb6c41e3ade5",
+ []
+ ],
+ "binary_ops.spec.js": [
+ "8f5bc12b0078b53c9ae91f00f2aa84a03246d3fb",
+ []
+ ],
+ "blankspace.spec.js": [
+ "bdee7324021968b0f0745e33f221624c4e971591",
+ []
+ ],
+ "break.spec.js": [
+ "bc615dde45cea7d33a9ad50585f4e6728313e0f8",
+ []
+ ],
+ "builtin.spec.js": [
+ "083e1614fbf0d0bdc7e0e8e45b0339fc9d7ffd92",
+ []
+ ],
+ "comments.spec.js": [
+ "748e70bb2af87dd1864da625071d914b9b9c4b52",
+ []
+ ],
+ "const.spec.js": [
+ "894ab80eb63d78994bb45464864262f7d11f2aa2",
+ []
+ ],
+ "const_assert.spec.js": [
+ "f57412e34e017ac34d36343260e493b1fd5d4dea",
+ []
+ ],
+ "discard.spec.js": [
+ "c2694bda16de47afd6bfc2e9242e2574e7d062d2",
+ []
+ ],
+ "enable.spec.js": [
+ "6a94805e90072ad0fbefadb77f95d739c3e6bc00",
+ []
+ ],
+ "identifiers.spec.js": [
+ "92b19619f31c80b6e96cb363bf413fdc9de0841a",
+ []
+ ],
+ "literal.spec.js": [
+ "a1ca97984e8dca26ce71e54953496cf82c10e668",
+ []
+ ],
+ "pipeline_stage.spec.js": [
+ "167d7f875e0753f9642a204e5f3f4b87cffb8f4d",
+ []
+ ],
+ "semicolon.spec.js": [
+ "619cb25587c33a1662ff5ffe1b5d0d7e1b64a201",
+ []
+ ],
+ "source.spec.js": [
+ "b4cfe94b24747d19245a7ad18d909c9d3713feb9",
+ []
+ ],
+ "unary_ops.spec.js": [
+ "83322ccf16792cd8d70be64a522a7a1612cfc891",
+ []
+ ],
+ "var_and_let.spec.js": [
+ "974af4d02a1aa16a5b0220a598cfdae15cc075a6",
+ []
+ ]
+ },
+ "resource_interface": {
+ "bindings.spec.js": [
+ "546a0b0ce81af69a6edf19d1da6ef2c9288c57ed",
+ []
+ ],
+ "util.js": [
+ "6c16a1ff04794bd2b480e3613f1f67bd633d6767",
+ []
+ ]
+ },
+ "shader_io": {
+ "builtins.spec.js": [
+ "13bdbd7fb76cfe0415294fbdef12969e361bc70d",
+ []
+ ],
+ "entry_point.spec.js": [
+ "982e4e3dc90133a1d6fea6138f5c62482cf1c09f",
+ []
+ ],
+ "interpolate.spec.js": [
+ "28088f9dcf54b122eec81881b0bb2aa4af3422e2",
+ []
+ ],
+ "invariant.spec.js": [
+ "1729502082ecc49ca7cc9c10b384225102eb4766",
+ []
+ ],
+ "locations.spec.js": [
+ "5e7a43a4e2a5e618ef670224a1ffdff1930c0ba8",
+ []
+ ],
+ "util.js": [
+ "3092eb8182561f612de060aeb4cf8895cd852fa4",
+ []
+ ]
+ },
+ "shader_validation_test.js": [
+ "4014f4f16fbae370e7d35038b332cecf4e2df911",
[]
],
- "canvas_complex.js": [
- "f2271d0debafde3681e6a4865ccd5c91817c94f9",
+ "uniformity": {
+ "uniformity.spec.js": [
+ "1c9742918c1daa3ae96b5de8c771d470f03ad52a",
+ []
+ ]
+ }
+ },
+ "values.js": [
+ "9ca24c64b99eafcbc9ea9a05e6f49ce063968a49",
+ []
+ ]
+ },
+ "util": {
+ "buffer.js": [
+ "1da50c26993aa486d9a152b62e4907d3e712ba9c",
+ []
+ ],
+ "check_contents.js": [
+ "f45054677d8c518cb2a8b9ce3276872a1bbd6074",
+ []
+ ],
+ "color_space_conversion.js": [
+ "4f456fb7c530c2c8a2354fbd4740dcfec81b5766",
+ []
+ ],
+ "command_buffer_maker.js": [
+ "b3e0463fb2fee9b03ba60d5036558402dff44087",
+ []
+ ],
+ "compare.js": [
+ "c4435042980398b7ea2dfb707b35ace6664d683f",
+ []
+ ],
+ "constants.js": [
+ "99575c5c85c42448d220921c1d2d8ac16f4c5f01",
+ []
+ ],
+ "conversion.js": [
+ "024807ca0c060f5721e0b3246f280cb71920e75d",
+ []
+ ],
+ "copy_to_texture.js": [
+ "e58df6b7cdabc27c1540a7b51154be0c15ec03ca",
+ []
+ ],
+ "create_elements.js": [
+ "b255f85ceb4f4a58d1ae89d52da3958a8f48d6f2",
+ []
+ ],
+ "device_pool.js": [
+ "46ca625388d9037f16085edea60dad4e01745883",
+ []
+ ],
+ "floating_point.js": [
+ "9bafdfb995b3a400f5e842d776b048e41ccc2152",
+ []
+ ],
+ "math.js": [
+ "de04fa06764ca0b9942141440e55b5671565fcaa",
+ []
+ ],
+ "memory.js": [
+ "6fcc2385deb813b766841112c38f195be9d1379a",
+ []
+ ],
+ "pretty_diff_tables.js": [
+ "41d519f6b3666b0ad36cc4b1fbb213deb0052383",
+ []
+ ],
+ "shader.js": [
+ "2763d30a390aa5c36f6fff58262d1b677a34fb72",
+ []
+ ],
+ "texture": {
+ "base.js": [
+ "e5425c57dc31ea28509cee9d6d34e2a7bff7410a",
+ []
+ ],
+ "data_generation.js": [
+ "b92dbd2bbdd8ac19f79db7efdfb5c94b4c30c9b5",
+ []
+ ],
+ "layout.js": [
+ "17d9ba90b216cb3c8b320ca3fc468ebb51fb1cd1",
+ []
+ ],
+ "subresource.js": [
+ "db9f637d44832721c99252b686b9d728c0b9c664",
+ []
+ ],
+ "texel_data.js": [
+ "e98fb72c1485d5ef3ab6470584da4cbc9c565d5d",
+ []
+ ],
+ "texel_data.spec.js": [
+ "c4d20599d1e9bff7d3da1e652122ea722960671b",
+ []
+ ],
+ "texel_view.js": [
+ "d075f2547526838a7edfaa86d1383da689bf32d6",
+ []
+ ],
+ "texture_ok.js": [
+ "0803046ddb4b3283e3fac913129107106f134fee",
+ []
+ ],
+ "texture_ok.spec.js": [
+ "00ef1663f9461d4df0442433279c1d226aa0b9c0",
+ []
+ ]
+ },
+ "texture.js": [
+ "53d78839f21e022f1e1aaa0bde34f35f5a34dd7a",
+ []
+ ],
+ "unions.js": [
+ "8dd7e23ad58a69aec29db953d12c94fcc2e94767",
+ []
+ ]
+ },
+ "web_platform": {
+ "canvas": {
+ "configure.spec.js": [
+ "d01afc2d7b60bb9643c0e4a4b0ee86a530789982",
+ []
+ ],
+ "context_creation.spec.js": [
+ "eb4cb7df8e06df0a70eb0b72bf6ff253ddc38834",
+ []
+ ],
+ "getCurrentTexture.spec.js": [
+ "b256be3275d1a56ce0592315bf42a220c92cae1a",
+ []
+ ],
+ "getPreferredCanvasFormat.spec.js": [
+ "f358fe7188f7563b3921a3a3c1caf6b3b18fb7b2",
+ []
+ ],
+ "readbackFromWebGPUCanvas.spec.js": [
+ "353f217440ffe8a42aa43eed20647f330860f3db",
+ []
+ ]
+ },
+ "copyToTexture": {
+ "ImageBitmap.spec.js": [
+ "cbd40eeb81e86dc5733099f1f5c5d451cc08a537",
+ []
+ ],
+ "canvas.spec.js": [
+ "4eaa614e8fd56c2c21c1fb1d11a01405dfa3f478",
+ []
+ ],
+ "video.spec.js": [
+ "32a0b77e9938b9c9e8bddca4ccde812d76e19609",
+ []
+ ]
+ },
+ "external_texture": {
+ "video.spec.js": [
+ "53f395d1ad80eb2e8940b769f1da5dc24bf7767a",
+ []
+ ]
+ },
+ "reftests": {
+ "canvas_clear.html.js": [
+ "f9bb584c36216d1877e97dde768d0c1b7d1cd9d0",
+ []
+ ],
+ "canvas_colorspace.html.js": [
+ "f4ef05b12981f323be98e3335adc70f20e632d86",
+ []
+ ],
+ "canvas_complex.html.js": [
+ "2ecafe12e06fe13f6f7392a23a1c589596f44655",
+ []
+ ],
+ "canvas_composite_alpha.html.js": [
+ "93d323f1ec1920a2bbe86482ce8b2f1dbe1c59f1",
+ []
+ ],
+ "canvas_image_rendering.html.js": [
+ "a7c488e8b2d9534348575d6cac96efb8ccfc4e53",
+ []
+ ],
+ "create-pattern-data-url.js": [
+ "e6e9019851f3f8c7152e8fbe2426af89268ca1df",
[]
],
"gpu_ref_test.js": [
- "a45002835df48518eacb8d7887791ee200c3e3c1",
+ "56ac1f2a3315500120230bf285f8e49e2a34f2c9",
[]
],
"ref": {
"canvas_clear-ref.html": [
- "2e0781186273ac49d6c70b5e5a9c68103aa5f173",
+ "e37b78c3a6f5f77facce20c1806fd264be3303f2",
+ []
+ ],
+ "canvas_colorspace-ref.html": [
+ "a6da9f6748a4f8d7fd75d78c1ad1b55159b2db7b",
+ []
+ ],
+ "canvas_colorspace-ref.html.js": [
+ "77e7610b75206aad699de877bbb89641663f1583",
[]
],
"canvas_complex-ref.html": [
- "3d5b3b3376d23cfdcda57f0c53fc3192e8a77bb6",
+ "b1d46c108aeb9d2fa80e88ab60049dc885c08367",
+ []
+ ],
+ "canvas_composite_alpha_opaque-ref.html": [
+ "94b94865147041b623508556363ab3bf85b645af",
+ []
+ ],
+ "canvas_composite_alpha_premultiplied-ref.html": [
+ "635625ecc784f1df061e9d97e21ee65db0ebfd5b",
+ []
+ ],
+ "canvas_image_rendering-ref.html": [
+ "f9eca704e8702ea17f22ce0bcd8e65677b93b12f",
+ []
+ ],
+ "resize_observer-ref.html": [
+ "5259a25c2741729c13c52f24ce4adf5593cc2fc0",
[]
]
- }
+ },
+ "resize_observer.html.js": [
+ "0b4d35bdecdbc8601b84c2edcbba3faba978e6fd",
+ []
+ ]
+ },
+ "util.js": [
+ "25e524f9a73e78c93adf19090bbeb79bf0233365",
+ []
+ ],
+ "worker": {
+ "worker.js": [
+ "22392afc7b5d2f3c7a8919b7acbe75dda1b33814",
+ []
+ ],
+ "worker.spec.js": [
+ "497441485216b9137d484f0d261a9adfca94e0f7",
+ []
+ ],
+ "worker_launcher.js": [
+ "f3e83528ad0935e8051a0cc024b5ff9864367fd1",
+ []
+ ]
}
}
}
@@ -438,117 +2696,6655 @@
},
"testharness": {
"webgpu": {
- "cts.html": [
- "c5bc2536ab14b1174b7c01f35c85cfc6e62f5418",
+ "cts.https.html": [
+ "183d95783f8b4bfd8848039f219ebef0ffca950e",
[
- "webgpu/cts.html?q=webgpu:api,operation,buffers,map_detach:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestAdapter:requestAdapter:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,operation,buffers,map_oom:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestAdapter:requestAdapter_no_parameters:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,operation,command_buffer,basic:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestAdapterInfo:adapter_info:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,operation,command_buffer,copies:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestAdapterInfo:adapter_info_with_hints:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,operation,command_buffer,render,basic:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestDevice:default:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,operation,fences:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestDevice:features,known:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,copyBufferToBuffer:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestDevice:features,unknown:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,copy_between_linear_data_and_texture,copyBetweenLinearDataAndTexture_dataRelated:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestDevice:invalid:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,copy_between_linear_data_and_texture,copyBetweenLinearDataAndTexture_textureRelated:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestDevice:limit,better_than_supported:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,createBindGroup:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestDevice:limit,worse_than_default:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,createPipelineLayout:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestDevice:limits,supported:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,error_scope:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestDevice:limits,unknown:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,fences:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,adapter,requestDevice:stale:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,queue_submit:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map:mapAsync,mapState:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,render_pass,resolve:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map:mapAsync,read,typedArrayAccess:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,render_pass,storeOp:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map:mapAsync,read:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,render_pass_descriptor:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map:mapAsync,write,unchanged_ranges_preserved:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,resource_usages,textureUsageInRender:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map:mapAsync,write:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,setBindGroup:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map:mappedAtCreation,mapState:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,setBlendColor:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map:mappedAtCreation:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,setScissorRect:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map:remapped_for_write:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,setStencilReference:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map_ArrayBuffer:postMessage:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:api,validation,setViewport:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map_detach:while_mapped:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:examples:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,map_oom:mappedAtCreation:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:idl,constants,flags:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,threading:destroyed:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:web-platform,canvas,context_creation:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,buffers,threading:serialize:*",
{}
],
[
- "webgpu/cts.html?q=webgpu:web-platform,copyImageBitmapToTexture:*",
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,basic:b2t2b:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,basic:b2t2t2b:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,basic:empty:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,clearBuffer:clear:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyBufferToBuffer:copy_order:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyBufferToBuffer:single:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyBufferToBuffer:state_transitions:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyTextureToTexture:color_textures,compressed,array:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyTextureToTexture:color_textures,compressed,non_array:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyTextureToTexture:color_textures,non_compressed,array:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyTextureToTexture:color_textures,non_compressed,non_array:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyTextureToTexture:copy_depth_stencil:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyTextureToTexture:copy_multisampled_color:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyTextureToTexture:copy_multisampled_depth:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,copyTextureToTexture:zero_sized:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,image_copy:mip_levels:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,image_copy:offsets_and_sizes:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,image_copy:offsets_and_sizes_copy_depth_stencil:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,image_copy:origins_and_extents:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,image_copy:rowsPerImage_and_bytesPerRow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,image_copy:rowsPerImage_and_bytesPerRow_depth_stencil:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,image_copy:undefined_params:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,programmable,state_tracking:bind_group_before_pipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,programmable,state_tracking:bind_group_indices:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,programmable,state_tracking:bind_group_multiple_sets:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,programmable,state_tracking:bind_group_order:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,programmable,state_tracking:compatible_pipelines:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,programmable,state_tracking:one_bind_group_multiple_slots:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,alpha_to_coverage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,empty:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,initial:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,multi_resolve:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,stencil:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,render,state_tracking:change_pipeline_before_and_after_vertex_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,render,state_tracking:set_index_buffer_before_non_indexed_draw:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,render,state_tracking:set_index_buffer_without_changing_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,render,state_tracking:set_vertex_buffer_but_not_used_in_draw:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,command_buffer,render,state_tracking:set_vertex_buffer_without_changing_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,compute,basic:large_dispatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,compute,basic:memcpy:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,compute_pipeline,overrides:basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,compute_pipeline,overrides:multi_entry_points:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,compute_pipeline,overrides:numeric_id:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,compute_pipeline,overrides:precision:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,compute_pipeline,overrides:shared_shader_module:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,compute_pipeline,overrides:workgroup_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,device,lost:lost_on_destroy:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,device,lost:not_lost_on_gc:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,device,lost:same_object:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,labels:object_has_descriptor_label:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,labels:wrappers_do_not_share_labels:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,multiple_buffers:multiple_pairs_of_dispatches_in_one_compute_pass:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,multiple_buffers:multiple_pairs_of_draws_in_one_render_bundle:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,multiple_buffers:multiple_pairs_of_draws_in_one_render_pass:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,multiple_buffers:rw:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,multiple_buffers:wr:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,multiple_buffers:ww:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,single_buffer:rw:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,single_buffer:two_dispatches_in_the_same_compute_pass:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,single_buffer:two_draws_in_the_same_render_bundle:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,single_buffer:two_draws_in_the_same_render_pass:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,single_buffer:wr:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,buffer,single_buffer:ww:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,texture,same_subresource:rw,single_pass,load_resolve:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,texture,same_subresource:rw,single_pass,load_store:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,texture,same_subresource:rw:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,texture,same_subresource:wr:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,memory_sync,texture,same_subresource:ww:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,onSubmittedWorkDone:many,parallel:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,onSubmittedWorkDone:many,parallel_order:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,onSubmittedWorkDone:many,serial:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,onSubmittedWorkDone:with_work:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,onSubmittedWorkDone:without_work:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,pipeline,default_layout:getBindGroupLayout_js_object:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,pipeline,default_layout:incompatible_with_explicit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,pipeline,default_layout:layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,queue,writeBuffer:array_types:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,queue,writeBuffer:multiple_writes_at_different_offsets_and_sizes:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,reflection:buffer_reflection_attributes:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,reflection:query_set_reflection_attributes:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,reflection:texture_reflection_attributes:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,clear_value:layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,clear_value:loaded:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,clear_value:srgb:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,clear_value:stencil_clear_value:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,clear_value:stored:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,resolve:render_pass_resolve:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,storeOp:render_pass_store_op,color_attachment_only:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,storeOp:render_pass_store_op,color_attachment_with_depth_stencil_attachment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,storeOp:render_pass_store_op,depth_stencil_attachment_only:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,storeOp:render_pass_store_op,multiple_color_attachments:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pass,storeop2:storeOp_controls_whether_1x1_drawn_quad_is_stored:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,culling_tests:culling:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,overrides:basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,overrides:multi_entry_points:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,overrides:precision:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,overrides:shared_shader_module:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,pipeline_output_targets:color,attachments:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,pipeline_output_targets:color,component_count,blend:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,pipeline_output_targets:color,component_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,primitive_topology:basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,primitive_topology:unaligned_vertex_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,sample_mask:alpha_to_coverage_mask:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,render_pipeline,vertex_only_render_pipeline:draw_depth_and_stencil_with_vertex_only_pipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,basic:clear:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,basic:fullscreen_quad:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,basic:large_draw:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,color_target_state:blend_constant,initial:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,color_target_state:blend_constant,not_inherited:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,color_target_state:blend_constant,setting:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,color_target_state:blending,GPUBlendComponent:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,color_target_state:blending,clamping:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,color_target_state:blending,formats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,color_target_state:color_write_mask,blending_disabled:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,color_target_state:color_write_mask,channel_work:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,depth:depth_compare_func:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,depth:depth_disabled:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,depth:depth_test_fail:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,depth:depth_write_disabled:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,depth:reverse_depth:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,depth_bias:depth_bias:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,depth_bias:depth_bias_24bit_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,depth_clip_clamp:depth_clamp_and_clip:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,depth_clip_clamp:depth_test_input_clamped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,draw:arguments:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,draw:default_arguments:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,draw:largeish_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,draw:vertex_attributes,basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,draw:vertex_attributes,formats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,indirect_draw:basics:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,stencil:stencil_compare_func:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,stencil:stencil_depthFailOp_operation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,stencil:stencil_failOp_operation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,stencil:stencil_passOp_operation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,stencil:stencil_read_write_mask:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,rendering,stencil:stencil_reference_initialized:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:copy_buffer_to_buffer_copy_source:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:copy_buffer_to_texture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:copy_texture_to_partial_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:index_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:indirect_buffer_for_dispatch_indirect:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:indirect_buffer_for_draw_indirect:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:map_partial_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:map_whole_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:mapped_at_creation_partial_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:mapped_at_creation_whole_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:partial_write_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:readonly_storage_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:resolve_query_set_to_partial_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:storage_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:uniform_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,buffer:vertex_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,resource_init,texture_zero:uninitialized_texture_is_zero:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,sampling,anisotropy:anisotropic_filter_checkerboard:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,sampling,anisotropy:anisotropic_filter_mipmap_color:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,shader_module,compilation_info:getCompilationInfo_returns:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,shader_module,compilation_info:line_number_and_position:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,shader_module,compilation_info:offset_and_length:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,texture_view,format_reinterpretation:render_and_resolve_attachment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,texture_view,format_reinterpretation:texture_binding:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,texture_view,read:aspect:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,texture_view,read:dimension:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,texture_view,read:format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,texture_view,write:aspect:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,texture_view,write:dimension:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,texture_view,write:format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,uncapturederror:constructor:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,uncapturederror:iff_uncaptured:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,uncapturederror:only_original_device_is_event_target:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,uncapturederror:uncapturederror_from_non_originating_thread:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,correctness:array_stride_zero:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,correctness:buffers_with_varying_step_mode:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,correctness:discontiguous_location_and_attribs:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,correctness:max_buffers_and_attribs:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,correctness:non_zero_array_stride_and_attribute_offset:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,correctness:overlapping_attributes:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,correctness:setVertexBuffer_offset_and_attribute_offset:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,correctness:vertex_buffer_used_multiple_times_interleaved:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,correctness:vertex_buffer_used_multiple_times_overlapped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,correctness:vertex_format_to_shader_format_conversion:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,index_format:index_format,change_pipeline_after_setIndexBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,index_format:index_format,setIndexBuffer_before_setPipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,index_format:index_format,setIndexBuffer_different_formats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,index_format:index_format,uint16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,index_format:index_format,uint32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,operation,vertex_state,index_format:primitive_restart:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,create:createBuffer_invalid_and_oom:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,create:limit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,create:size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,create:usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,destroy:all_usages:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,destroy:error_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,destroy:twice:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,destroy:while_mapped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:gc_behavior,mapAsync:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:gc_behavior,mappedAtCreation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,disjoinRanges_many:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,disjointRanges:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,offsetAndSizeAlignment,mapped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,offsetAndSizeAlignment,mappedAtCreation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,sizeAndOffsetOOB,mapped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,sizeAndOffsetOOB,mappedAtCreation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,state,destroyed:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,state,invalid_mappedAtCreation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,state,mapped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,state,mappedAgain:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,state,mappedAtCreation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,state,mappingPending:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,state,unmapped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,subrange,mapped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:getMappedRange,subrange,mappedAtCreation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,abort_over_invalid_error:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,earlyRejection:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,invalidBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,offsetAndSizeAlignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,offsetAndSizeOOB:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,sizeUnspecifiedOOB:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,state,destroyed:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,state,mapped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,state,mappedAtCreation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,state,mappingPending:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:mapAsync,usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:unmap,state,destroyed:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:unmap,state,mapped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:unmap,state,mappedAtCreation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:unmap,state,mappingPending:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,buffer,mapping:unmap,state,unmapped:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,features,query_types:createQuerySet:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,features,query_types:writeTimestamp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,features,texture_formats:canvas_configuration:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,features,texture_formats:canvas_configuration_view_formats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,features,texture_formats:depth_stencil_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,features,texture_formats:render_bundle_encoder_descriptor_depth_stencil_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,features,texture_formats:texture_descriptor:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,features,texture_formats:texture_descriptor_view_formats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,features,texture_formats:texture_view_descriptor:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxBindGroups:createPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxBindGroups:createPipelineLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxBindGroups:setBindGroup,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createBindGroupLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:validate:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxBufferSize:createBuffer,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxColorAttachmentBytesPerSample:beginRenderPass,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxColorAttachmentBytesPerSample:createRenderBundle,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxColorAttachmentBytesPerSample:createRenderPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxColorAttachments:beginRenderPass,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxColorAttachments:createRenderBundle,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxColorAttachments:createRenderPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxColorAttachments:validate,maxColorAttachmentBytesPerSample:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxComputeInvocationsPerWorkgroup:createComputePipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupSizeX:createComputePipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupSizeY:createComputePipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupSizeZ:createComputePipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupStorageSize:createComputePipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupsPerDimension:dispatchWorkgroups,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxDynamicStorageBuffersPerPipelineLayout:createBindGroupLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxDynamicUniformBuffersPerPipelineLayout:createBindGroupLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxInterStageShaderComponents:createRenderPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxInterStageShaderVariables:createRenderPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxSampledTexturesPerShaderStage:createBindGroupLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxSampledTexturesPerShaderStage:createPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxSampledTexturesPerShaderStage:createPipelineLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxSamplersPerShaderStage:createBindGroupLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxSamplersPerShaderStage:createPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxSamplersPerShaderStage:createPipelineLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageBufferBindingSize:createBindGroup,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageBufferBindingSize:validate,maxBufferSize:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageBuffersPerShaderStage:createBindGroupLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageBuffersPerShaderStage:createPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageBuffersPerShaderStage:createPipelineLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createBindGroupLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipelineLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxTextureArrayLayers:createTexture,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxTextureDimension1D:createTexture,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxTextureDimension2D:configure,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxTextureDimension2D:createTexture,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxTextureDimension2D:getCurrentTexture,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxTextureDimension3D:createTexture,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxUniformBufferBindingSize:createBindGroup,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxUniformBufferBindingSize:validate,maxBufferSize:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxUniformBuffersPerShaderStage:createBindGroupLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxUniformBuffersPerShaderStage:createPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxUniformBuffersPerShaderStage:createPipelineLayout,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxVertexAttributes:createRenderPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxVertexBufferArrayStride:createRenderPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxVertexBuffers:createRenderPipeline,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxVertexBuffers:setVertexBuffer,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,minStorageBufferOffsetAlignment:createBindGroup,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,minStorageBufferOffsetAlignment:setBindGroup,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,minStorageBufferOffsetAlignment:validate,greaterThanOrEqualTo32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,minStorageBufferOffsetAlignment:validate,powerOf2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,minUniformBufferOffsetAlignment:createBindGroup,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,minUniformBufferOffsetAlignment:setBindGroup,at_over:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,minUniformBufferOffsetAlignment:validate,greaterThanOrEqualTo32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,capability_checks,limits,minUniformBufferOffsetAlignment:validate,powerOf2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:limits,invocations_per_workgroup,each_component:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:limits,invocations_per_workgroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:limits,workgroup_storage_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:overrides,identifier:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:overrides,uninitialized:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:overrides,value,type_error:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:overrides,value,validation_error:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:overrides,workgroup_size,limits,workgroup_storage_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:overrides,workgroup_size,limits:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:overrides,workgroup_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:pipeline_layout,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:shader_module,compute:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:shader_module,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,compute_pipeline:shader_module,invalid:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:bind_group_layout,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:binding_count_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:binding_must_be_present_in_layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:binding_must_contain_resource_defined_in_layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:binding_resources,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:buffer,effective_buffer_binding_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:buffer,resource_binding_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:buffer,resource_offset:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:buffer,resource_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:buffer,usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:buffer_offset_and_size_for_bind_groups_match:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:minBindingSize:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:multisampled_validation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:sampler,compare_function_with_binding_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:sampler,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:storage_texture,format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:storage_texture,mip_level_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:storage_texture,usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:texture,resource_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:texture_binding_must_have_correct_usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:texture_must_have_correct_component_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroup:texture_must_have_correct_dimension:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:duplicate_bindings:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:max_dynamic_buffers:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:max_resources_per_stage,in_bind_group_layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:max_resources_per_stage,in_pipeline_layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:maximum_binding_limit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:multisampled_validation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:storage_texture,formats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:storage_texture,layout_dimension:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:visibility,VERTEX_shader_stage_buffer_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:visibility,VERTEX_shader_stage_storage_texture_access:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createBindGroupLayout:visibility:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createPipelineLayout:bind_group_layouts,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createPipelineLayout:number_of_bind_group_layouts_exceeds_the_maximum_value:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createPipelineLayout:number_of_dynamic_buffers_exceeds_the_maximum_value:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createSampler:lodMinAndMaxClamp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createSampler:maxAnisotropy:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:dimension_type_and_format_compatibility:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:mipLevelCount,bound_check,bigger_than_integer_bit_width:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:mipLevelCount,bound_check:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:mipLevelCount,format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:sampleCount,valid_sampleCount_with_other_parameter_varies:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:sampleCount,various_sampleCount_with_all_formats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:sample_count,1d_2d_array_3d:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:texture_size,1d_texture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:texture_size,2d_texture,compressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:texture_size,2d_texture,uncompressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:texture_size,3d_texture,compressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:texture_size,3d_texture,uncompressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:texture_size,default_value_and_smallest_size,compressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:texture_size,default_value_and_smallest_size,uncompressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:texture_usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:viewFormats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createTexture:zero_size_and_usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createView:array_layers:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createView:aspect:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createView:cube_faces_square:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createView:dimension:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createView:format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createView:mip_levels:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,createView:texture_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,debugMarker:push_pop_call_count_unbalance,command_encoder:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,debugMarker:push_pop_call_count_unbalance,render_compute_pass:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,beginComputePass:timestampWrites,invalid_query_set:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,beginComputePass:timestampWrites,query_index:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,beginComputePass:timestampWrites,query_set_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,beginComputePass:timestamp_query_set,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,beginRenderPass:color_attachments,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,beginRenderPass:depth_stencil_attachment,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,beginRenderPass:occlusion_query_set,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,beginRenderPass:timestamp_query_set,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,clearBuffer:buffer,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,clearBuffer:buffer_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,clearBuffer:buffer_usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,clearBuffer:default_args:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,clearBuffer:offset_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,clearBuffer:out_of_bounds:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,clearBuffer:overflow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,clearBuffer:size_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,compute_pass:dispatch_sizes:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,compute_pass:indirect_dispatch_buffer,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,compute_pass:indirect_dispatch_buffer,usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,compute_pass:indirect_dispatch_buffer_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,compute_pass:pipeline,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,compute_pass:set_pipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyBufferToBuffer:buffer,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyBufferToBuffer:buffer_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyBufferToBuffer:buffer_usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyBufferToBuffer:copy_offset_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyBufferToBuffer:copy_out_of_bounds:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyBufferToBuffer:copy_overflow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyBufferToBuffer:copy_size_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyBufferToBuffer:copy_within_same_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:copy_aspects:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:copy_ranges:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:copy_ranges_with_compressed_texture_formats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:copy_with_invalid_or_destroyed_texture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:copy_within_same_texture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:depth_stencil_copy_restrictions:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:mipmap_level:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:multisampled_copy_restrictions:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:sample_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:texture,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:texture_format_compatibility:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,copyTextureToTexture:texture_usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,debug:debug_group:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,debug:debug_group_balanced:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,debug:debug_marker:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,index_access:out_of_bounds:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,index_access:out_of_bounds_zero_sized_index_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:buffer_binding_overlap:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:index_buffer_OOB:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:last_buffer_setting_take_account:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:max_draw_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:unused_buffer_bound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:vertex_buffer_OOB:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,dynamic_state:setBlendConstant:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,dynamic_state:setScissorRect,x_y_width_height_nonnegative:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,dynamic_state:setScissorRect,xy_rect_contained_in_attachment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,dynamic_state:setStencilReference:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,dynamic_state:setViewport,depth_rangeAndOrder:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,dynamic_state:setViewport,x_y_width_height_nonnegative:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,dynamic_state:setViewport,xy_rect_contained_in_attachment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,indirect_draw:indirect_buffer,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,indirect_draw:indirect_buffer_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,indirect_draw:indirect_buffer_usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,indirect_draw:indirect_offset_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,indirect_draw:indirect_offset_oob:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setIndexBuffer:index_buffer,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setIndexBuffer:index_buffer_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setIndexBuffer:index_buffer_usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setIndexBuffer:offset_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setIndexBuffer:offset_and_size_oob:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setPipeline:invalid_pipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setPipeline:pipeline,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setVertexBuffer:offset_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setVertexBuffer:offset_and_size_oob:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setVertexBuffer:slot:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setVertexBuffer:vertex_buffer,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setVertexBuffer:vertex_buffer_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,setVertexBuffer:vertex_buffer_usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,state_tracking:all_needed_index_buffer_should_be_bound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,state_tracking:all_needed_vertex_buffer_should_be_bound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,state_tracking:vertex_buffers_do_not_inherit_between_render_passes:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,render,state_tracking:vertex_buffers_inherit_from_previous_pipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,setBindGroup:bind_group,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,setBindGroup:buffer_dynamic_offsets:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,setBindGroup:dynamic_offsets_match_expectations_in_pass_encoder:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,setBindGroup:dynamic_offsets_passed_but_not_expected:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,setBindGroup:state_and_binding_index:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,cmds,setBindGroup:u32array_start_and_length:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,createRenderBundleEncoder:attachment_state,empty_color_formats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,createRenderBundleEncoder:attachment_state,limits,maxColorAttachmentBytesPerSample,aligned:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,createRenderBundleEncoder:attachment_state,limits,maxColorAttachmentBytesPerSample,unaligned:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,createRenderBundleEncoder:attachment_state,limits,maxColorAttachments:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,createRenderBundleEncoder:depth_stencil_readonly:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,createRenderBundleEncoder:depth_stencil_readonly_with_undefined_depth:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,createRenderBundleEncoder:valid_texture_formats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,encoder_open_state:compute_pass_commands:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,encoder_open_state:non_pass_commands:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,encoder_open_state:render_bundle_commands:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,encoder_open_state:render_pass_commands:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,encoder_state:call_after_successful_finish:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,encoder_state:pass_end_invalid_order:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,encoder_state:pass_end_none:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,encoder_state:pass_end_twice,basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,encoder_state:pass_end_twice,render_pass_invalid:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bgl_binding_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bgl_resource_type_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bgl_visibility_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:bind_groups_and_pipeline_layout_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:buffer_binding,render_pipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:empty_bind_group_layouts_requires_empty_bind_groups,compute_pass:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:empty_bind_group_layouts_requires_empty_bind_groups,render_pass:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,programmable,pipeline_bind_group_compat:sampler_binding,render_pipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,begin_end:nesting:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,begin_end:occlusion_query,begin_end_balance:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,begin_end:occlusion_query,begin_end_invalid_nesting:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,begin_end:occlusion_query,disjoint_queries_with_same_query_index:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,general:occlusion_query,invalid_query_set:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,general:occlusion_query,query_index:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,general:occlusion_query,query_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,general:timestamp_query,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,general:timestamp_query,invalid_query_set:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,general:timestamp_query,query_type_and_index:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,resolveQuerySet:destination_buffer_usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,resolveQuerySet:destination_offset_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,resolveQuerySet:first_query_and_query_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,resolveQuerySet:query_set_buffer,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,resolveQuerySet:queryset_and_destination_buffer_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,queries,resolveQuerySet:resolve_buffer_oob:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,render_bundle:color_formats_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,render_bundle:depth_stencil_formats_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,render_bundle:depth_stencil_readonly_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,render_bundle:device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,render_bundle:empty_bundle_list:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,encoding,render_bundle:sample_count_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,error_scope:balanced_nesting:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,error_scope:balanced_siblings:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,error_scope:current_scope:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,error_scope:empty:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,error_scope:parent_scope:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,error_scope:simple:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,getBindGroupLayout:index_range,auto_layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,getBindGroupLayout:index_range,explicit_layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,getBindGroupLayout:unique_js_object,auto_layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,getBindGroupLayout:unique_js_object,explicit_layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,gpu_external_texture_expiration:import_and_use_in_different_microtask:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,gpu_external_texture_expiration:import_and_use_in_different_task:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,gpu_external_texture_expiration:import_from_different_video_frame:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,gpu_external_texture_expiration:import_multiple_times_in_same_task_scope:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,gpu_external_texture_expiration:use_import_to_refresh:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,gpu_external_texture_expiration:webcodec_video_frame_close_expire_immediately:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,buffer_related:buffer,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,buffer_related:buffer_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,buffer_related:bytes_per_row_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,buffer_related:usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,buffer_texture_copies:depth_stencil_format,copy_buffer_offset:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,buffer_texture_copies:depth_stencil_format,copy_buffer_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,buffer_texture_copies:depth_stencil_format,copy_usage_and_aspect:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,buffer_texture_copies:device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,buffer_texture_copies:sample_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,buffer_texture_copies:texture_buffer_usages:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,layout_related:bound_on_bytes_per_row:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,layout_related:bound_on_offset:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,layout_related:bound_on_rows_per_image:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,layout_related:copy_end_overflows_u64:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,layout_related:offset_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,layout_related:required_bytes_in_copy:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,layout_related:rows_per_image_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,texture_related:copy_rectangle:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,texture_related:format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,texture_related:mip_level:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,texture_related:origin_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,texture_related:sample_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,texture_related:size_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,texture_related:texture,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,texture_related:usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,image_copy,texture_related:valid:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,query_set,create:count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,query_set,destroy:invalid_queryset:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,query_set,destroy:twice:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,buffer_mapped:copyBufferToBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,buffer_mapped:copyBufferToTexture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,buffer_mapped:copyTextureToBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,buffer_mapped:map_command_recording_order:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,buffer_mapped:writeBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:OOB,destination:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:OOB,source:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:destination_texture,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:destination_texture,format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:destination_texture,mipLevel:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:destination_texture,sample_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:destination_texture,state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:destination_texture,usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:source_canvas,state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:source_image,crossOrigin:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:source_imageBitmap,state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:source_offscreenCanvas,state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,buffer:copyBufferToBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,buffer:copyBufferToTexture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,buffer:copyTextureToBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,buffer:resolveQuerySet:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,buffer:setBindGroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,buffer:setIndexBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,buffer:setVertexBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,buffer:writeBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,query_set:beginOcclusionQuery:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,query_set:resolveQuerySet:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,query_set:writeTimestamp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,texture:beginRenderPass:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,texture:copyBufferToTexture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,texture:copyTextureToBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,texture:copyTextureToTexture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,texture:setBindGroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,destroyed,texture:writeTexture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,submit:command_buffer,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,writeBuffer:buffer,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,writeBuffer:buffer_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,writeBuffer:ranges:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,writeBuffer:usages:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,writeTexture:sample_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,writeTexture:texture,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,writeTexture:texture_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,queue,writeTexture:usages:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_and_bundle,color_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_and_bundle,color_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_and_bundle,color_sparse:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_and_bundle,depth_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_and_bundle,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_and_bundle,sample_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_or_bundle_and_pipeline,color_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_or_bundle_and_pipeline,color_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_or_bundle_and_pipeline,color_sparse:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_or_bundle_and_pipeline,depth_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_or_bundle_and_pipeline,depth_stencil_read_only_write_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,attachment_compatibility:render_pass_or_bundle_and_pipeline,sample_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:attachments,color_depth_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:attachments,layer_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:attachments,mip_level_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:attachments,one_color_attachment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:attachments,one_depth_stencil_attachment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:attachments,same_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:color_attachments,empty:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:color_attachments,limits,maxColorAttachmentBytesPerSample,aligned:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:color_attachments,limits,maxColorAttachmentBytesPerSample,unaligned:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:color_attachments,limits,maxColorAttachments:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:color_attachments,non_multisampled:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:color_attachments,sample_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:depth_stencil_attachment,depth_clear_value:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:depth_stencil_attachment,loadOp_storeOp_match_depthReadOnly_stencilReadOnly:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:depth_stencil_attachment,sample_counts_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:occlusionQuerySet,query_set_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,array_layer_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,different_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,different_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,error_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,format_supports_resolve:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,mipmap_level_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,sample_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,single_sample_count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:resolveTarget,usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:timestampWrite,query_index:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,render_pass_descriptor:timestampWrites,query_set_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pass,resolve:resolve_attachment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,depth_stencil_state:depth_test:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,depth_stencil_state:depth_write,frag_depth:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,depth_stencil_state:depth_write:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,depth_stencil_state:format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,depth_stencil_state:stencil_test:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,depth_stencil_state:stencil_write:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,fragment_state:color_target_exists:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,fragment_state:limits,maxColorAttachmentBytesPerSample,aligned:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,fragment_state:limits,maxColorAttachmentBytesPerSample,unaligned:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,fragment_state:limits,maxColorAttachments:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,fragment_state:pipeline_output_targets,blend:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,fragment_state:pipeline_output_targets:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,fragment_state:targets_blend:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,fragment_state:targets_format_filterable:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,fragment_state:targets_format_renderable:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,fragment_state:targets_write_mask:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,inter_stage:interpolation_sampling:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,inter_stage:interpolation_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,inter_stage:location,mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,inter_stage:location,subset:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,inter_stage:location,superset:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,inter_stage:max_components_count,input:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,inter_stage:max_components_count,output:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,inter_stage:max_shader_variable_location:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,inter_stage:type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,misc:basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,misc:pipeline_layout,device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,misc:vertex_state_only:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,multisample_state:alpha_to_coverage,count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,multisample_state:alpha_to_coverage,sample_mask:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,multisample_state:count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,overrides:identifier,fragment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,overrides:identifier,vertex:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,overrides:uninitialized,fragment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,overrides:uninitialized,vertex:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,overrides:value,type_error,fragment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,overrides:value,type_error,vertex:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,overrides:value,validation_error,fragment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,overrides:value,validation_error,vertex:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,primitive_state:strip_index_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,primitive_state:unclipped_depth:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,shader_module:device_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,shader_module:invalid,fragment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,shader_module:invalid,vertex:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:many_attributes_overlapping:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:max_vertex_attribute_limit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:max_vertex_buffer_array_stride_limit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:max_vertex_buffer_limit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:vertex_attribute_contained_in_stride:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:vertex_attribute_offset_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:vertex_attribute_shaderLocation_limit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:vertex_attribute_shaderLocation_unique:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:vertex_buffer_array_stride_limit_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:vertex_shader_input_location_in_vertex_state:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:vertex_shader_input_location_limit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,render_pipeline,vertex_state:vertex_shader_type_matches_attribute_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,buffer,in_pass_encoder:subresources,buffer_usage_in_compute_pass_with_two_dispatches:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,buffer,in_pass_encoder:subresources,buffer_usage_in_one_compute_pass_with_no_dispatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,buffer,in_pass_encoder:subresources,buffer_usage_in_one_compute_pass_with_one_dispatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,buffer,in_pass_encoder:subresources,buffer_usage_in_one_render_pass_with_no_draw:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,buffer,in_pass_encoder:subresources,buffer_usage_in_one_render_pass_with_one_draw:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,buffer,in_pass_encoder:subresources,buffer_usage_in_one_render_pass_with_two_draws:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,buffer,in_pass_misc:subresources,buffer_usages_in_copy_and_pass:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,buffer,in_pass_misc:subresources,reset_buffer_usage_before_dispatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,buffer,in_pass_misc:subresources,reset_buffer_usage_before_draw:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:bindings_in_bundle:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:replaced_binding:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:scope,basic,render:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:scope,dispatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:scope,pass_boundary,compute:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:scope,pass_boundary,render:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:shader_stages_and_visibility,attachment_write:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:shader_stages_and_visibility,storage_write:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:subresources_and_binding_types_combination_for_aspect:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:subresources_and_binding_types_combination_for_color:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_pass_encoder:unused_bindings_in_pipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_render_common:subresources,color_attachment_and_bind_group:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_render_common:subresources,color_attachments:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_render_common:subresources,depth_stencil_attachment_and_bind_group:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_render_common:subresources,depth_stencil_texture_in_bind_groups:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_render_common:subresources,multiple_bind_groups:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_render_misc:subresources,set_bind_group_on_same_index_color_texture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_render_misc:subresources,set_bind_group_on_same_index_depth_stencil_texture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_render_misc:subresources,set_unused_bind_group:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,resource_usages,texture,in_render_misc:subresources,texture_usages_in_copy_and_render_pass:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,shader_module,entry_point:compute:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,shader_module,entry_point:fragment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,shader_module,entry_point:vertex:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,shader_module,overrides:id_conflict:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,shader_module,overrides:name_conflict:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,clearBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,computePass,dispatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,copyBufferToBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,copyBufferToTexture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,copyTextureToBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,copyTextureToTexture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,renderPass,draw:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,renderPass,renderBundle:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,resolveQuerySet:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,writeTimestamp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createBindGroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createBindGroupLayout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createCommandEncoder:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createComputePipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createPipelineLayout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createQuerySet:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createRenderBundleEncoder:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createRenderPipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createSampler:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createShaderModule:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createTexture,2d,compressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createTexture,2d,uncompressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createView,2d,compressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:createView,2d,uncompressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:importExternalTexture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:queue,copyExternalImageToTexture,canvas:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:queue,copyExternalImageToTexture,imageBitmap:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:queue,writeBuffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:queue,writeTexture,2d,compressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:queue,writeTexture,2d,uncompressed_format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,bgra8unorm_storage:configure_storage_usage_on_canvas_context_with_bgra8unorm_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,bgra8unorm_storage:configure_storage_usage_on_canvas_context_without_bgra8unorm_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,bgra8unorm_storage:create_bind_group_layout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,bgra8unorm_storage:create_shader_module_with_bgra8unorm_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,bgra8unorm_storage:create_shader_module_without_bgra8unorm_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,bgra8unorm_storage:create_texture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,destroy:base:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,destroy:invalid_texture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,destroy:submit_a_destroyed_texture_as_attachment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,destroy:twice:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,float32_filterable:create_bind_group:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,rg11b10ufloat_renderable:begin_render_bundle_encoder:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,rg11b10ufloat_renderable:begin_render_pass_msaa_and_resolve:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,rg11b10ufloat_renderable:begin_render_pass_single_sampled:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,rg11b10ufloat_renderable:create_render_pipeline:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:api,validation,texture,rg11b10ufloat_renderable:create_texture:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:basic,async:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:basic,builder_cases:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:basic,builder_cases_subcases:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:basic,builder_subcases:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:basic,builder_subcases_short:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:basic,plain_cases:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:basic,plain_cases_private:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:gpu,async:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:gpu,buffers:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:gpu,with_texture_compression,bc:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:gpu,with_texture_compression,etc2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:not_implemented_yet,with_plan:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:not_implemented_yet,without_plan:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:examples:test_name:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:idl,constants,flags:BufferUsage,count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:idl,constants,flags:BufferUsage,values:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:idl,constants,flags:ColorWrite,count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:idl,constants,flags:ColorWrite,values:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:idl,constants,flags:ShaderStage,count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:idl,constants,flags:ShaderStage,values:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:idl,constants,flags:TextureUsage,count:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:idl,constants,flags:TextureUsage,values:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bitwise:bitwise_and:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bitwise:bitwise_and_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bitwise:bitwise_exclusive_or:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bitwise:bitwise_exclusive_or_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bitwise:bitwise_or:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bitwise:bitwise_or_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bitwise_shift:shift_left_concrete:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bitwise_shift:shift_left_concrete_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bitwise_shift:shift_right_concrete:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bitwise_shift:shift_right_concrete_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bool_logical:and:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bool_logical:and_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bool_logical:and_short_circuit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bool_logical:equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bool_logical:not_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bool_logical:or:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bool_logical:or_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,bool_logical:or_short_circuit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f16_comparison:equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f16_comparison:greater_than:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f16_comparison:less_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f16_comparison:less_than:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f16_comparison:not_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_addition:scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_addition:scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_addition:scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_addition:vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_addition:vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_comparison:equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_comparison:greater_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_comparison:greater_than:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_comparison:less_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_comparison:less_than:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_comparison:not_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_division:scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_division:scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_division:scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_division:vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_division:vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_addition:matrix:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_addition:matrix_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_matrix_multiplication:matrix_matrix:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_matrix_multiplication:matrix_matrix_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_scalar_multiplication:matrix_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_scalar_multiplication:matrix_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_scalar_multiplication:scalar_matrix:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_subtraction:matrix:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_subtraction:matrix_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_vector_multiplication:matrix_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_vector_multiplication:vector_matrix:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_matrix_vector_multiplication:vector_matrix_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_multiplication:scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_multiplication:scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_multiplication:scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_multiplication:vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_multiplication:vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_remainder:scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_remainder:scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_remainder:scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_remainder:vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_remainder:vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_subtraction:scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_subtraction:scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_subtraction:scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_subtraction:vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,f32_subtraction:vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:addition:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:addition_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:addition_scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:addition_vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:addition_vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:division:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:division_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:division_scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:division_vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:division_vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:multiplication:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:multiplication_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:multiplication_scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:multiplication_vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:multiplication_vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:remainder:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:remainder_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:remainder_scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:remainder_vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:remainder_vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:subtraction:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:subtraction_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:subtraction_scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:subtraction_vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_arithmetic:subtraction_vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_comparison:equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_comparison:greater_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_comparison:greater_than:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_comparison:less_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_comparison:less_than:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,i32_comparison:not_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:addition:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:addition_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:addition_scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:addition_vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:addition_vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:division:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:division_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:division_scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:division_vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:division_vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:multiplication:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:multiplication_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:multiplication_scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:multiplication_vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:multiplication_vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:remainder:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:remainder_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:remainder_scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:remainder_vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:remainder_vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:subtraction:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:subtraction_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:subtraction_scalar_vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:subtraction_vector_scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_arithmetic:subtraction_vector_scalar_compound:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_comparison:equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_comparison:greater_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_comparison:greater_than:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_comparison:less_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_comparison:less_than:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,binary,u32_comparison:not_equals:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,abs:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,abs:abstract_int:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,abs:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,abs:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,abs:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,abs:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,acos:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,acos:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,acos:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,acosh:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,acosh:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,acosh:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,all:bool:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,any:bool:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,arrayLength:binding_subregion:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,arrayLength:multiple_elements:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,arrayLength:read_only:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,arrayLength:single_element:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,arrayLength:struct_member:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,asin:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,asin:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,asin:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,asinh:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,asinh:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,asinh:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atan2:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atan2:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atan2:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atan:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atan:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atan:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atanh:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atanh:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atanh:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicCompareExchangeWeak:exchange:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicExchange:exchange:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicLoad:load:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicStore:store:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:f16_to_f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:f32_to_f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:f32_to_i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:f32_to_u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:f32_to_vec2h:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:i32_to_f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:i32_to_i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:i32_to_u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:i32_to_vec2h:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:u32_to_f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:u32_to_i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:u32_to_u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:u32_to_vec2h:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:vec2f_to_vec4h:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:vec2h_to_f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:vec2h_to_i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:vec2h_to_u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:vec2i_to_vec4h:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:vec2u_to_vec4h:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:vec4h_to_vec2f:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:vec4h_to_vec2i:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,bitcast:vec4h_to_vec2u:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,ceil:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,ceil:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,ceil:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,clamp:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,clamp:abstract_int:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,clamp:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,clamp:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,clamp:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,clamp:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,cos:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,cos:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,cos:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,cosh:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,cosh:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,cosh:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,countLeadingZeros:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,countLeadingZeros:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,countOneBits:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,countOneBits:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,countTrailingZeros:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,countTrailingZeros:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,cross:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,cross:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,cross:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,degrees:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,degrees:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,degrees:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,determinant:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,determinant:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,determinant:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,distance:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,distance:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,distance:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,distance:f32_vec2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,distance:f32_vec3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,distance:f32_vec4:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dot:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dot:abstract_int:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dot:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dot:f32_vec2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dot:f32_vec3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dot:f32_vec4:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dot:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dot:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dpdx:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dpdxCoarse:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dpdxFine:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dpdy:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dpdyCoarse:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,dpdyFine:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,exp2:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,exp2:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,exp2:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,exp:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,exp:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,exp:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,extractBits:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,extractBits:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,faceForward:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,faceForward:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,faceForward:f32_vec2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,faceForward:f32_vec3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,faceForward:f32_vec4:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,firstLeadingBit:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,firstLeadingBit:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,firstTrailingBit:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,firstTrailingBit:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,floor:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,floor:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,floor:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,fma:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,fma:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,fma:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,fract:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,fract:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,fract:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f16_exp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f16_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f16_vec2_exp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f16_vec2_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f16_vec3_exp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f16_vec3_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f16_vec4_exp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f16_vec4_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f32_exp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f32_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f32_vec2_exp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f32_vec2_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f32_vec3_exp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f32_vec3_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f32_vec4_exp:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,frexp:f32_vec4_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,fwidth:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,fwidthCoarse:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,fwidthFine:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,insertBits:integer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,inversesqrt:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,inversesqrt:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,inversesqrt:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,ldexp:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,ldexp:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,ldexp:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,length:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,length:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,length:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,length:f32_vec2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,length:f32_vec3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,length:f32_vec4:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,log2:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,log2:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,log2:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,log:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,log:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,log:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,max:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,max:abstract_int:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,max:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,max:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,max:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,max:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,min:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,min:abstract_int:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,min:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,min:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,min:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,min:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,mix:matching_abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,mix:matching_f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,mix:matching_f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,mix:monmatching_f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,mix:nonmatching_abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,mix:nonmatching_f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f16_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f16_vec2_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f16_vec2_whole:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f16_vec3_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f16_vec3_whole:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f16_vec4_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f16_vec4_whole:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f16_whole:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f32_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f32_vec2_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f32_vec2_whole:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f32_vec3_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f32_vec3_whole:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f32_vec4_fract:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f32_vec4_whole:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,modf:f32_whole:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,normalize:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,normalize:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,normalize:f32_vec2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,normalize:f32_vec3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,normalize:f32_vec4:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,pack2x16float:pack:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,pack2x16snorm:pack:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,pack2x16unorm:pack:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,pack4x8snorm:pack:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,pack4x8unorm:pack:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,pow:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,pow:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,pow:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,quantizeToF16:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,radians:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,radians:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,radians:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,reflect:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,reflect:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,reflect:f32_vec2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,reflect:f32_vec3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,reflect:f32_vec4:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,refract:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,refract:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,refract:f32_vec2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,refract:f32_vec3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,refract:f32_vec4:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,reverseBits:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,reverseBits:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,round:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,round:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,round:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,saturate:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,saturate:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,saturate:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,select:scalar:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,select:vector:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sign:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sign:abstract_int:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sign:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sign:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sign:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sin:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sin:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sin:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sinh:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sinh:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sinh:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,smoothstep:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,smoothstep:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,smoothstep:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sqrt:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sqrt:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,sqrt:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,step:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,step:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,step:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,storageBarrier:barrier:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,storageBarrier:stage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,tan:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,tan:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,tan:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,tanh:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,tanh:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,tanh:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureDimension:depth:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureDimension:external:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureDimension:sampled:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureDimension:storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGather:depth_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGather:depth_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGather:depth_array_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGather:depth_array_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGather:sampled_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGather:sampled_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGather:sampled_array_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGather:sampled_array_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGatherCompare:array_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGatherCompare:array_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGatherCompare:sampled_array_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureGatherCompare:sampled_array_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureLoad:arrayed:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureLoad:depth:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureLoad:external:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureLoad:multisampled:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureLoad:sampled_1d:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureLoad:sampled_2d:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureLoad:sampled_3d:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureNumLayers:arrayed:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureNumLayers:sampled:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureNumLayers:storage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureNumLevels:depth:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureNumLevels:sampled:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureNumSamples:depth:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureNumSamples:sampled:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:control_flow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:depth_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:depth_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:depth_array_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:depth_array_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:sampled_1d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:sampled_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:sampled_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:sampled_array_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:sampled_array_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSample:stage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleBias:arrayed_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleBias:arrayed_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleBias:control_flow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleBias:sampled_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleBias:sampled_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleBias:stage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompare:2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompare:3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompare:arrayed_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompare:arrayed_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompare:control_flow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompare:stage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompareLevel:2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompareLevel:3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompareLevel:arrayed_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompareLevel:arrayed_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompareLevel:control_flow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleCompareLevel:stage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleGrad:sampled_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleGrad:sampled_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleGrad:sampled_array_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleGrad:sampled_array_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleLevel:depth_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleLevel:depth_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleLevel:depth_array_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleLevel:sampled_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleLevel:sampled_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleLevel:sampled_array_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureSampleLevel:sampled_array_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureStore:store_1d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureStore:store_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureStore:store_3d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,textureStore:store_array_2d_coords:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,transpose:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,transpose:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,transpose:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,trunc:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,trunc:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,trunc:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,unpack2x16float:unpack:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,unpack2x16snorm:unpack:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,unpack2x16unorm:unpack:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,unpack4x8snorm:unpack:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,unpack4x8unorm:unpack:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,workgroupBarrier:barrier:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,call,builtin,workgroupBarrier:stage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,abstract_float_assignment:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,abstract_float_assignment:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,bool_conversion:bool:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,bool_conversion:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,bool_conversion:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,bool_conversion:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,bool_conversion:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,bool_logical:negation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,f32_arithmetic:negation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,f32_conversion:bool:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,f32_conversion:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,f32_conversion:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,f32_conversion:f32_mat:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,f32_conversion:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,f32_conversion:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,i32_arithmetic:negation:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,i32_complement:i32_complement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,i32_conversion:bool:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,i32_conversion:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,i32_conversion:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,i32_conversion:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,i32_conversion:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,u32_complement:u32_complement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,u32_conversion:abstract_int:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,u32_conversion:bool:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,u32_conversion:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,u32_conversion:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,u32_conversion:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,expression,unary,u32_conversion:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,float_parse:valid:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,call:call_basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,call:call_nested:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,call:call_repeated:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,complex:continue_in_switch_in_for_loop:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:1d_array_assignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:1d_array_compound_assignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:1d_array_constructor:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:1d_array_increment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:2d_array_assignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:2d_array_compound_assignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:2d_array_constructor:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:2d_array_increment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:array_index:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:array_index_lhs_assignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:array_index_lhs_member_assignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:array_index_via_ptrs:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:array_index_via_struct_members:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:binary_op:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:binary_op_chain:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:binary_op_chain_C_C_C_R:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:binary_op_chain_C_C_R_C:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:binary_op_chain_C_R_C_C:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:binary_op_chain_R_C_C_C:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:binary_op_lhs_const:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:binary_op_parenthesized_expr:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:binary_op_rhs_const:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:bitwise_and:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:bitwise_or:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:builtin_fn_args:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:logical_and:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:logical_or:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:matrix_index:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:matrix_index_via_ptr:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:nested_builtin_fn_args:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:nested_fn_args:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:nested_struct_constructor:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:nested_vec4_constructor:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:struct_constructor:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:user_fn_args:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,eval_order:vec4_constructor:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:for_basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:for_break:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:for_complex_condition:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:for_complex_continuing:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:for_complex_initalizer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:for_condition:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:for_continue:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:for_continuing:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:for_initalizer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:nested_for_break:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,for:nested_for_continue:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,if:else_if:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,if:if_false:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,if:if_true:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,if:nested_if_else:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,loop:loop_break:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,loop:loop_continue:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,loop:loop_continuing_basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,loop:nested_loops:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,phony:phony_assign_call_basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,phony:phony_assign_call_builtin:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,phony:phony_assign_call_must_use:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,phony:phony_assign_call_nested:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,phony:phony_assign_call_nested_must_use:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,return:return:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,return:return_conditional_false:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,return:return_conditional_true:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,switch:switch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,switch:switch_default:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,switch:switch_default_only:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,switch:switch_multiple_case:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,switch:switch_multiple_case_default:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,while:while_basic:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,while:while_break:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,while:while_continue:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,while:while_nested_break:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,flow_control,while:while_nested_continue:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,atomicity:atomicity:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,barrier:workgroup_barrier_load_store:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,barrier:workgroup_barrier_store_load:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,barrier:workgroup_barrier_store_store:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,coherence:corr:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,coherence:corw1:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,coherence:corw2:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,coherence:cowr:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,coherence:coww:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,weak:2_plus_2_write:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,weak:load_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,weak:message_passing:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,weak:read:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,weak:store:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,memory_model,weak:store_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,padding:array_of_matCx3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,padding:array_of_struct:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,padding:array_of_vec3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,padding:matCx3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,padding:struct_explicit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,padding:struct_implicit:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,padding:struct_nested:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,padding:vec3:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,robust_access:linear_memory:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,robust_access_vertex:vertex_buffer_access:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shader_io,compute_builtins:inputs:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shader_io,shared_structs:shared_between_stages:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shader_io,shared_structs:shared_with_buffer:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shader_io,shared_structs:shared_with_non_entry_point_function:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shadow:builtin:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shadow:declaration:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shadow:for_loop:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shadow:if:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shadow:loop:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shadow:switch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,shadow:while:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:frexp_exp_increment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:scalar_i32_decrement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:scalar_i32_decrement_underflow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:scalar_i32_increment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:scalar_i32_increment_overflow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:scalar_u32_decrement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:scalar_u32_decrement_underflow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:scalar_u32_increment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:scalar_u32_increment_overflow:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:vec2_element_decrement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:vec2_element_increment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:vec3_element_decrement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:vec3_element_increment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:vec4_element_decrement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,statement,increment_decrement:vec4_element_increment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,execution,zero_init:compute,zero_init:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,const_assert,const_assert:constant_expression:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,const_assert,const_assert:evaluation_stage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,expression,binary,bitwise_shift:shift_left_concrete:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,expression,binary,bitwise_shift:shift_left_vec_size_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,expression,binary,bitwise_shift:shift_right_concrete:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,expression,binary,bitwise_shift:shift_right_vec_size_mismatch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,expression,call,builtin,atomics:stage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,align:multi_align:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,align:parsing:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,align:placement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,align:required_alignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,attribute:expressions:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,binary_ops:all:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,blankspace:blankspace:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,blankspace:bom:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,blankspace:null_characters:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,break:placement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,builtin:parse:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,builtin:placement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,comments:comments:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,comments:line_comment_eof:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,comments:line_comment_terminators:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,comments:unterminated_block_comment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,const:placement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,const_assert:parse:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,discard:placement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,enable:enable:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,identifiers:identifiers:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,identifiers:non_normalized:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,literal:abstract_float:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,literal:abstract_int:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,literal:bools:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,literal:f16:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,literal:f32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,literal:i32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,literal:u32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,pipeline_stage:compute_parsing:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,pipeline_stage:duplicate_compute_on_function:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,pipeline_stage:duplicate_fragment_on_function:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,pipeline_stage:duplicate_vertex_on_function:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,pipeline_stage:fragment_parsing:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,pipeline_stage:multiple_entry_points:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,pipeline_stage:placement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,pipeline_stage:vertex_parsing:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_assignment:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_call:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_case:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_case_break:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_compound_statement:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_continuing:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_default_case:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_default_case_break:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_discard:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_enable:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_fn_const_assert:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_fn_const_decl:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_fn_var_decl:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_for:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_for_break:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_func_decl:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_if:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_if_else:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_let_decl:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_loop:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_loop_break:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_loop_break_if:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_loop_continue:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_member:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_module_const_decl:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_module_var_decl:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_return:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_struct_decl:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_switch:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_type_alias_decl:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_while:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_while_break:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:after_while_continue:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:compound_statement_multiple:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:compound_statement_single:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:function_body_multiple:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:function_body_single:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:module_scope_multiple:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,semicolon:module_scope_single:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,source:empty:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,source:invalid_source:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,source:valid_source:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,unary_ops:all:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,parse,var_and_let:initializer_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,resource_interface,bindings:binding_attributes:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,resource_interface,bindings:different_entry_points:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,resource_interface,bindings:single_entry_point:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,builtins:duplicates:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,builtins:missing_vertex_position:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,builtins:nesting:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,builtins:reuse_builtin_name:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,builtins:stage_inout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,builtins:type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,entry_point:missing_attribute_on_param:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,entry_point:missing_attribute_on_param_struct:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,entry_point:missing_attribute_on_return_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,entry_point:missing_attribute_on_return_type_struct:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,entry_point:no_entry_point_provided:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,interpolate:duplicate:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,interpolate:integral_types:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,interpolate:require_location:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,interpolate:type_and_sampling:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,invariant:duplicate:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,invariant:invalid_use_of_parameters:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,invariant:not_valid_on_user_defined_io:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,invariant:valid_only_with_vertex_position_builtin:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,locations:duplicates:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,locations:nesting:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,locations:stage_inout:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,shader_io,locations:type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:basics:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:compute_builtin_values:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:fragment_builtin_values:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:util,texture,texel_data:float_texel_data_in_shader:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:util,texture,texel_data:sint_texel_data_in_shader:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:util,texture,texel_data:snorm_texel_data_in_shader:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:util,texture,texel_data:ufloat_texel_data_in_shader:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:util,texture,texel_data:uint_texel_data_in_shader:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:util,texture,texel_data:unorm_texel_data_in_shader:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:util,texture,texture_ok:float32:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:util,texture,texture_ok:norm:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:util,texture,texture_ok:snorm_min:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,configure:alpha_mode:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,configure:defaults:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,configure:device:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,configure:format:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,configure:size_zero_after_configure:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,configure:size_zero_before_configure:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,configure:usage:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,configure:viewFormats:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,context_creation:return_type:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,getCurrentTexture:configured:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,getCurrentTexture:expiry:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,getCurrentTexture:multiple_frames:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,getCurrentTexture:resize:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,getCurrentTexture:single_frames:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,getPreferredCanvasFormat:value:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,readbackFromWebGPUCanvas:transferToImageBitmap_huge_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,readbackFromWebGPUCanvas:transferToImageBitmap_unconfigured_nonzero_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,canvas,readbackFromWebGPUCanvas:transferToImageBitmap_zero_size:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,copyToTexture,ImageBitmap:from_ImageData:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,copyToTexture,ImageBitmap:from_canvas:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,copyToTexture,canvas:color_space_conversion:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,copyToTexture,canvas:copy_contents_from_2d_context_canvas:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,copyToTexture,canvas:copy_contents_from_bitmaprenderer_context_canvas:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,copyToTexture,canvas:copy_contents_from_gl_context_canvas:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,copyToTexture,canvas:copy_contents_from_gpu_context_canvas:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,copyToTexture,video:copy_from_video_element:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,external_texture,video:importExternalTexture,compute:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,external_texture,video:importExternalTexture,sample:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,external_texture,video:importExternalTexture,sampleWithRotationMetadata:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,external_texture,video:importExternalTexture,sampleWithVideoFrameWithVisibleRectParam:*",
+ {}
+ ],
+ [
+ "webgpu/cts.https.html?q=webgpu:web_platform,worker,worker:worker:*",
{}
]
- ]
+ ],
+ "webgpu": {
+ "idl": {
+ "exposed.http.html": [
+ "94a814d005a8aa7042647a4100d3bf1e3755d9a5",
+ [
+ null,
+ {}
+ ]
+ ],
+ "exposed.https.html": [
+ "8d421b7020d64350ba9b81261cc5309f9b76283b",
+ [
+ null,
+ {}
+ ]
+ ]
+ }
+ }
}
}
},
diff --git a/tests/wpt/webgpu/tests/checkout_commit.txt b/tests/wpt/webgpu/tests/checkout_commit.txt
new file mode 100644
index 00000000000..5db12b3c0c2
--- /dev/null
+++ b/tests/wpt/webgpu/tests/checkout_commit.txt
@@ -0,0 +1 @@
+9ab2eade6a818ed58ac1a7b36b706858f3ba5eb3
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/data_cache.js b/tests/wpt/webgpu/tests/webgpu/common/framework/data_cache.js
new file mode 100644
index 00000000000..e426ffbbc91
--- /dev/null
+++ b/tests/wpt/webgpu/tests/webgpu/common/framework/data_cache.js
@@ -0,0 +1,89 @@
+/**
+ * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
+ **/
+
+/** DataCache is an interface to a data store used to hold cached data */
+export class DataCache {
+ /** setDataStore() sets the backing data store used by the data cache */
+ setStore(dataStore) {
+ this.dataStore = dataStore;
+ }
+
+ /** setDebugLogger() sets the verbose logger */
+ setDebugLogger(logger) {
+ this.debugLogger = logger;
+ }
+
+ /**
+ * fetch() retrieves cacheable data from the data cache, first checking the
+ * in-memory cache, then the data store (if specified), then resorting to
+ * building the data and storing it in the cache.
+ */
+ async fetch(cacheable) {
+ // First check the in-memory cache
+ let data = this.cache.get(cacheable.path);
+ if (data !== undefined) {
+ this.log('in-memory cache hit');
+ return Promise.resolve(data);
+ }
+ this.log('in-memory cache miss');
+ // In in-memory cache miss.
+ // Next, try the data store.
+ if (this.dataStore !== null && !this.unavailableFiles.has(cacheable.path)) {
+ let serialized;
+ try {
+ serialized = await this.dataStore.load(cacheable.path);
+ this.log('loaded serialized');
+ } catch (err) {
+ // not found in data store
+ this.log(`failed to load (${cacheable.path}): ${err}`);
+ this.unavailableFiles.add(cacheable.path);
+ }
+ if (serialized !== undefined) {
+ this.log(`deserializing`);
+ data = cacheable.deserialize(serialized);
+ this.cache.set(cacheable.path, data);
+ return data;
+ }
+ }
+ // Not found anywhere. Build the data, and cache for future lookup.
+ this.log(`cache: building (${cacheable.path})`);
+ data = await cacheable.build();
+ this.cache.set(cacheable.path, data);
+ return data;
+ }
+
+ log(msg) {
+ if (this.debugLogger !== null) {
+ this.debugLogger(`DataCache: ${msg}`);
+ }
+ }
+
+ cache = new Map();
+ unavailableFiles = new Set();
+ dataStore = null;
+ debugLogger = null;
+}
+
+/** The data cache */
+export const dataCache = new DataCache();
+
+/** true if the current process is building the cache */
+let isBuildingDataCache = false;
+
+/** @returns true if the data cache is currently being built */
+export function getIsBuildingDataCache() {
+ return isBuildingDataCache;
+}
+
+/** Sets whether the data cache is currently being built */
+export function setIsBuildingDataCache(value = true) {
+ isBuildingDataCache = value;
+}
+
+/**
+ * Cacheable is the interface to something that can be stored into the
+ * DataCache.
+ * The 'npm run gen_cache' tool will look for module-scope variables of this
+ * interface, with the name `d`.
+ */
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/fixture.js b/tests/wpt/webgpu/tests/webgpu/common/framework/fixture.js
index fcff2a6bb9f..1e5f129e6a4 100644
--- a/tests/wpt/webgpu/tests/webgpu/common/framework/fixture.js
+++ b/tests/wpt/webgpu/tests/webgpu/common/framework/fixture.js
@@ -1,64 +1,178 @@
/**
* AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
- **/ function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true,
- });
- } else {
- obj[key] = value;
- }
- return obj;
-}
-import { assert } from './util/util.js';
+ **/ import { assert, unreachable } from '../util/util.js';
export class SkipTestCase extends Error {}
+export class UnexpectedPassError extends Error {}
-// A Fixture is a class used to instantiate each test case at run time.
-// A new instance of the Fixture is created for every single test case
-// (i.e. every time the test function is run).
-export class Fixture {
- constructor(rec, params) {
- _defineProperty(this, 'params', void 0);
- _defineProperty(this, 'rec', void 0);
- _defineProperty(this, 'eventualExpectations', []);
- _defineProperty(this, 'numOutstandingAsyncExpectations', 0);
- this.rec = rec;
+export { TestCaseRecorder } from '../internal/logging/test_case_recorder.js';
+
+/** The fully-general type for params passed to a test function invocation. */
+
+export class SubcaseBatchState {
+ constructor(
+ recorder,
+ /** The case parameters for this test fixture shared state. Subcase params are not included. */
+ params
+ ) {
+ this.recorder = recorder;
this.params = params;
}
- // This has to be a member function instead of an async `createFixture` function, because
- // we need to be able to ergonomically override it in subclasses.
+ /**
+ * Runs before the `.before()` function.
+ * @internal MAINTENANCE_TODO: Make this not visible to test code?
+ */
+ async init() {}
+ /**
+ * Runs between the `.before()` function and the subcases.
+ * @internal MAINTENANCE_TODO: Make this not visible to test code?
+ */
+ async postInit() {}
+ /**
+ * Runs after all subcases finish.
+ * @internal MAINTENANCE_TODO: Make this not visible to test code?
+ */
+ async finalize() {}
+}
+
+/**
+ * A Fixture is a class used to instantiate each test sub/case at run time.
+ * A new instance of the Fixture is created for every single test subcase
+ * (i.e. every time the test function is run).
+ */
+export class Fixture {
+ /**
+ * Interface for recording logs and test status.
+ *
+ * @internal
+ */
+
+ eventualExpectations = [];
+ numOutstandingAsyncExpectations = 0;
+ objectsToCleanUp = [];
+
+ static MakeSharedState(recorder, params) {
+ return new SubcaseBatchState(recorder, params);
+ }
+
+ /** @internal */
+ constructor(sharedState, rec, params) {
+ this._sharedState = sharedState;
+ this.rec = rec;
+ this._params = params;
+ }
+
+ /**
+ * Returns the (case+subcase) parameters for this test function invocation.
+ */
+ get params() {
+ return this._params;
+ }
+
+ /**
+ * Gets the test fixture's shared state. This object is shared between subcases
+ * within the same testcase.
+ */
+ get sharedState() {
+ return this._sharedState;
+ }
+
+ /**
+ * Override this to do additional pre-test-function work in a derived fixture.
+ * This has to be a member function instead of an async `createFixture` function, because
+ * we need to be able to ergonomically override it in subclasses.
+ *
+ * @internal MAINTENANCE_TODO: Make this not visible to test code?
+ */
async init() {}
+ /**
+ * Override this to do additional post-test-function work in a derived fixture.
+ *
+ * Called even if init was unsuccessful.
+ *
+ * @internal MAINTENANCE_TODO: Make this not visible to test code?
+ */
+ async finalize() {
+ assert(
+ this.numOutstandingAsyncExpectations === 0,
+ 'there were outstanding immediateAsyncExpectations (e.g. expectUncapturedError) at the end of the test'
+ );
+
+ // Loop to exhaust the eventualExpectations in case they chain off each other.
+ while (this.eventualExpectations.length) {
+ const p = this.eventualExpectations.shift();
+ try {
+ await p;
+ } catch (ex) {
+ this.rec.threw(ex);
+ }
+ }
+
+ // And clean up any objects now that they're done being used.
+ for (const o of this.objectsToCleanUp) {
+ if ('getExtension' in o) {
+ const WEBGL_lose_context = o.getExtension('WEBGL_lose_context');
+ if (WEBGL_lose_context) WEBGL_lose_context.loseContext();
+ } else if ('destroy' in o) {
+ o.destroy();
+ } else {
+ o.close();
+ }
+ }
+ }
+
+ /**
+ * Tracks an object to be cleaned up after the test finishes.
+ *
+ * MAINTENANCE_TODO: Use this in more places. (Will be easier once .destroy() is allowed on
+ * invalid objects.)
+ */
+ trackForCleanup(o) {
+ this.objectsToCleanUp.push(o);
+ return o;
+ }
+
+ /** Tracks an object, if it's destroyable, to be cleaned up after the test finishes. */
+ tryTrackForCleanup(o) {
+ if (typeof o === 'object' && o !== null) {
+ if (
+ 'destroy' in o ||
+ 'close' in o ||
+ o instanceof WebGLRenderingContext ||
+ o instanceof WebGL2RenderingContext
+ ) {
+ this.objectsToCleanUp.push(o);
+ }
+ }
+ return o;
+ }
+
+ /** Log a debug message. */
debug(msg) {
this.rec.debug(new Error(msg));
}
+ /** Throws an exception marking the subcase as skipped. */
skip(msg) {
throw new SkipTestCase(msg);
}
- async finalize() {
- assert(
- this.numOutstandingAsyncExpectations === 0,
- 'there were outstanding asynchronous expectations (e.g. shouldReject) at the end of the test'
- );
-
- await Promise.all(this.eventualExpectations);
- }
-
+ /** Log a warning and increase the result status to "Warn". */
warn(msg) {
this.rec.warn(new Error(msg));
}
+ /** Log an error and increase the result status to "ExpectFailed". */
fail(msg) {
this.rec.expectationFailed(new Error(msg));
}
+ /**
+ * Wraps an async function. Tracks its status to fail if the test tries to report a test status
+ * before the async work has finished.
+ */
async immediateAsyncExpectation(fn) {
this.numOutstandingAsyncExpectations++;
const ret = await fn();
@@ -66,28 +180,32 @@ export class Fixture {
return ret;
}
+ /**
+ * Wraps an async function, passing it an `Error` object recording the original stack trace.
+ * The async work will be implicitly waited upon before reporting a test status.
+ */
eventualAsyncExpectation(fn) {
const promise = fn(new Error());
this.eventualExpectations.push(promise);
- return promise;
}
- expectErrorValue(expectedName, ex, niceStack) {
+ expectErrorValue(expectedError, ex, niceStack) {
if (!(ex instanceof Error)) {
niceStack.message = `THREW non-error value, of type ${typeof ex}: ${ex}`;
this.rec.expectationFailed(niceStack);
return;
}
const actualName = ex.name;
- if (actualName !== expectedName) {
- niceStack.message = `THREW ${actualName}, instead of ${expectedName}: ${ex}`;
+ if (expectedError !== true && actualName !== expectedError) {
+ niceStack.message = `THREW ${actualName}, instead of ${expectedError}: ${ex}`;
this.rec.expectationFailed(niceStack);
} else {
- niceStack.message = `OK: threw ${actualName}${ex.message}`;
+ niceStack.message = `OK: threw ${actualName}: ${ex.message}`;
this.rec.debug(niceStack);
}
}
+ /** Expect that the provided promise resolves (fulfills). */
shouldResolve(p, msg) {
this.eventualAsyncExpectation(async niceStack => {
const m = msg ? ': ' + msg : '';
@@ -95,12 +213,16 @@ export class Fixture {
await p;
niceStack.message = 'resolved as expected' + m;
} catch (ex) {
- niceStack.message = `REJECTED${m}\n${ex.message}`;
+ niceStack.message = `REJECTED${m}`;
+ if (ex instanceof Error) {
+ niceStack.message += '\n' + ex.message;
+ }
this.rec.expectationFailed(niceStack);
}
});
}
+ /** Expect that the provided promise rejects, with the provided exception name. */
shouldReject(expectedName, p, msg) {
this.eventualAsyncExpectation(async niceStack => {
const m = msg ? ': ' + msg : '';
@@ -115,16 +237,31 @@ export class Fixture {
});
}
- shouldThrow(expectedName, fn, msg) {
+ /**
+ * Expect that the provided function throws (if `true` or `string`) or not (if `false`).
+ * If a string is provided, expect that the throw exception has that name.
+ *
+ * MAINTENANCE_TODO: Change to `string | false` so the exception name is always checked.
+ */
+ shouldThrow(expectedError, fn, msg) {
const m = msg ? ': ' + msg : '';
try {
fn();
- this.rec.expectationFailed(new Error('DID NOT THROW' + m));
+ if (expectedError === false) {
+ this.rec.debug(new Error('did not throw, as expected' + m));
+ } else {
+ this.rec.expectationFailed(new Error('unexpectedly did not throw' + m));
+ }
} catch (ex) {
- this.expectErrorValue(expectedName, ex, new Error(m));
+ if (expectedError === false) {
+ this.rec.expectationFailed(new Error('threw unexpectedly' + m));
+ } else {
+ this.expectErrorValue(expectedError, ex, new Error(m));
+ }
}
}
+ /** Expect that a condition is true. */
expect(cond, msg) {
if (cond) {
const m = msg ? ': ' + msg : '';
@@ -134,4 +271,39 @@ export class Fixture {
}
return cond;
}
+
+ /**
+ * If the argument is an `Error`, fail (or warn). If it's `undefined`, no-op.
+ * If the argument is an array, apply the above behavior on each of elements.
+ */
+ expectOK(error, { mode = 'fail', niceStack } = {}) {
+ const handleError = error => {
+ if (error instanceof Error) {
+ if (niceStack) {
+ error.stack = niceStack.stack;
+ }
+ if (mode === 'fail') {
+ this.rec.expectationFailed(error);
+ } else if (mode === 'warn') {
+ this.rec.warn(error);
+ } else {
+ unreachable();
+ }
+ }
+ };
+
+ if (Array.isArray(error)) {
+ for (const e of error) {
+ handleError(e);
+ }
+ } else {
+ handleError(error);
+ }
+ }
+
+ eventualExpectOK(error, { mode = 'fail' } = {}) {
+ this.eventualAsyncExpectation(async niceStack => {
+ this.expectOK(await error, { mode, niceStack });
+ });
+ }
}
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/gpu/device_pool.js b/tests/wpt/webgpu/tests/webgpu/common/framework/gpu/device_pool.js
deleted file mode 100644
index f72b6b734c6..00000000000
--- a/tests/wpt/webgpu/tests/webgpu/common/framework/gpu/device_pool.js
+++ /dev/null
@@ -1,155 +0,0 @@
-/**
- * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
- **/ function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true,
- });
- } else {
- obj[key] = value;
- }
- return obj;
-}
-import { assert, raceWithRejectOnTimeout, unreachable, assertReject } from '../util/util.js';
-import { getGPU } from './implementation.js';
-
-class TestFailedButDeviceReusable extends Error {}
-export class TestOOMedShouldAttemptGC extends Error {}
-
-const kPopErrorScopeTimeoutMS = 5000;
-
-export class DevicePool {
- constructor() {
- _defineProperty(this, 'failed', false);
- _defineProperty(this, 'holder', undefined);
- } // undefined if "uninitialized" (not yet initialized, or lost)
-
- async acquire() {
- assert(!this.failed, 'WebGPU device previously failed to initialize; not retrying');
-
- if (this.holder === undefined) {
- try {
- this.holder = await DevicePool.makeHolder();
- } catch (ex) {
- this.failed = true;
- throw ex;
- }
- }
- assert(!this.holder.acquired, 'Device was in use on DevicePool.acquire');
- this.holder.acquired = true;
-
- this.beginErrorScopes();
- return this.holder.device;
- }
-
- // When a test is done using a device, it's released back into the pool.
- // This waits for error scopes, checks their results, and checks for various error conditions.
- async release(device) {
- const holder = this.holder;
- assert(holder !== undefined, 'trying to release a device while pool is uninitialized');
- assert(holder.acquired, 'trying to release a device while already released');
- assert(device === holder.device, 'Released device was the wrong device');
-
- try {
- // Time out if popErrorScope never completes. This could happen due to a browser bug - e.g.,
- // as of this writing, on Chrome GPU process crash, popErrorScope just hangs.
- await raceWithRejectOnTimeout(
- this.endErrorScopes(),
- kPopErrorScopeTimeoutMS,
- 'finalization popErrorScope timed out'
- );
-
- // (Hopefully if the device was lost, it has been reported by the time endErrorScopes()
- // has finished (or timed out). If not, it could cause a finite number of extra test
- // failures following this one (but should recover eventually).)
- const lostReason = holder.lostReason;
- if (lostReason !== undefined) {
- // Fail the current test.
- unreachable(`Device was lost: ${lostReason}`);
- }
- } catch (ex) {
- // Any error that isn't explicitly TestFailedButDeviceReusable forces a new device to be
- // created for the next test.
- if (!(ex instanceof TestFailedButDeviceReusable)) {
- this.holder = undefined;
- }
- throw ex;
- } finally {
- // TODO: device.destroy()
-
- // Mark the holder as free. (This only has an effect if the pool still has the holder.)
- // This could be done at the top but is done here to guard against async-races during release.
- holder.acquired = false;
- }
- }
-
- // Gets a device and creates a DeviceHolder.
- // If the device is lost, DeviceHolder.lostReason gets set.
- static async makeHolder() {
- const gpu = getGPU();
- const adapter = await gpu.requestAdapter();
- assert(adapter !== null);
- const device = await adapter.requestDevice();
- assert(device !== null);
-
- const holder = {
- acquired: false,
- device,
- lostReason: undefined,
- };
-
- holder.device.lost.then(ev => {
- holder.lostReason = ev.message;
- });
- return holder;
- }
-
- // Create error scopes that wrap the entire test.
- beginErrorScopes() {
- assert(this.holder !== undefined);
- this.holder.device.pushErrorScope('out-of-memory');
- this.holder.device.pushErrorScope('validation');
- }
-
- // End the whole-test error scopes. Check that there are no extra error scopes, and that no
- // otherwise-uncaptured errors occurred during the test.
- async endErrorScopes() {
- assert(this.holder !== undefined);
- let gpuValidationError;
- let gpuOutOfMemoryError;
-
- try {
- // May reject if the device was lost.
- gpuValidationError = await this.holder.device.popErrorScope();
- gpuOutOfMemoryError = await this.holder.device.popErrorScope();
- } catch (ex) {
- assert(
- this.holder.lostReason !== undefined,
- "popErrorScope failed, but device.lost hasn't fired (yet)"
- );
-
- throw ex;
- }
-
- await assertReject(
- this.holder.device.popErrorScope(),
- 'There was an extra error scope on the stack after a test'
- );
-
- if (gpuValidationError !== null) {
- assert(gpuValidationError instanceof GPUValidationError);
- // Allow the device to be reused.
- throw new TestFailedButDeviceReusable(
- `Unexpected validation error occurred: ${gpuValidationError.message}`
- );
- }
- if (gpuOutOfMemoryError !== null) {
- assert(gpuOutOfMemoryError instanceof GPUOutOfMemoryError);
- // Don't allow the device to be reused; unexpected OOM could break the device.
- throw new TestOOMedShouldAttemptGC('Unexpected out-of-memory error occurred');
- }
- }
-}
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/gpu/implementation.js b/tests/wpt/webgpu/tests/webgpu/common/framework/gpu/implementation.js
deleted file mode 100644
index ab118a45444..00000000000
--- a/tests/wpt/webgpu/tests/webgpu/common/framework/gpu/implementation.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
- **/ ///
-import { assert } from '../util/util.js';
-let impl = undefined;
-
-export function getGPU() {
- if (impl) {
- return impl;
- }
-
- assert(
- typeof navigator !== 'undefined' && navigator.gpu !== undefined,
- 'No WebGPU implementation found'
- );
-
- impl = navigator.gpu;
- return impl;
-}
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/logging/log_message.js b/tests/wpt/webgpu/tests/webgpu/common/framework/logging/log_message.js
deleted file mode 100644
index 8c1007fa822..00000000000
--- a/tests/wpt/webgpu/tests/webgpu/common/framework/logging/log_message.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
- **/ function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true,
- });
- } else {
- obj[key] = value;
- }
- return obj;
-}
-import { extractImportantStackTrace } from '../util/stack.js';
-export class LogMessageWithStack extends Error {
- constructor(name, ex) {
- super(ex.message);
- _defineProperty(this, 'stackHidden', false);
- _defineProperty(this, 'timesSeen', 1);
-
- this.name = name;
- this.stack = ex.stack;
- }
-
- /** Set a flag so the stack is not printed in toJSON(). */
- setStackHidden() {
- this.stackHidden = true;
- }
-
- /** Increment the "seen x times" counter. */
- incrementTimesSeen() {
- this.timesSeen++;
- }
-
- toJSON() {
- let m = this.name;
- if (this.message) m += ': ' + this.message;
- if (!this.stackHidden && this.stack) {
- m += '\n' + extractImportantStackTrace(this);
- }
- if (this.timesSeen > 1) {
- m += `\n(seen ${this.timesSeen} times with identical stack)`;
- }
- return m;
- }
-}
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/logging/logger.js b/tests/wpt/webgpu/tests/webgpu/common/framework/logging/logger.js
deleted file mode 100644
index c4e65c746f0..00000000000
--- a/tests/wpt/webgpu/tests/webgpu/common/framework/logging/logger.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
- **/ function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true,
- });
- } else {
- obj[key] = value;
- }
- return obj;
-}
-import { version } from '../version.js';
-import { TestCaseRecorder } from './test_case_recorder.js';
-
-export class Logger {
- constructor(debug) {
- _defineProperty(this, 'debug', void 0);
- _defineProperty(this, 'results', new Map());
- this.debug = debug;
- }
-
- record(name) {
- const result = { status: 'running', timems: -1 };
- this.results.set(name, result);
- return [new TestCaseRecorder(result, this.debug), result];
- }
-
- asJSON(space) {
- return JSON.stringify({ version, results: Array.from(this.results) }, undefined, space);
- }
-}
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/logging/test_case_recorder.js b/tests/wpt/webgpu/tests/webgpu/common/framework/logging/test_case_recorder.js
deleted file mode 100644
index 37acb53143c..00000000000
--- a/tests/wpt/webgpu/tests/webgpu/common/framework/logging/test_case_recorder.js
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
- **/ function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true,
- });
- } else {
- obj[key] = value;
- }
- return obj;
-}
-import { SkipTestCase } from '../fixture.js';
-import { now, assert } from '../util/util.js';
-import { LogMessageWithStack } from './log_message.js';
-var LogSeverity;
-(function (LogSeverity) {
- LogSeverity[(LogSeverity['Pass'] = 0)] = 'Pass';
- LogSeverity[(LogSeverity['Skip'] = 1)] = 'Skip';
- LogSeverity[(LogSeverity['Warn'] = 2)] = 'Warn';
- LogSeverity[(LogSeverity['ExpectFailed'] = 3)] = 'ExpectFailed';
- LogSeverity[(LogSeverity['ValidationFailed'] = 4)] = 'ValidationFailed';
- LogSeverity[(LogSeverity['ThrewException'] = 5)] = 'ThrewException';
-})(LogSeverity || (LogSeverity = {}));
-
-const kMaxLogStacks = 2;
-
-/** Holds onto a LiveTestCaseResult owned by the Logger, and writes the results into it. */
-export class TestCaseRecorder {
- /** Used to dedup log messages which have identical stacks. */
-
- constructor(result, debugging) {
- _defineProperty(this, 'result', void 0);
- _defineProperty(this, 'maxLogSeverity', LogSeverity.Pass);
- _defineProperty(this, 'startTime', -1);
- _defineProperty(this, 'logs', []);
- _defineProperty(this, 'logLinesAtCurrentSeverity', 0);
- _defineProperty(this, 'debugging', false);
- _defineProperty(this, 'messagesForPreviouslySeenStacks', new Map());
- this.result = result;
- this.debugging = debugging;
- }
-
- start() {
- assert(this.startTime < 0, 'TestCaseRecorder cannot be reused');
- this.startTime = now();
- }
-
- finish() {
- assert(this.startTime >= 0, 'finish() before start()');
-
- const timeMilliseconds = now() - this.startTime;
- // Round to next microsecond to avoid storing useless .xxxx00000000000002 in results.
- this.result.timems = Math.ceil(timeMilliseconds * 1000) / 1000;
-
- // Convert numeric enum back to string (but expose 'exception' as 'fail')
- this.result.status =
- this.maxLogSeverity === LogSeverity.Pass
- ? 'pass'
- : this.maxLogSeverity === LogSeverity.Skip
- ? 'skip'
- : this.maxLogSeverity === LogSeverity.Warn
- ? 'warn'
- : 'fail'; // Everything else is an error
-
- this.result.logs = this.logs;
- }
-
- injectResult(injectedResult) {
- Object.assign(this.result, injectedResult);
- }
-
- debug(ex) {
- if (!this.debugging) {
- return;
- }
- const logMessage = new LogMessageWithStack('DEBUG', ex);
- logMessage.setStackHidden();
- this.logImpl(LogSeverity.Pass, logMessage);
- }
-
- skipped(ex) {
- this.logImpl(LogSeverity.Skip, new LogMessageWithStack('SKIP', ex));
- }
-
- warn(ex) {
- this.logImpl(LogSeverity.Warn, new LogMessageWithStack('WARN', ex));
- }
-
- expectationFailed(ex) {
- this.logImpl(LogSeverity.ExpectFailed, new LogMessageWithStack('EXPECTATION FAILED', ex));
- }
-
- validationFailed(ex) {
- this.logImpl(LogSeverity.ValidationFailed, new LogMessageWithStack('VALIDATION FAILED', ex));
- }
-
- threw(ex) {
- if (ex instanceof SkipTestCase) {
- this.skipped(ex);
- return;
- }
- this.logImpl(LogSeverity.ThrewException, new LogMessageWithStack('EXCEPTION', ex));
- }
-
- logImpl(level, logMessage) {
- // Deduplicate errors with the exact same stack
- if (logMessage.stack) {
- const seen = this.messagesForPreviouslySeenStacks.get(logMessage.stack);
- if (seen) {
- seen.incrementTimesSeen();
- return;
- }
- this.messagesForPreviouslySeenStacks.set(logMessage.stack, logMessage);
- }
-
- // Mark printStack=false for all logs except 2 at the highest severity
- if (level > this.maxLogSeverity) {
- this.logLinesAtCurrentSeverity = 0;
- this.maxLogSeverity = level;
- if (!this.debugging) {
- // Go back and turn off printStack for everything of a lower log level
- for (const log of this.logs) {
- log.setStackHidden();
- }
- }
- }
- if (level < this.maxLogSeverity || this.logLinesAtCurrentSeverity >= kMaxLogStacks) {
- if (!this.debugging) {
- logMessage.setStackHidden();
- }
- }
- this.logs.push(logMessage);
- this.logLinesAtCurrentSeverity++;
- }
-}
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/params_builder.js b/tests/wpt/webgpu/tests/webgpu/common/framework/params_builder.js
index f585e3a2184..787911f9649 100644
--- a/tests/wpt/webgpu/tests/webgpu/common/framework/params_builder.js
+++ b/tests/wpt/webgpu/tests/webgpu/common/framework/params_builder.js
@@ -1,140 +1,213 @@
/**
* AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
- **/ let _Symbol$iterator;
-function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true,
- });
- } else {
- obj[key] = value;
+ **/ import { mergeParams } from '../internal/params_utils.js';
+import { stringifyPublicParams } from '../internal/query/stringify_params.js';
+import { assert, mapLazy } from '../util/util.js';
+
+// ================================================================
+// "Public" ParamsBuilder API / Documentation
+// ================================================================
+
+/**
+ * Provides doc comments for the methods of CaseParamsBuilder and SubcaseParamsBuilder.
+ * (Also enforces rough interface match between them.)
+ */
+
+/**
+ * Base class for `CaseParamsBuilder` and `SubcaseParamsBuilder`.
+ */
+export class ParamsBuilderBase {
+ constructor(cases) {
+ this.cases = cases;
}
- return obj;
-}
-import { publicParamsEquals } from './params_utils.js';
-import { assert } from './util/util.js';
-/** Forces a type to resolve its type definitions, to make it readable/debuggable. */
-function typeAssert() {}
-{
- {
- typeAssert();
- typeAssert();
- typeAssert();
- typeAssert();
- typeAssert();
-
- typeAssert();
-
- typeAssert();
- typeAssert();
- typeAssert();
- typeAssert();
- typeAssert();
-
- // Unexpected test results - hopefully okay to ignore these
- typeAssert();
- typeAssert();
- }
+ /**
+ * Hidden from test files. Use `builderIterateCasesWithSubcases` to access this.
+ */
}
-export function poptions(name, values) {
- const iter = makeReusableIterable(function* () {
- for (const value of values) {
- yield { [name]: value };
+/**
+ * Calls the (normally hidden) `iterateCasesWithSubcases()` method.
+ */
+export function builderIterateCasesWithSubcases(builder) {
+ return builder.iterateCasesWithSubcases();
+}
+
+/**
+ * Builder for combinatorial test **case** parameters.
+ *
+ * CaseParamsBuilder is immutable. Each method call returns a new, immutable object,
+ * modifying the list of cases according to the method called.
+ *
+ * This means, for example, that the `unit` passed into `TestBuilder.params()` can be reused.
+ */
+export class CaseParamsBuilder extends ParamsBuilderBase {
+ *iterateCasesWithSubcases() {
+ for (const a of this.cases()) {
+ yield [a, undefined];
}
- });
-
- return iter;
-}
-
-export function pbool(name) {
- return poptions(name, [false, true]);
-}
-
-export function params() {
- return new ParamsBuilder();
-}
-_Symbol$iterator = Symbol.iterator;
-export class ParamsBuilder {
- constructor() {
- _defineProperty(this, 'paramSpecs', [{}]);
- }
- [_Symbol$iterator]() {
- const iter = this.paramSpecs[Symbol.iterator]();
- return iter;
}
- combine(newParams) {
- const paramSpecs = this.paramSpecs;
- this.paramSpecs = makeReusableIterable(function* () {
- for (const a of paramSpecs) {
- for (const b of newParams) {
- yield mergeParams(a, b);
- }
+ [Symbol.iterator]() {
+ return this.cases();
+ }
+
+ /** @inheritDoc */
+ expandWithParams(expander) {
+ const newGenerator = expanderGenerator(this.cases, expander);
+ return new CaseParamsBuilder(() => newGenerator({}));
+ }
+
+ /** @inheritDoc */
+ expand(key, expander) {
+ return this.expandWithParams(function* (p) {
+ for (const value of expander(p)) {
+ yield { [key]: value };
}
});
-
- return this;
}
- expand(expander) {
- const paramSpecs = this.paramSpecs;
- this.paramSpecs = makeReusableIterable(function* () {
- for (const a of paramSpecs) {
- for (const b of expander(a)) {
- yield mergeParams(a, b);
- }
- }
- });
+ /** @inheritDoc */
+ combineWithParams(newParams) {
+ assertNotGenerator(newParams);
+ const seenValues = new Set();
+ for (const params of newParams) {
+ const paramsStr = stringifyPublicParams(params);
+ assert(!seenValues.has(paramsStr), `Duplicate entry in combine[WithParams]: ${paramsStr}`);
+ seenValues.add(paramsStr);
+ }
- return this;
+ return this.expandWithParams(() => newParams);
}
+ /** @inheritDoc */
+ combine(key, values) {
+ assertNotGenerator(values);
+ const mapped = mapLazy(values, v => ({ [key]: v }));
+ return this.combineWithParams(mapped);
+ }
+
+ /** @inheritDoc */
filter(pred) {
- const paramSpecs = this.paramSpecs;
- this.paramSpecs = makeReusableIterable(function* () {
- for (const p of paramSpecs) {
- if (pred(p)) {
- yield p;
- }
- }
- });
- return this;
+ const newGenerator = filterGenerator(this.cases, pred);
+ return new CaseParamsBuilder(() => newGenerator({}));
}
+ /** @inheritDoc */
unless(pred) {
return this.filter(x => !pred(x));
}
- exclude(exclude) {
- const excludeArray = Array.from(exclude);
- const paramSpecs = this.paramSpecs;
- this.paramSpecs = makeReusableIterable(function* () {
- for (const p of paramSpecs) {
- if (excludeArray.every(e => !publicParamsEquals(p, e))) {
- yield p;
- }
+ /**
+ * "Finalize" the list of cases and begin defining subcases.
+ * Returns a new SubcaseParamsBuilder. Methods called on SubcaseParamsBuilder
+ * generate new subcases instead of new cases.
+ */
+ beginSubcases() {
+ return new SubcaseParamsBuilder(
+ () => this.cases(),
+ function* () {
+ yield {};
+ }
+ );
+ }
+}
+
+/**
+ * The unit CaseParamsBuilder, representing a single case with no params: `[ {} ]`.
+ *
+ * `punit` is passed to every `.params()`/`.paramsSubcasesOnly()` call, so `kUnitCaseParamsBuilder`
+ * is only explicitly needed if constructing a ParamsBuilder outside of a test builder.
+ */
+export const kUnitCaseParamsBuilder = new CaseParamsBuilder(function* () {
+ yield {};
+});
+
+/**
+ * Builder for combinatorial test _subcase_ parameters.
+ *
+ * SubcaseParamsBuilder is immutable. Each method call returns a new, immutable object,
+ * modifying the list of subcases according to the method called.
+ */
+export class SubcaseParamsBuilder extends ParamsBuilderBase {
+ constructor(cases, generator) {
+ super(cases);
+ this.subcases = generator;
+ }
+
+ *iterateCasesWithSubcases() {
+ for (const caseP of this.cases()) {
+ const subcases = Array.from(this.subcases(caseP));
+ if (subcases.length) {
+ yield [caseP, subcases];
+ }
+ }
+ }
+
+ /** @inheritDoc */
+ expandWithParams(expander) {
+ return new SubcaseParamsBuilder(this.cases, expanderGenerator(this.subcases, expander));
+ }
+
+ /** @inheritDoc */
+ expand(key, expander) {
+ return this.expandWithParams(function* (p) {
+ for (const value of expander(p)) {
+ // TypeScript doesn't know here that NewPKey is always a single literal string type.
+ yield { [key]: value };
}
});
- return this;
+ }
+
+ /** @inheritDoc */
+ combineWithParams(newParams) {
+ assertNotGenerator(newParams);
+ return this.expandWithParams(() => newParams);
+ }
+
+ /** @inheritDoc */
+ combine(key, values) {
+ assertNotGenerator(values);
+ return this.expand(key, () => values);
+ }
+
+ /** @inheritDoc */
+ filter(pred) {
+ return new SubcaseParamsBuilder(this.cases, filterGenerator(this.subcases, pred));
+ }
+
+ /** @inheritDoc */
+ unless(pred) {
+ return this.filter(x => !pred(x));
}
}
-// If you create an Iterable by calling a generator function (e.g. in IIFE), it is exhausted after
-// one use. This just wraps a generator function in an object so it be iterated multiple times.
-function makeReusableIterable(generatorFn) {
- return { [Symbol.iterator]: generatorFn };
+function expanderGenerator(baseGenerator, expander) {
+ return function* (base) {
+ for (const a of baseGenerator(base)) {
+ for (const b of expander(mergeParams(base, a))) {
+ yield mergeParams(a, b);
+ }
+ }
+ };
}
-// (keyof A & keyof B) is not empty, so they overlapped
+function filterGenerator(baseGenerator, pred) {
+ return function* (base) {
+ for (const a of baseGenerator(base)) {
+ if (pred(mergeParams(base, a))) {
+ yield a;
+ }
+ }
+ };
+}
-function mergeParams(a, b) {
- for (const key of Object.keys(a)) {
- assert(!(key in b), 'Duplicate key: ' + key);
+/** Assert an object is not a Generator (a thing returned from a generator function). */
+function assertNotGenerator(x) {
+ if ('constructor' in x) {
+ assert(
+ x.constructor !== (function* () {})().constructor,
+ 'Argument must not be a generator, as generators are not reusable'
+ );
}
- return { ...a, ...b };
}
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/query/json_param_value.js b/tests/wpt/webgpu/tests/webgpu/common/framework/query/json_param_value.js
deleted file mode 100644
index 921b3ddce6a..00000000000
--- a/tests/wpt/webgpu/tests/webgpu/common/framework/query/json_param_value.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
- **/ import { assert } from '../util/util.js';
-// JSON can't represent `undefined` and by default stores it as `null`.
-// Instead, store `undefined` as this magic string value in JSON.
-const jsUndefinedMagicValue = '_undef_';
-
-export function stringifyParamValue(value) {
- return JSON.stringify(value, (k, v) => {
- // Make sure no one actually uses the magic value as a parameter.
- assert(v !== jsUndefinedMagicValue);
-
- return v === undefined ? jsUndefinedMagicValue : v;
- });
-}
-
-export function parseParamValue(s) {
- return JSON.parse(s, (k, v) => (v === jsUndefinedMagicValue ? undefined : v));
-}
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/query/query.js b/tests/wpt/webgpu/tests/webgpu/common/framework/query/query.js
deleted file mode 100644
index 0a9742055eb..00000000000
--- a/tests/wpt/webgpu/tests/webgpu/common/framework/query/query.js
+++ /dev/null
@@ -1,127 +0,0 @@
-/**
- * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
- **/ function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true,
- });
- } else {
- obj[key] = value;
- }
- return obj;
-}
-import { assert } from '../util/util.js';
-import { encodeURIComponentSelectively } from './encode_selectively.js';
-import { kBigSeparator, kPathSeparator, kWildcard, kParamSeparator } from './separators.js';
-import { stringifyPublicParams } from './stringify_params.js';
-
-/**
- * Represents a test query of some level.
- *
- * TestQuery types are immutable.
- */
-
-// SingleCase
-
-/**
- * A multi-file test query, like `s:*` or `s:a,b,*`.
- *
- * Immutable (makes copies of constructor args).
- */
-export class TestQueryMultiFile {
- constructor(suite, file) {
- _defineProperty(this, 'level', 1);
- _defineProperty(this, 'isMultiFile', true);
- _defineProperty(this, 'suite', void 0);
- _defineProperty(this, 'filePathParts', void 0);
- this.suite = suite;
- this.filePathParts = [...file];
- }
-
- toString() {
- return encodeURIComponentSelectively(this.toStringHelper().join(kBigSeparator));
- }
-
- toStringHelper() {
- return [this.suite, [...this.filePathParts, kWildcard].join(kPathSeparator)];
- }
-}
-
-/**
- * A multi-test test query, like `s:f:*` or `s:f:a,b,*`.
- *
- * Immutable (makes copies of constructor args).
- */
-export class TestQueryMultiTest extends TestQueryMultiFile {
- constructor(suite, file, test) {
- super(suite, file);
- _defineProperty(this, 'level', 2);
- _defineProperty(this, 'isMultiFile', false);
- _defineProperty(this, 'isMultiTest', true);
- _defineProperty(this, 'testPathParts', void 0);
- assert(file.length > 0, 'multi-test (or finer) query must have file-path');
- this.testPathParts = [...test];
- }
-
- toStringHelper() {
- return [
- this.suite,
- this.filePathParts.join(kPathSeparator),
- [...this.testPathParts, kWildcard].join(kPathSeparator),
- ];
- }
-}
-
-/**
- * A multi-case test query, like `s:f:t:*` or `s:f:t:a,b,*`.
- *
- * Immutable (makes copies of constructor args), except for param values
- * (which aren't normally supposed to change; they're marked readonly in CaseParams).
- */
-export class TestQueryMultiCase extends TestQueryMultiTest {
- constructor(suite, file, test, params) {
- super(suite, file, test);
- _defineProperty(this, 'level', 3);
- _defineProperty(this, 'isMultiTest', false);
- _defineProperty(this, 'isMultiCase', true);
- _defineProperty(this, 'params', void 0);
- assert(test.length > 0, 'multi-case (or finer) query must have test-path');
- this.params = { ...params };
- }
-
- toStringHelper() {
- const paramsParts = stringifyPublicParams(this.params);
- return [
- this.suite,
- this.filePathParts.join(kPathSeparator),
- this.testPathParts.join(kPathSeparator),
- [...paramsParts, kWildcard].join(kParamSeparator),
- ];
- }
-}
-
-/**
- * A multi-case test query, like `s:f:t:` or `s:f:t:a=1,b=1`.
- *
- * Immutable (makes copies of constructor args).
- */
-export class TestQuerySingleCase extends TestQueryMultiCase {
- constructor(...args) {
- super(...args);
- _defineProperty(this, 'level', 4);
- _defineProperty(this, 'isMultiCase', false);
- }
-
- toStringHelper() {
- const paramsParts = stringifyPublicParams(this.params);
- return [
- this.suite,
- this.filePathParts.join(kPathSeparator),
- this.testPathParts.join(kPathSeparator),
- paramsParts.join(kParamSeparator),
- ];
- }
-}
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/query/stringify_params.js b/tests/wpt/webgpu/tests/webgpu/common/framework/query/stringify_params.js
deleted file mode 100644
index b9c9cde7067..00000000000
--- a/tests/wpt/webgpu/tests/webgpu/common/framework/query/stringify_params.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
- **/ import { badParamValueChars, paramKeyIsPublic } from '../params_utils.js';
-import { assert } from '../util/util.js';
-
-import { stringifyParamValue } from './json_param_value.js';
-import { kParamKVSeparator } from './separators.js';
-
-export function stringifyPublicParams(p) {
- return Object.keys(p)
- .filter(k => paramKeyIsPublic(k))
- .map(k => stringifySingleParam(k, p[k]));
-}
-
-export function stringifySingleParam(k, v) {
- return `${k}${kParamKVSeparator}${stringifySingleParamValue(v)}`;
-}
-
-function stringifySingleParamValue(v) {
- const s = stringifyParamValue(v);
- assert(
- !badParamValueChars.test(s),
- `JSON.stringified param value must not match ${badParamValueChars} - was ${s}`
- );
-
- return s;
-}
diff --git a/tests/wpt/webgpu/tests/webgpu/common/framework/resources.js b/tests/wpt/webgpu/tests/webgpu/common/framework/resources.js
new file mode 100644
index 00000000000..72eabeda4e4
--- /dev/null
+++ b/tests/wpt/webgpu/tests/webgpu/common/framework/resources.js
@@ -0,0 +1,111 @@
+/**
+ * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts
+ **/ /**
+ * Base path for resources. The default value is correct for non-worker WPT, but standalone and
+ * workers must access resources using a different base path, so this is overridden in
+ * `test_worker-worker.ts` and `standalone.ts`.
+ */ let baseResourcePath = './resources';
+let crossOriginHost = '';
+
+function getAbsoluteBaseResourcePath(path) {
+ // Path is already an absolute one.
+ if (path[0] === '/') {
+ return path;
+ }
+
+ // Path is relative
+ const relparts = window.location.pathname.split('/');
+ relparts.pop();
+ const pathparts = path.split('/');
+
+ let i;
+ for (i = 0; i < pathparts.length; ++i) {
+ switch (pathparts[i]) {
+ case '':
+ break;
+ case '.':
+ break;
+ case '..':
+ relparts.pop();
+ break;
+ default:
+ relparts.push(pathparts[i]);
+ break;
+ }
+ }
+
+ return relparts.join('/');
+}
+
+function runningOnLocalHost() {
+ const hostname = window.location.hostname;
+ return hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1';
+}
+
+/**
+ * Get a path to a resource in the `resources` directory relative to the current execution context
+ * (html file or worker .js file), for `fetch()`, `
`, `