From 2817980f2dfac88890b57b14b1a2a0e1dda567fb Mon Sep 17 00:00:00 2001 From: Gregg Tavares Date: Tue, 29 Oct 2024 13:05:30 -0700 Subject: [PATCH] stencil-8 mode --- CONTRIBUTING.md | 31 - Gruntfile.js | 322 - LICENSE.txt | 26 - README.md | 22 - babel.config.js | 21 - common/framework/data_cache.js | 176 + common/framework/data_cache.js.map | 1 + common/framework/fixture.js | 399 + common/framework/fixture.js.map | 1 + common/framework/metadata.js | 30 + common/framework/metadata.js.map | 1 + common/framework/params_builder.js | 390 + common/framework/params_builder.js.map | 1 + common/framework/resources.js | 111 + common/framework/resources.js.map | 1 + common/framework/test_config.js | 51 + common/framework/test_config.js.map | 1 + common/framework/test_group.js | 4 + common/framework/test_group.js.map | 1 + common/internal/file_loader.js | 108 + common/internal/file_loader.js.map | 1 + common/internal/logging/log_message.js | 82 + common/internal/logging/log_message.js.map | 1 + common/internal/logging/logger.js | 30 + common/internal/logging/logger.js.map | 1 + common/internal/logging/result.js | 35 + common/internal/logging/result.js.map | 1 + common/internal/logging/test_case_recorder.js | 185 + .../logging/test_case_recorder.js.map | 1 + common/internal/params_utils.js | 139 + common/internal/params_utils.js.map | 1 + common/internal/query/compare.js | 99 + common/internal/query/compare.js.map | 1 + common/internal/query/encode_selectively.js | 24 + .../internal/query/encode_selectively.js.map | 1 + common/internal/query/json_param_value.js | 115 + common/internal/query/json_param_value.js.map | 1 + common/internal/query/parseQuery.js | 193 + common/internal/query/parseQuery.js.map | 1 + common/internal/query/query.js | 263 + common/internal/query/query.js.map | 1 + common/internal/query/separators.js | 15 + common/internal/query/separators.js.map | 1 + common/internal/query/stringify_params.js | 45 + common/internal/query/stringify_params.js.map | 1 + common/internal/query/validQueryPart.js | 4 + common/internal/query/validQueryPart.js.map | 1 + common/internal/stack.js | 83 + common/internal/stack.js.map | 1 + common/internal/test_group.js | 746 + common/internal/test_group.js.map | 1 + common/internal/test_suite_listing.js | 7 + common/internal/test_suite_listing.js.map | 1 + common/internal/tree.js | 677 + common/internal/tree.js.map | 1 + common/internal/util.js | 11 + common/internal/util.js.map | 1 + common/internal/version.js | 3 + common/internal/websocket_logger.js | 58 + common/internal/websocket_logger.js.map | 1 + common/runtime/cmdline.js | 295 + common/runtime/cmdline.js.map | 1 + common/runtime/helper/options.js | 169 + common/runtime/helper/options.js.map | 1 + common/runtime/helper/sys.js | 48 + common/runtime/helper/sys.js.map | 1 + common/runtime/helper/test_worker-worker.js | 48 + .../runtime/helper/test_worker-worker.js.map | 1 + common/runtime/helper/test_worker.js | 196 + common/runtime/helper/test_worker.js.map | 1 + common/runtime/helper/utils_worker.js | 36 + common/runtime/helper/utils_worker.js.map | 1 + common/runtime/helper/wrap_for_worker.js | 55 + common/runtime/helper/wrap_for_worker.js.map | 1 + common/runtime/server.js | 249 + common/runtime/server.js.map | 1 + common/runtime/standalone.js | 702 + common/runtime/standalone.js.map | 1 + common/runtime/wpt.js | 90 + common/runtime/wpt.js.map | 1 + common/tools/checklist.js | 137 + common/tools/checklist.js.map | 1 + common/tools/crawl.js | 172 + common/tools/crawl.js.map | 1 + common/tools/dev_server.js | 224 + common/tools/dev_server.js.map | 1 + common/tools/gen_cache.js | 301 + common/tools/gen_cache.js.map | 1 + common/tools/gen_listings.js | 57 + common/tools/gen_listings.js.map | 1 + common/tools/gen_listings_and_webworkers.js | 91 + .../tools/gen_listings_and_webworkers.js.map | 1 + common/tools/gen_wpt_cts_html.js | 310 + common/tools/gen_wpt_cts_html.js.map | 1 + common/tools/image_utils.js | 59 + common/tools/image_utils.js.map | 1 + common/tools/merge_listing_times.js | 170 + common/tools/merge_listing_times.js.map | 1 + common/tools/run_wpt_ref_tests.js | 447 + common/tools/run_wpt_ref_tests.js.map | 1 + .../tools/setup-ts-in-node.js | 13 +- common/tools/setup-ts-in-node.js.map | 1 + common/tools/validate.js | 54 + common/tools/validate.js.map | 1 + common/tools/version.js | 6 + common/tools/version.js.map | 1 + common/util/collect_garbage.js | 59 + common/util/collect_garbage.js.map | 1 + common/util/colors.js | 128 + common/util/colors.js.map | 1 + common/util/crc32.js | 58 + common/util/crc32.js.map | 1 + common/util/data_tables.js | 130 + common/util/data_tables.js.map | 1 + common/util/navigator_gpu.js | 86 + common/util/navigator_gpu.js.map | 1 + common/util/parse_imports.js | 37 + common/util/parse_imports.js.map | 1 + common/util/preprocessor.js | 150 + common/util/preprocessor.js.map | 1 + common/util/timeout.js | 8 + common/util/timeout.js.map | 1 + common/util/types.js | 98 + common/util/types.js.map | 1 + common/util/util.js | 479 + common/util/util.js.map | 1 + common/util/wpt_reftest_wait.js | 25 + common/util/wpt_reftest_wait.js.map | 1 + cts.code-workspace | 116 - demo/a.spec.js | 9 + demo/a.spec.js.map | 1 + demo/a/b.spec.js | 7 + demo/a/b.spec.js.map | 1 + demo/a/b/c.spec.js | 81 + demo/a/b/c.spec.js.map | 1 + demo/a/b/d.spec.js | 9 + demo/a/b/d.spec.js.map | 1 + .../in_single_child_dir/r.spec.js | 7 + .../in_single_child_dir/r.spec.js.map | 1 + demo/json.spec.js | 11 + demo/json.spec.js.map | 1 + demo/listing.js | 63 + demo/subcases.spec.js | 39 + demo/subcases.spec.js.map | 1 + demo/webworker/a.as_worker.js | 6 + demo/webworker/a/b.as_worker.js | 6 + demo/webworker/a/b/c.as_worker.js | 6 + demo/webworker/a/b/d.as_worker.js | 6 + .../in_single_child_dir/r.as_worker.js | 6 + demo/webworker/json.as_worker.js | 6 + demo/webworker/subcases.as_worker.js | 6 + deploy_key.enc | Bin 3408 -> 0 bytes docs/adding_timing_metadata.md | 148 - docs/build.md | 66 - docs/case_cache.md | 81 - docs/deno.md | 24 - docs/fp_primer.md | 939 - docs/helper_index.txt | 92 - docs/implementing.md | 97 - docs/intro/README.md | 99 - docs/intro/convert_to_issue.png | Bin 2061 -> 0 bytes docs/intro/developing.md | 143 - docs/intro/life_of.md | 46 - docs/intro/plans.md | 82 - docs/intro/tests.md | 25 - docs/organization.md | 166 - docs/reviews.md | 70 - docs/terms.md | 270 - external/petamoriken/float16/float16.d.js | 498 + external/petamoriken/float16/float16.d.js.map | 1 + .../petamoriken/float16/float16.js | 263 +- external/petamoriken/float16/float16.js.map | 1 + manual/listing.js | 8 + node.tsconfig.json | 20 - package-lock.json | 15535 ---------------- package.json | 85 - prettier.config.js | 8 - {src/resources => resources}/README.md | 0 .../resources => resources}/cache/hashes.json | 0 .../cache/webgpu/shader/execution/abs.bin | Bin .../cache/webgpu/shader/execution/acos.bin | Bin .../cache/webgpu/shader/execution/acosh.bin | Bin .../cache/webgpu/shader/execution/asin.bin | Bin .../cache/webgpu/shader/execution/asinh.bin | Bin .../cache/webgpu/shader/execution/atan.bin | Bin .../cache/webgpu/shader/execution/atan2.bin | Bin .../cache/webgpu/shader/execution/atanh.bin | Bin .../shader/execution/binary/af_addition.bin | Bin .../shader/execution/binary/af_division.bin | Bin .../shader/execution/binary/af_logical.bin | Bin .../execution/binary/af_matrix_addition.bin | Bin .../af_matrix_matrix_multiplication.bin | Bin .../af_matrix_scalar_multiplication.bin | Bin .../binary/af_matrix_subtraction.bin | Bin .../af_matrix_vector_multiplication.bin | Bin .../execution/binary/af_multiplication.bin | Bin .../shader/execution/binary/af_remainder.bin | Bin .../execution/binary/af_subtraction.bin | Bin .../shader/execution/binary/ai_arithmetic.bin | Bin .../shader/execution/binary/f16_addition.bin | Bin .../shader/execution/binary/f16_division.bin | Bin .../shader/execution/binary/f16_logical.bin | Bin .../execution/binary/f16_matrix_addition.bin | Bin .../f16_matrix_matrix_multiplication.bin | Bin .../f16_matrix_scalar_multiplication.bin | Bin .../binary/f16_matrix_subtraction.bin | Bin .../f16_matrix_vector_multiplication.bin | Bin .../execution/binary/f16_multiplication.bin | Bin .../shader/execution/binary/f16_remainder.bin | Bin .../execution/binary/f16_subtraction.bin | Bin .../shader/execution/binary/f32_addition.bin | Bin .../shader/execution/binary/f32_division.bin | Bin .../shader/execution/binary/f32_logical.bin | Bin .../execution/binary/f32_matrix_addition.bin | Bin .../f32_matrix_matrix_multiplication.bin | Bin .../f32_matrix_scalar_multiplication.bin | Bin .../binary/f32_matrix_subtraction.bin | Bin .../f32_matrix_vector_multiplication.bin | Bin .../execution/binary/f32_multiplication.bin | Bin .../shader/execution/binary/f32_remainder.bin | Bin .../execution/binary/f32_subtraction.bin | Bin .../execution/binary/i32_arithmetic.bin | Bin .../execution/binary/i32_comparison.bin | Bin .../execution/binary/u32_arithmetic.bin | Bin .../execution/binary/u32_comparison.bin | Bin .../cache/webgpu/shader/execution/bitcast.bin | Bin .../cache/webgpu/shader/execution/ceil.bin | Bin .../cache/webgpu/shader/execution/clamp.bin | Bin .../cache/webgpu/shader/execution/cos.bin | Bin .../cache/webgpu/shader/execution/cosh.bin | Bin .../cache/webgpu/shader/execution/cross.bin | Bin .../cache/webgpu/shader/execution/degrees.bin | Bin .../webgpu/shader/execution/derivatives.bin | Bin .../webgpu/shader/execution/determinant.bin | Bin .../webgpu/shader/execution/distance.bin | Bin .../cache/webgpu/shader/execution/dot.bin | Bin .../cache/webgpu/shader/execution/exp.bin | Bin .../cache/webgpu/shader/execution/exp2.bin | Bin .../webgpu/shader/execution/faceForward.bin | Bin .../cache/webgpu/shader/execution/floor.bin | Bin .../cache/webgpu/shader/execution/fma.bin | Bin .../cache/webgpu/shader/execution/fract.bin | Bin .../cache/webgpu/shader/execution/frexp.bin | Bin .../cache/webgpu/shader/execution/fwidth.bin | Bin .../webgpu/shader/execution/inverseSqrt.bin | Bin .../cache/webgpu/shader/execution/ldexp.bin | Bin .../cache/webgpu/shader/execution/length.bin | Bin .../cache/webgpu/shader/execution/log.bin | Bin .../cache/webgpu/shader/execution/log2.bin | Bin .../cache/webgpu/shader/execution/max.bin | Bin .../cache/webgpu/shader/execution/min.bin | Bin .../cache/webgpu/shader/execution/mix.bin | Bin .../cache/webgpu/shader/execution/modf.bin | Bin .../webgpu/shader/execution/normalize.bin | Bin .../webgpu/shader/execution/pack2x16float.bin | Bin .../cache/webgpu/shader/execution/pow.bin | Bin .../webgpu/shader/execution/quantizeToF16.bin | Bin .../cache/webgpu/shader/execution/radians.bin | Bin .../cache/webgpu/shader/execution/reflect.bin | Bin .../cache/webgpu/shader/execution/refract.bin | Bin .../cache/webgpu/shader/execution/round.bin | Bin .../webgpu/shader/execution/saturate.bin | Bin .../cache/webgpu/shader/execution/sign.bin | Bin .../cache/webgpu/shader/execution/sin.bin | Bin .../cache/webgpu/shader/execution/sinh.bin | Bin .../webgpu/shader/execution/smoothstep.bin | Bin .../cache/webgpu/shader/execution/sqrt.bin | Bin .../cache/webgpu/shader/execution/step.bin | Bin .../cache/webgpu/shader/execution/tan.bin | Bin .../cache/webgpu/shader/execution/tanh.bin | Bin .../webgpu/shader/execution/transpose.bin | Bin .../cache/webgpu/shader/execution/trunc.bin | Bin .../shader/execution/unary/af_arithmetic.bin | Bin .../shader/execution/unary/af_assignment.bin | Bin .../shader/execution/unary/ai_arithmetic.bin | Bin .../shader/execution/unary/ai_assignment.bin | Bin .../execution/unary/bool_conversion.bin | Bin .../shader/execution/unary/f16_arithmetic.bin | Bin .../shader/execution/unary/f16_conversion.bin | Bin .../shader/execution/unary/f32_arithmetic.bin | Bin .../shader/execution/unary/f32_conversion.bin | Bin .../shader/execution/unary/i32_arithmetic.bin | Bin .../shader/execution/unary/i32_conversion.bin | Bin .../shader/execution/unary/u32_conversion.bin | Bin .../shader/execution/unpack2x16float.bin | Bin .../shader/execution/unpack2x16snorm.bin | Bin .../shader/execution/unpack2x16unorm.bin | Bin .../shader/execution/unpack4x8snorm.bin | Bin .../shader/execution/unpack4x8unorm.bin | Bin .../four-colors-h264-bt601-hflip.mp4 | Bin .../four-colors-h264-bt601-rotate-180.mp4 | Bin .../four-colors-h264-bt601-rotate-270.mp4 | Bin .../four-colors-h264-bt601-rotate-90.mp4 | Bin .../four-colors-h264-bt601-vflip.mp4 | Bin .../four-colors-h264-bt601.mp4 | Bin .../four-colors-vp8-bt601.webm | Bin .../four-colors-vp9-bt601-hflip.mp4 | Bin .../four-colors-vp9-bt601-rotate-180.mp4 | Bin .../four-colors-vp9-bt601-rotate-270.mp4 | Bin .../four-colors-vp9-bt601-rotate-90.mp4 | Bin .../four-colors-vp9-bt601-vflip.mp4 | Bin .../four-colors-vp9-bt601.mp4 | Bin .../four-colors-vp9-bt601.webm | Bin .../four-colors-vp9-bt709.webm | Bin {src/resources => resources}/four-colors.png | Bin {src/resources => resources}/webgpu.png | Bin src/common/framework/data_cache.ts | 197 - src/common/framework/fixture.ts | 410 - src/common/framework/metadata.ts | 29 - src/common/framework/params_builder.ts | 389 - src/common/framework/resources.ts | 110 - src/common/framework/test_config.ts | 50 - src/common/framework/test_group.ts | 1 - src/common/internal/file_loader.ts | 107 - src/common/internal/logging/log_message.ts | 81 - src/common/internal/logging/logger.ts | 29 - src/common/internal/logging/result.ts | 37 - .../internal/logging/test_case_recorder.ts | 184 - src/common/internal/params_utils.ts | 138 - src/common/internal/query/compare.ts | 98 - .../internal/query/encode_selectively.ts | 23 - src/common/internal/query/json_param_value.ts | 114 - src/common/internal/query/parseQuery.ts | 192 - src/common/internal/query/query.ts | 262 - src/common/internal/query/separators.ts | 14 - src/common/internal/query/stringify_params.ts | 44 - src/common/internal/query/validQueryPart.ts | 2 - src/common/internal/stack.ts | 82 - src/common/internal/test_group.ts | 756 - src/common/internal/test_suite_listing.ts | 15 - src/common/internal/tree.ts | 676 - src/common/internal/util.ts | 10 - src/common/internal/version.ts | 1 - src/common/internal/websocket_logger.ts | 57 - src/common/runtime/cmdline.ts | 294 - src/common/runtime/helper/options.ts | 168 - src/common/runtime/helper/sys.ts | 47 - .../runtime/helper/test_worker-worker.ts | 47 - src/common/runtime/helper/test_worker.ts | 195 - src/common/runtime/helper/utils_worker.ts | 35 - src/common/runtime/helper/wrap_for_worker.ts | 54 - src/common/runtime/server.ts | 248 - src/common/runtime/standalone.ts | 701 - src/common/runtime/wpt.ts | 89 - src/common/templates/cts.https.html | 32 - src/common/tools/.eslintrc.json | 14 - src/common/tools/checklist.ts | 136 - src/common/tools/crawl.ts | 171 - src/common/tools/dev_server.ts | 223 - src/common/tools/gen_cache.ts | 300 - src/common/tools/gen_listings.ts | 56 - .../tools/gen_listings_and_webworkers.ts | 90 - src/common/tools/gen_wpt_cts_html.ts | 309 - src/common/tools/image_utils.ts | 58 - src/common/tools/merge_listing_times.ts | 169 - src/common/tools/run_wpt_ref_tests.ts | 446 - src/common/tools/validate.ts | 53 - src/common/tools/version.ts | 5 - src/common/util/collect_garbage.ts | 58 - src/common/util/colors.ts | 127 - src/common/util/crc32.ts | 57 - src/common/util/data_tables.ts | 129 - src/common/util/navigator_gpu.ts | 85 - src/common/util/parse_imports.ts | 36 - src/common/util/preprocessor.ts | 149 - src/common/util/timeout.ts | 7 - src/common/util/types.ts | 97 - src/common/util/util.ts | 478 - src/common/util/wpt_reftest_wait.ts | 24 - src/demo/README.txt | 1 - src/demo/a.spec.ts | 8 - src/demo/a/README.txt | 1 - src/demo/a/b.spec.ts | 6 - src/demo/a/b/README.txt | 1 - src/demo/a/b/c.spec.ts | 80 - src/demo/a/b/d.spec.ts | 8 - .../in_single_child_dir/r.spec.ts | 6 - src/demo/json.spec.ts | 10 - src/demo/subcases.spec.ts | 38 - src/demo/webworker/.gitignore | 2 - src/external/README.md | 31 - src/external/petamoriken/float16/LICENSE.txt | 21 - src/external/petamoriken/float16/float16.d.ts | 498 - src/manual/README.txt | 18 - src/manual/webworker/.gitignore | 2 - src/stress/README.txt | 6 - src/stress/adapter/README.txt | 1 - src/stress/adapter/device_allocation.spec.ts | 302 - src/stress/compute/README.txt | 1 - src/stress/compute/compute_pass.spec.ts | 243 - src/stress/device/README.txt | 2 - .../device/bind_group_allocation.spec.ts | 65 - .../bind_group_layout_allocation.spec.ts | 20 - src/stress/device/buffer_allocation.spec.ts | 25 - .../device/command_encoder_allocation.spec.ts | 20 - .../compute_pipeline_allocation.spec.ts | 20 - .../device/pipeline_layout_allocation.spec.ts | 20 - .../device/query_set_allocation.spec.ts | 27 - .../device/render_bundle_allocation.spec.ts | 20 - .../device/render_pipeline_allocation.spec.ts | 20 - src/stress/device/sampler_allocation.spec.ts | 20 - .../device/shader_module_allocation.spec.ts | 20 - src/stress/device/texture_allocation.spec.ts | 27 - src/stress/listing.ts | 5 - src/stress/memory/README.txt | 1 - src/stress/memory/churn.spec.ts | 17 - src/stress/memory/oom.spec.ts | 174 - src/stress/queries/README.txt | 1 - src/stress/queries/occlusion.spec.ts | 10 - src/stress/queries/resolve.spec.ts | 15 - src/stress/queries/timestamps.spec.ts | 50 - src/stress/queue/README.txt | 1 - src/stress/queue/submit.spec.ts | 102 - src/stress/render/README.txt | 3 - src/stress/render/render_pass.spec.ts | 354 - src/stress/render/vertex_buffers.spec.ts | 130 - src/stress/shaders/README.txt | 1 - src/stress/shaders/entry_points.spec.ts | 78 - src/stress/shaders/non_halting.spec.ts | 194 - src/stress/shaders/slow.spec.ts | 191 - src/stress/texture/README.txt | 1 - src/stress/texture/large.spec.ts | 56 - src/stress/webworker/.gitignore | 2 - src/unittests/README.txt | 1 - src/unittests/async_expectations.spec.ts | 168 - src/unittests/basic.spec.ts | 35 - src/unittests/check_contents.spec.ts | 71 - src/unittests/conversion.spec.ts | 698 - src/unittests/crc32.spec.ts | 28 - src/unittests/floating_point.spec.ts | 8318 --------- src/unittests/getStackTrace.spec.ts | 138 - src/unittests/listing.ts | 5 - src/unittests/loaders_and_trees.spec.ts | 978 - src/unittests/logger.spec.ts | 173 - src/unittests/maths.spec.ts | 1960 -- .../params_builder_and_utils.spec.ts | 549 - src/unittests/params_builder_toplevel.spec.ts | 112 - src/unittests/parse_imports.spec.ts | 79 - src/unittests/preprocessor.spec.ts | 207 - src/unittests/prng.spec.ts | 149 - src/unittests/query_compare.spec.ts | 144 - src/unittests/query_string.spec.ts | 268 - src/unittests/serialization.spec.ts | 482 - src/unittests/test_group.spec.ts | 437 - src/unittests/test_group_test.ts | 34 - src/unittests/test_query.spec.ts | 143 - src/unittests/texture_ok.spec.ts | 160 - src/unittests/unit_test.ts | 3 - src/unittests/webworker/.gitignore | 2 - src/webgpu/README.txt | 1 - src/webgpu/api/README.txt | 1 - src/webgpu/api/operation/README.txt | 2 - src/webgpu/api/operation/adapter/info.spec.ts | 41 - .../operation/adapter/requestAdapter.spec.ts | 128 - .../operation/adapter/requestDevice.spec.ts | 485 - .../api/operation/async_ordering/README.txt | 12 - src/webgpu/api/operation/buffers/README.txt | 1 - src/webgpu/api/operation/buffers/map.spec.ts | 510 - .../operation/buffers/map_ArrayBuffer.spec.ts | 89 - .../api/operation/buffers/map_detach.spec.ts | 81 - .../api/operation/buffers/map_oom.spec.ts | 50 - .../api/operation/buffers/mapping_test.ts | 39 - .../api/operation/buffers/threading.spec.ts | 29 - .../operation/command_buffer/basic.spec.ts | 98 - .../command_buffer/clearBuffer.spec.ts | 54 - .../command_buffer/copyBufferToBuffer.spec.ts | 106 - .../copyTextureToTexture.spec.ts | 1700 -- .../command_buffer/image_copy.spec.ts | 2145 --- .../programmable/programmable_state_test.ts | 157 - .../programmable/state_tracking.spec.ts | 306 - .../command_buffer/queries/README.txt | 5 - .../queries/occlusionQuery.spec.ts | 1024 - .../render/dynamic_state.spec.ts | 19 - .../render/state_tracking.spec.ts | 620 - .../api/operation/compute/basic.spec.ts | 162 - .../compute_pipeline/entry_point_name.spec.ts | 12 - .../compute_pipeline/overrides.spec.ts | 571 - src/webgpu/api/operation/device/lost.spec.ts | 92 - src/webgpu/api/operation/labels.spec.ts | 304 - .../operation/memory_allocation/README.txt | 7 - .../memory_sync/buffer/buffer_sync_test.ts | 930 - .../buffer/multiple_buffers.spec.ts | 354 - .../memory_sync/buffer/single_buffer.spec.ts | 257 - .../memory_sync/operation_context_helper.ts | 328 - .../texture/readonly_depth_stencil.spec.ts | 326 - .../texture/same_subresource.spec.ts | 695 - .../memory_sync/texture/texture_sync_test.ts | 124 - .../api/operation/onSubmittedWorkDone.spec.ts | 56 - .../operation/pipeline/default_layout.spec.ts | 27 - .../api/operation/queue/writeBuffer.spec.ts | 235 - src/webgpu/api/operation/reflection.spec.ts | 284 - .../api/operation/render_pass/README.txt | 1 - .../operation/render_pass/clear_value.spec.ts | 187 - .../api/operation/render_pass/resolve.spec.ts | 183 - .../api/operation/render_pass/storeOp.spec.ts | 354 - .../operation/render_pass/storeop2.spec.ts | 83 - .../render_pipeline/culling_tests.spec.ts | 359 - .../render_pipeline/overrides.spec.ts | 453 - .../pipeline_output_targets.spec.ts | 450 - .../primitive_topology.spec.ts | 488 - .../render_pipeline/sample_mask.spec.ts | 806 - .../vertex_only_render_pipeline.spec.ts | 29 - .../rendering/3d_texture_slices.spec.ts | 363 - .../api/operation/rendering/basic.spec.ts | 352 - .../rendering/color_target_state.spec.ts | 877 - .../api/operation/rendering/depth.spec.ts | 537 - .../operation/rendering/depth_bias.spec.ts | 360 - .../rendering/depth_clip_clamp.spec.ts | 532 - .../api/operation/rendering/draw.spec.ts | 768 - .../operation/rendering/indirect_draw.spec.ts | 242 - .../rendering/robust_access_index.spec.ts | 8 - .../api/operation/rendering/stencil.spec.ts | 580 - .../operation/resource_init/buffer.spec.ts | 875 - .../resource_init/check_texture/by_copy.ts | 66 - .../resource_init/check_texture/by_ds_test.ts | 201 - .../check_texture/by_sampling.ts | 168 - .../check_texture/texture_zero_init_test.ts | 545 - .../resource_init/texture_zero.spec.ts | 112 - .../api/operation/sampling/anisotropy.spec.ts | 325 - .../operation/sampling/filter_mode.spec.ts | 1143 -- .../api/operation/sampling/lod_clamp.spec.ts | 12 - .../shader_module/compilation_info.spec.ts | 223 - .../storage_texture/read_only.spec.ts | 622 - .../storage_texture/read_write.spec.ts | 382 - .../format_reinterpretation.spec.ts | 356 - .../api/operation/texture_view/read.spec.ts | 56 - .../api/operation/texture_view/write.spec.ts | 389 - src/webgpu/api/operation/threading/README.txt | 11 - .../api/operation/uncapturederror.spec.ts | 36 - .../vertex_state/correctness.spec.ts | 1180 -- .../vertex_state/index_format.spec.ts | 584 - src/webgpu/api/regression/README.txt | 2 - src/webgpu/api/validation/README.txt | 1 - .../api/validation/buffer/create.spec.ts | 113 - .../api/validation/buffer/destroy.spec.ts | 101 - .../api/validation/buffer/mapping.spec.ts | 1138 -- .../api/validation/buffer/threading.spec.ts | 14 - .../capability_checks/features/README.txt | 10 - .../features/query_types.spec.ts | 118 - .../features/texture_formats.spec.ts | 463 - .../capability_checks/limits/README.txt | 8 - .../capability_checks/limits/limit_utils.ts | 1120 -- .../limits/maxBindGroups.spec.ts | 217 - .../maxBindGroupsPlusVertexBuffers.spec.ts | 298 - .../limits/maxBindingsPerBindGroup.spec.ts | 75 - .../limits/maxBufferSize.spec.ts | 27 - .../maxColorAttachmentBytesPerSample.spec.ts | 258 - .../limits/maxColorAttachments.spec.ts | 122 - .../maxComputeInvocationsPerWorkgroup.spec.ts | 147 - .../limits/maxComputeWorkgroupSizeX.spec.ts | 20 - .../limits/maxComputeWorkgroupSizeY.spec.ts | 20 - .../limits/maxComputeWorkgroupSizeZ.spec.ts | 20 - .../maxComputeWorkgroupStorageSize.spec.ts | 185 - .../maxComputeWorkgroupsPerDimension.spec.ts | 97 - ...micStorageBuffersPerPipelineLayout.spec.ts | 39 - ...micUniformBuffersPerPipelineLayout.spec.ts | 42 - .../maxInterStageShaderComponents.spec.ts | 153 - .../maxInterStageShaderVariables.spec.ts | 45 - .../maxSampledTexturesPerShaderStage.spec.ts | 178 - .../limits/maxSamplersPerShaderStage.spec.ts | 183 - .../maxStorageBufferBindingSize.spec.ts | 159 - .../maxStorageBuffersPerShaderStage.spec.ts | 189 - .../maxStorageTexturesPerShaderStage.spec.ts | 188 - .../limits/maxTextureArrayLayers.spec.ts | 27 - .../limits/maxTextureDimension1D.spec.ts | 34 - .../limits/maxTextureDimension2D.spec.ts | 133 - .../limits/maxTextureDimension3D.spec.ts | 39 - .../maxUniformBufferBindingSize.spec.ts | 88 - .../maxUniformBuffersPerShaderStage.spec.ts | 176 - .../limits/maxVertexAttributes.spec.ts | 44 - .../limits/maxVertexBufferArrayStride.spec.ts | 122 - .../limits/maxVertexBuffers.spec.ts | 87 - .../minStorageBufferOffsetAlignment.spec.ts | 181 - .../minUniformBufferOffsetAlignment.spec.ts | 184 - .../api/validation/compute_pipeline.spec.ts | 742 - .../api/validation/createBindGroup.spec.ts | 1145 -- .../validation/createBindGroupLayout.spec.ts | 473 - .../validation/createPipelineLayout.spec.ts | 164 - .../api/validation/createSampler.spec.ts | 68 - .../api/validation/createTexture.spec.ts | 1139 -- src/webgpu/api/validation/createView.spec.ts | 341 - src/webgpu/api/validation/debugMarker.spec.ts | 97 - .../encoding/beginComputePass.spec.ts | 149 - .../encoding/beginRenderPass.spec.ts | 218 - .../encoding/cmds/clearBuffer.spec.ts | 247 - .../encoding/cmds/compute_pass.spec.ts | 259 - .../encoding/cmds/copyBufferToBuffer.spec.ts | 328 - .../cmds/copyTextureToTexture.spec.ts | 885 - .../validation/encoding/cmds/debug.spec.ts | 66 - .../encoding/cmds/index_access.spec.ts | 162 - .../encoding/cmds/render/draw.spec.ts | 877 - .../cmds/render/dynamic_state.spec.ts | 319 - .../cmds/render/indirect_draw.spec.ts | 203 - .../validation/encoding/cmds/render/render.ts | 29 - .../cmds/render/setIndexBuffer.spec.ts | 125 - .../encoding/cmds/render/setPipeline.spec.ts | 62 - .../cmds/render/setVertexBuffer.spec.ts | 145 - .../cmds/render/state_tracking.spec.ts | 184 - .../encoding/cmds/render_pass.spec.ts | 14 - .../encoding/cmds/setBindGroup.spec.ts | 437 - .../createRenderBundleEncoder.spec.ts | 221 - .../encoding/encoder_open_state.spec.ts | 595 - .../validation/encoding/encoder_state.spec.ts | 249 - .../pipeline_bind_group_compat.spec.ts | 1110 -- .../encoding/queries/begin_end.spec.ts | 117 - .../api/validation/encoding/queries/common.ts | 37 - .../encoding/queries/general.spec.ts | 177 - .../encoding/queries/resolveQuerySet.spec.ts | 183 - .../validation/encoding/render_bundle.spec.ts | 246 - src/webgpu/api/validation/error_scope.spec.ts | 199 - .../api/validation/getBindGroupLayout.spec.ts | 201 - .../gpu_external_texture_expiration.spec.ts | 311 - .../api/validation/image_copy/README.txt | 32 - .../image_copy/buffer_related.spec.ts | 227 - .../image_copy/buffer_texture_copies.spec.ts | 455 - .../api/validation/image_copy/image_copy.ts | 276 - .../image_copy/layout_related.spec.ts | 483 - .../image_copy/texture_related.spec.ts | 532 - .../validation/layout_shader_compat.spec.ts | 294 - .../api/validation/query_set/create.spec.ts | 34 - .../api/validation/query_set/destroy.spec.ts | 33 - src/webgpu/api/validation/queue/README.txt | 13 - .../validation/queue/buffer_mapped.spec.ts | 280 - .../CopyExternalImageToTexture.spec.ts | 818 - .../validation/queue/destroyed/buffer.spec.ts | 272 - .../queue/destroyed/query_set.spec.ts | 104 - .../queue/destroyed/texture.spec.ts | 275 - .../api/validation/queue/submit.spec.ts | 129 - .../api/validation/queue/writeBuffer.spec.ts | 201 - .../api/validation/queue/writeTexture.spec.ts | 111 - .../api/validation/render_pass/README.txt | 1 - .../attachment_compatibility.spec.ts | 681 - .../render_pass_descriptor.spec.ts | 1279 -- .../validation/render_pass/resolve.spec.ts | 192 - .../api/validation/render_pipeline/common.ts | 69 - .../depth_stencil_state.spec.ts | 357 - .../render_pipeline/fragment_state.spec.ts | 633 - .../render_pipeline/inter_stage.spec.ts | 370 - .../validation/render_pipeline/misc.spec.ts | 150 - .../render_pipeline/multisample_state.spec.ts | 87 - .../render_pipeline/overrides.spec.ts | 535 - .../render_pipeline/primitive_state.spec.ts | 42 - .../resource_compatibility.spec.ts | 102 - .../render_pipeline/shader_module.spec.ts | 119 - .../render_pipeline/vertex_state.spec.ts | 765 - .../resource_usages/buffer/README.txt | 1 - .../buffer/in_pass_encoder.spec.ts | 928 - .../buffer/in_pass_misc.spec.ts | 409 - .../texture/in_pass_encoder.spec.ts | 1558 -- .../texture/in_render_common.spec.ts | 603 - .../texture/in_render_misc.spec.ts | 573 - .../shader_module/entry_point.spec.ts | 305 - .../shader_module/overrides.spec.ts | 96 - .../validation/state/device_lost/README.txt | 5 - .../state/device_lost/destroy.spec.ts | 1172 -- .../texture/bgra8unorm_storage.spec.ts | 174 - .../api/validation/texture/destroy.spec.ts | 139 - .../texture/float32_filterable.spec.ts | 58 - .../texture/rg11b10ufloat_renderable.spec.ts | 149 - src/webgpu/api/validation/utils.ts | 275 - src/webgpu/api/validation/validation_test.ts | 443 - src/webgpu/capability_info.ts | 846 - src/webgpu/compat/README.md | 3 - .../api/validation/createBindGroup.spec.ts | 177 - .../validation/createBindGroupLayout.spec.ts | 34 - .../encoding/cmds/copyTextureToBuffer.spec.ts | 43 - .../cmds/copyTextureToTexture.spec.ts | 90 - .../pipeline_bind_group_compat.spec.ts | 421 - .../depth_stencil_state.spec.ts | 53 - .../render_pipeline/fragment_state.spec.ts | 128 - .../render_pipeline/unsupported_wgsl.spec.ts | 311 - .../render_pipeline/vertex_state.spec.ts | 93 - .../validation/texture/createTexture.spec.ts | 177 - .../api/validation/texture/cubeArray.spec.ts | 26 - src/webgpu/compat/compatibility_test.ts | 29 - src/webgpu/constants.ts | 67 - src/webgpu/error_test.ts | 110 - src/webgpu/examples.spec.ts | 275 - src/webgpu/format_info.ts | 1853 -- src/webgpu/gpu_test.ts | 1886 -- src/webgpu/idl/README.txt | 7 - src/webgpu/idl/constants/flags.spec.ts | 79 - src/webgpu/idl/constructable.spec.ts | 54 - src/webgpu/idl/exposed.html.ts | 52 - src/webgpu/idl/idl_test.ts | 41 - src/webgpu/inter_stage.ts | 94 - src/webgpu/listing.ts | 5 - src/webgpu/listing_meta.json | 2952 --- src/webgpu/multisample_info.ts | 75 - src/webgpu/print_environment.spec.ts | 80 - src/webgpu/shader/README.txt | 1 - src/webgpu/shader/execution/README.txt | 1 - .../expression/access/array/index.spec.ts | 407 - .../expression/access/matrix/index.spec.ts | 200 - .../expression/access/structure/index.spec.ts | 516 - .../access/vector/components.spec.ts | 118 - .../expression/access/vector/index.spec.ts | 87 - .../expression/binary/af_addition.cache.ts | 52 - .../expression/binary/af_addition.spec.ts | 101 - .../expression/binary/af_comparison.cache.ts | 90 - .../expression/binary/af_comparison.spec.ts | 149 - .../execution/expression/binary/af_data.ts | 823 - .../expression/binary/af_division.cache.ts | 57 - .../expression/binary/af_division.spec.ts | 101 - .../binary/af_matrix_addition.cache.ts | 47 - .../binary/af_matrix_addition.spec.ts | 41 - .../af_matrix_matrix_multiplication.cache.ts | 29 - .../af_matrix_matrix_multiplication.spec.ts | 45 - .../af_matrix_scalar_multiplication.cache.ts | 76 - .../af_matrix_scalar_multiplication.spec.ts | 69 - .../binary/af_matrix_subtraction.cache.ts | 47 - .../binary/af_matrix_subtraction.spec.ts | 41 - .../af_matrix_vector_multiplication.cache.ts | 51 - .../af_matrix_vector_multiplication.spec.ts | 69 - .../binary/af_multiplication.cache.ts | 56 - .../binary/af_multiplication.spec.ts | 101 - .../expression/binary/af_remainder.cache.ts | 57 - .../expression/binary/af_remainder.spec.ts | 101 - .../expression/binary/af_subtraction.cache.ts | 52 - .../expression/binary/af_subtraction.spec.ts | 101 - .../expression/binary/ai_arithmetic.cache.ts | 145 - .../expression/binary/ai_arithmetic.spec.ts | 303 - .../expression/binary/ai_comparison.spec.ts | 124 - .../execution/expression/binary/binary.ts | 27 - .../expression/binary/bitwise.spec.ts | 582 - .../expression/binary/bitwise_shift.spec.ts | 614 - .../expression/binary/bool_logical.spec.ts | 187 - .../expression/binary/f16_addition.cache.ts | 60 - .../expression/binary/f16_addition.spec.ts | 153 - .../expression/binary/f16_comparison.cache.ts | 144 - .../expression/binary/f16_comparison.spec.ts | 139 - .../expression/binary/f16_division.cache.ts | 60 - .../expression/binary/f16_division.spec.ts | 153 - .../binary/f16_matrix_addition.cache.ts | 23 - .../binary/f16_matrix_addition.spec.ts | 79 - .../f16_matrix_matrix_multiplication.cache.ts | 25 - .../f16_matrix_matrix_multiplication.spec.ts | 90 - .../f16_matrix_scalar_multiplication.cache.ts | 44 - .../f16_matrix_scalar_multiplication.spec.ts | 118 - .../binary/f16_matrix_subtraction.cache.ts | 23 - .../binary/f16_matrix_subtraction.spec.ts | 79 - .../f16_matrix_vector_multiplication.cache.ts | 44 - .../f16_matrix_vector_multiplication.spec.ts | 113 - .../binary/f16_multiplication.cache.ts | 60 - .../binary/f16_multiplication.spec.ts | 153 - .../expression/binary/f16_remainder.cache.ts | 60 - .../expression/binary/f16_remainder.spec.ts | 153 - .../binary/f16_subtraction.cache.ts | 60 - .../expression/binary/f16_subtraction.spec.ts | 153 - .../expression/binary/f32_addition.cache.ts | 60 - .../expression/binary/f32_addition.spec.ts | 135 - .../expression/binary/f32_comparison.cache.ts | 144 - .../expression/binary/f32_comparison.spec.ts | 121 - .../expression/binary/f32_division.cache.ts | 60 - .../expression/binary/f32_division.spec.ts | 135 - .../binary/f32_matrix_addition.cache.ts | 23 - .../binary/f32_matrix_addition.spec.ts | 73 - .../f32_matrix_matrix_multiplication.cache.ts | 25 - .../f32_matrix_matrix_multiplication.spec.ts | 84 - .../f32_matrix_scalar_multiplication.cache.ts | 44 - .../f32_matrix_scalar_multiplication.spec.ts | 109 - .../binary/f32_matrix_subtraction.cache.ts | 23 - .../binary/f32_matrix_subtraction.spec.ts | 73 - .../f32_matrix_vector_multiplication.cache.ts | 44 - .../f32_matrix_vector_multiplication.spec.ts | 104 - .../binary/f32_multiplication.cache.ts | 60 - .../binary/f32_multiplication.spec.ts | 135 - .../expression/binary/f32_remainder.cache.ts | 64 - .../expression/binary/f32_remainder.spec.ts | 135 - .../binary/f32_subtraction.cache.ts | 60 - .../expression/binary/f32_subtraction.spec.ts | 135 - .../expression/binary/i32_arithmetic.cache.ts | 306 - .../expression/binary/i32_arithmetic.spec.ts | 432 - .../expression/binary/i32_comparison.cache.ts | 21 - .../expression/binary/i32_comparison.spec.ts | 103 - .../expression/binary/u32_arithmetic.cache.ts | 293 - .../expression/binary/u32_arithmetic.spec.ts | 432 - .../expression/binary/u32_comparison.cache.ts | 21 - .../expression/binary/u32_comparison.spec.ts | 103 - .../expression/call/builtin/abs.cache.ts | 26 - .../expression/call/builtin/abs.spec.ts | 182 - .../expression/call/builtin/acos.cache.ts | 24 - .../expression/call/builtin/acos.spec.ts | 63 - .../expression/call/builtin/acosh.cache.ts | 24 - .../expression/call/builtin/acosh.spec.ts | 67 - .../expression/call/builtin/all.spec.ts | 84 - .../expression/call/builtin/any.spec.ts | 84 - .../call/builtin/arrayLength.spec.ts | 306 - .../expression/call/builtin/asin.cache.ts | 24 - .../expression/call/builtin/asin.spec.ts | 63 - .../expression/call/builtin/asinh.cache.ts | 18 - .../expression/call/builtin/asinh.spec.ts | 66 - .../expression/call/builtin/atan.cache.ts | 25 - .../expression/call/builtin/atan.spec.ts | 70 - .../expression/call/builtin/atan2.cache.ts | 35 - .../expression/call/builtin/atan2.spec.ts | 69 - .../expression/call/builtin/atanh.cache.ts | 32 - .../expression/call/builtin/atanh.spec.ts | 66 - .../call/builtin/atomics/atomicAdd.spec.ts | 101 - .../call/builtin/atomics/atomicAnd.spec.ts | 135 - .../atomics/atomicCompareExchangeWeak.spec.ts | 741 - .../builtin/atomics/atomicExchange.spec.ts | 462 - .../call/builtin/atomics/atomicLoad.spec.ts | 189 - .../call/builtin/atomics/atomicMax.spec.ts | 101 - .../call/builtin/atomics/atomicMin.spec.ts | 100 - .../call/builtin/atomics/atomicOr.spec.ts | 131 - .../call/builtin/atomics/atomicStore.spec.ts | 299 - .../call/builtin/atomics/atomicSub.spec.ts | 124 - .../call/builtin/atomics/atomicXor.spec.ts | 135 - .../call/builtin/atomics/harness.ts | 206 - .../expression/call/builtin/bitcast.cache.ts | 837 - .../expression/call/builtin/bitcast.spec.ts | 643 - .../expression/call/builtin/builtin.ts | 30 - .../expression/call/builtin/ceil.cache.ts | 26 - .../expression/call/builtin/ceil.spec.ts | 64 - .../expression/call/builtin/clamp.cache.ts | 131 - .../expression/call/builtin/clamp.spec.ts | 111 - .../expression/call/builtin/cos.cache.ts | 23 - .../expression/call/builtin/cos.spec.ts | 69 - .../expression/call/builtin/cosh.cache.ts | 23 - .../expression/call/builtin/cosh.spec.ts | 63 - .../call/builtin/countLeadingZeros.spec.ts | 250 - .../call/builtin/countOneBits.spec.ts | 249 - .../call/builtin/countTrailingZeros.spec.ts | 250 - .../expression/call/builtin/cross.cache.ts | 25 - .../expression/call/builtin/cross.spec.ts | 54 - .../expression/call/builtin/degrees.cache.ts | 24 - .../expression/call/builtin/degrees.spec.ts | 63 - .../call/builtin/derivatives.cache.ts | 14 - .../expression/call/builtin/derivatives.ts | 215 - .../call/builtin/determinant.cache.ts | 183 - .../call/builtin/determinant.spec.ts | 65 - .../expression/call/builtin/distance.cache.ts | 49 - .../expression/call/builtin/distance.spec.ts | 179 - .../expression/call/builtin/dot.cache.ts | 118 - .../expression/call/builtin/dot.spec.ts | 242 - .../call/builtin/dot4I8Packed.spec.ts | 74 - .../call/builtin/dot4U8Packed.spec.ts | 59 - .../expression/call/builtin/dpdx.spec.ts | 31 - .../call/builtin/dpdxCoarse.spec.ts | 30 - .../expression/call/builtin/dpdxFine.spec.ts | 29 - .../expression/call/builtin/dpdy.spec.ts | 30 - .../call/builtin/dpdyCoarse.spec.ts | 30 - .../expression/call/builtin/dpdyFine.spec.ts | 29 - .../expression/call/builtin/exp.cache.ts | 44 - .../expression/call/builtin/exp.spec.ts | 63 - .../expression/call/builtin/exp2.cache.ts | 44 - .../expression/call/builtin/exp2.spec.ts | 63 - .../call/builtin/extractBits.spec.ts | 327 - .../call/builtin/faceForward.cache.ts | 125 - .../call/builtin/faceForward.spec.ts | 182 - .../call/builtin/firstLeadingBit.spec.ts | 350 - .../call/builtin/firstTrailingBit.spec.ts | 250 - .../expression/call/builtin/floor.cache.ts | 26 - .../expression/call/builtin/floor.spec.ts | 63 - .../expression/call/builtin/fma.cache.ts | 26 - .../expression/call/builtin/fma.spec.ts | 63 - .../expression/call/builtin/fract.cache.ts | 62 - .../expression/call/builtin/fract.spec.ts | 64 - .../expression/call/builtin/frexp.cache.ts | 103 - .../expression/call/builtin/frexp.spec.ts | 507 - .../expression/call/builtin/fwidth.cache.ts | 54 - .../expression/call/builtin/fwidth.spec.ts | 29 - .../expression/call/builtin/fwidth.ts | 209 - .../call/builtin/fwidthCoarse.spec.ts | 29 - .../call/builtin/fwidthFine.spec.ts | 29 - .../call/builtin/insertBits.spec.ts | 376 - .../call/builtin/inversesqrt.cache.ts | 44 - .../call/builtin/inversesqrt.spec.ts | 63 - .../expression/call/builtin/ldexp.cache.ts | 61 - .../expression/call/builtin/ldexp.spec.ts | 71 - .../expression/call/builtin/length.cache.ts | 42 - .../expression/call/builtin/length.spec.ts | 178 - .../expression/call/builtin/log.cache.ts | 30 - .../expression/call/builtin/log.spec.ts | 69 - .../expression/call/builtin/log2.cache.ts | 30 - .../expression/call/builtin/log2.spec.ts | 69 - .../expression/call/builtin/max.cache.ts | 18 - .../expression/call/builtin/max.spec.ts | 143 - .../expression/call/builtin/min.cache.ts | 18 - .../expression/call/builtin/min.spec.ts | 142 - .../expression/call/builtin/mix.cache.ts | 56 - .../expression/call/builtin/mix.spec.ts | 193 - .../expression/call/builtin/modf.cache.ts | 75 - .../expression/call/builtin/modf.spec.ts | 551 - .../call/builtin/normalize.cache.ts | 25 - .../expression/call/builtin/normalize.spec.ts | 119 - .../call/builtin/pack2x16float.cache.ts | 55 - .../call/builtin/pack2x16float.spec.ts | 28 - .../call/builtin/pack2x16snorm.spec.ts | 48 - .../call/builtin/pack2x16unorm.spec.ts | 48 - .../call/builtin/pack4x8snorm.spec.ts | 57 - .../call/builtin/pack4x8unorm.spec.ts | 57 - .../expression/call/builtin/pack4xI8.spec.ts | 69 - .../call/builtin/pack4xI8Clamp.spec.ts | 73 - .../expression/call/builtin/pack4xU8.spec.ts | 54 - .../call/builtin/pack4xU8Clamp.spec.ts | 57 - .../expression/call/builtin/pow.cache.ts | 24 - .../expression/call/builtin/pow.spec.ts | 63 - .../call/builtin/quantizeToF16.cache.ts | 41 - .../call/builtin/quantizeToF16.spec.ts | 30 - .../expression/call/builtin/radians.cache.ts | 18 - .../expression/call/builtin/radians.spec.ts | 64 - .../expression/call/builtin/reflect.cache.ts | 26 - .../expression/call/builtin/reflect.spec.ts | 141 - .../expression/call/builtin/refract.cache.ts | 116 - .../expression/call/builtin/refract.spec.ts | 186 - .../call/builtin/reverseBits.spec.ts | 250 - .../expression/call/builtin/round.cache.ts | 24 - .../expression/call/builtin/round.spec.ts | 66 - .../expression/call/builtin/saturate.cache.ts | 18 - .../expression/call/builtin/saturate.spec.ts | 62 - .../expression/call/builtin/select.spec.ts | 268 - .../expression/call/builtin/sign.cache.ts | 31 - .../expression/call/builtin/sign.spec.ts | 87 - .../expression/call/builtin/sin.cache.ts | 23 - .../expression/call/builtin/sin.spec.ts | 69 - .../expression/call/builtin/sinh.cache.ts | 23 - .../expression/call/builtin/sinh.spec.ts | 63 - .../call/builtin/smoothstep.cache.ts | 25 - .../call/builtin/smoothstep.spec.ts | 93 - .../expression/call/builtin/sqrt.cache.ts | 23 - .../expression/call/builtin/sqrt.spec.ts | 63 - .../expression/call/builtin/step.cache.ts | 41 - .../expression/call/builtin/step.spec.ts | 63 - .../call/builtin/storageBarrier.spec.ts | 38 - .../call/builtin/subgroupAdd.spec.ts | 356 - .../call/builtin/subgroupAll.spec.ts | 390 - .../call/builtin/subgroupAny.spec.ts | 390 - .../call/builtin/subgroupBallot.spec.ts | 339 - .../call/builtin/subgroupBroadcast.spec.ts | 321 - .../call/builtin/subgroupMul.spec.ts | 375 - .../expression/call/builtin/subgroup_util.ts | 554 - .../expression/call/builtin/tan.cache.ts | 23 - .../expression/call/builtin/tan.spec.ts | 63 - .../expression/call/builtin/tanh.cache.ts | 18 - .../expression/call/builtin/tanh.spec.ts | 63 - .../call/builtin/textureDimensions.spec.ts | 518 - .../call/builtin/textureGather.spec.ts | 774 - .../call/builtin/textureGatherCompare.spec.ts | 396 - .../call/builtin/textureLoad.spec.ts | 883 - .../call/builtin/textureNumLayers.spec.ts | 222 - .../call/builtin/textureNumLevels.spec.ts | 188 - .../call/builtin/textureNumSamples.spec.ts | 83 - .../call/builtin/textureSample.spec.ts | 501 - .../textureSampleBaseClampToEdge.spec.ts | 121 - .../call/builtin/textureSampleBias.spec.ts | 141 - .../call/builtin/textureSampleCompare.spec.ts | 122 - .../builtin/textureSampleCompareLevel.spec.ts | 149 - .../call/builtin/textureSampleGrad.spec.ts | 136 - .../call/builtin/textureSampleLevel.spec.ts | 748 - .../call/builtin/textureStore.spec.ts | 850 - .../expression/call/builtin/texture_utils.ts | 3635 ---- .../call/builtin/transpose.cache.ts | 27 - .../expression/call/builtin/transpose.spec.ts | 97 - .../expression/call/builtin/trunc.cache.ts | 17 - .../expression/call/builtin/trunc.spec.ts | 64 - .../call/builtin/unpack2x16float.cache.ts | 20 - .../call/builtin/unpack2x16float.spec.ts | 29 - .../call/builtin/unpack2x16snorm.cache.ts | 20 - .../call/builtin/unpack2x16snorm.spec.ts | 29 - .../call/builtin/unpack2x16unorm.cache.ts | 20 - .../call/builtin/unpack2x16unorm.spec.ts | 29 - .../call/builtin/unpack4x8snorm.cache.ts | 20 - .../call/builtin/unpack4x8snorm.spec.ts | 29 - .../call/builtin/unpack4x8unorm.cache.ts | 20 - .../call/builtin/unpack4x8unorm.spec.ts | 29 - .../call/builtin/unpack4xI8.spec.ts | 56 - .../call/builtin/unpack4xU8.spec.ts | 48 - .../expression/call/builtin/utils.ts | 65 - .../call/builtin/workgroupBarrier.spec.ts | 38 - .../call/builtin/workgroupUniformLoad.spec.ts | 182 - .../expression/call/user/ptr_params.spec.ts | 849 - .../shader/execution/expression/case.ts | 440 - .../shader/execution/expression/case_cache.ts | 201 - .../expression/constructor/non_zero.spec.ts | 802 - .../expression/constructor/zero_value.spec.ts | 184 - .../execution/expression/expectation.ts | 38 - .../shader/execution/expression/expression.ts | 1352 -- .../execution/expression/interval_filter.ts | 8 - .../execution/expression/precedence.spec.ts | 113 - .../unary/address_of_and_indirection.spec.ts | 209 - .../expression/unary/af_arithmetic.cache.ts | 13 - .../expression/unary/af_arithmetic.spec.ts | 39 - .../expression/unary/af_assignment.cache.ts | 51 - .../expression/unary/af_assignment.spec.ts | 76 - .../expression/unary/ai_arithmetic.cache.ts | 11 - .../expression/unary/ai_arithmetic.spec.ts | 30 - .../expression/unary/ai_assignment.cache.ts | 21 - .../expression/unary/ai_assignment.spec.ts | 65 - .../expression/unary/ai_complement.spec.ts | 32 - .../expression/unary/bool_conversion.cache.ts | 54 - .../expression/unary/bool_conversion.spec.ts | 117 - .../expression/unary/bool_logical.spec.ts | 33 - .../expression/unary/f16_arithmetic.cache.ts | 13 - .../expression/unary/f16_arithmetic.spec.ts | 32 - .../expression/unary/f16_conversion.cache.ts | 135 - .../expression/unary/f16_conversion.spec.ts | 267 - .../expression/unary/f32_arithmetic.cache.ts | 13 - .../expression/unary/f32_arithmetic.spec.ts | 29 - .../expression/unary/f32_conversion.cache.ts | 119 - .../expression/unary/f32_conversion.spec.ts | 243 - .../expression/unary/i32_arithmetic.cache.ts | 11 - .../expression/unary/i32_arithmetic.spec.ts | 28 - .../expression/unary/i32_complement.spec.ts | 30 - .../expression/unary/i32_conversion.cache.ts | 116 - .../expression/unary/i32_conversion.spec.ts | 158 - .../expression/unary/u32_complement.spec.ts | 30 - .../expression/unary/u32_conversion.cache.ts | 107 - .../expression/unary/u32_conversion.spec.ts | 158 - .../execution/expression/unary/unary.ts | 21 - .../shader/execution/float_parse.spec.ts | 131 - .../execution/flow_control/call.spec.ts | 196 - .../execution/flow_control/complex.spec.ts | 42 - .../execution/flow_control/eval_order.spec.ts | 1007 - .../shader/execution/flow_control/for.spec.ts | 321 - .../shader/execution/flow_control/harness.ts | 312 - .../shader/execution/flow_control/if.spec.ts | 102 - .../execution/flow_control/loop.spec.ts | 185 - .../execution/flow_control/phony.spec.ts | 135 - .../execution/flow_control/return.spec.ts | 56 - .../execution/flow_control/switch.spec.ts | 189 - .../execution/flow_control/while.spec.ts | 194 - src/webgpu/shader/execution/limits.spec.ts | 439 - .../shader/execution/memory_layout.spec.ts | 1186 -- .../execution/memory_model/adjacent.spec.ts | 272 - .../execution/memory_model/atomicity.spec.ts | 102 - .../execution/memory_model/barrier.spec.ts | 383 - .../execution/memory_model/coherence.spec.ts | 525 - .../memory_model/memory_model_setup.ts | 1319 -- ...texture_intra_invocation_coherence.spec.ts | 328 - .../execution/memory_model/weak.spec.ts | 429 - src/webgpu/shader/execution/padding.spec.ts | 406 - .../shader/execution/robust_access.spec.ts | 495 - .../execution/robust_access_vertex.spec.ts | 608 - .../shader_io/compute_builtins.spec.ts | 759 - .../shader_io/fragment_builtins.spec.ts | 1811 -- .../shader_io/shared_structs.spec.ts | 332 - .../execution/shader_io/user_io.spec.ts | 210 - .../shader_io/workgroup_size.spec.ts | 149 - src/webgpu/shader/execution/shadow.spec.ts | 406 - src/webgpu/shader/execution/stage.spec.ts | 132 - .../execution/statement/compound.spec.ts | 137 - .../execution/statement/discard.spec.ts | 712 - .../statement/increment_decrement.spec.ts | 448 - .../shader/execution/statement/phony.spec.ts | 119 - .../shader/execution/value_init.spec.ts | 329 - src/webgpu/shader/execution/zero_init.spec.ts | 546 - src/webgpu/shader/regression/README.txt | 2 - src/webgpu/shader/types.ts | 410 - src/webgpu/shader/validation/README.txt | 1 - .../const_assert/const_assert.spec.ts | 201 - .../decl/compound_statement.spec.ts | 98 - .../shader/validation/decl/const.spec.ts | 303 - .../decl/context_dependent_resolution.spec.ts | 393 - src/webgpu/shader/validation/decl/let.spec.ts | 236 - .../shader/validation/decl/override.spec.ts | 227 - src/webgpu/shader/validation/decl/util.ts | 163 - src/webgpu/shader/validation/decl/var.spec.ts | 861 - .../expression/access/array.spec.ts | 236 - .../expression/access/matrix.spec.ts | 218 - .../expression/access/structure.spec.ts | 116 - .../expression/access/vector.spec.ts | 483 - .../expression/binary/add_sub_mul.spec.ts | 317 - .../expression/binary/and_or_xor.spec.ts | 176 - .../expression/binary/bitwise_shift.spec.ts | 336 - .../expression/binary/comparison.spec.ts | 186 - .../expression/binary/div_rem.spec.ts | 289 - .../expression/binary/parse.spec.ts | 89 - .../expression/binary/result_type.ts | 67 - .../expression/call/builtin/abs.spec.ts | 162 - .../expression/call/builtin/acos.spec.ts | 221 - .../expression/call/builtin/acosh.spec.ts | 217 - .../expression/call/builtin/all.spec.ts | 191 - .../expression/call/builtin/any.spec.ts | 191 - .../call/builtin/arrayLength.spec.ts | 121 - .../expression/call/builtin/asin.spec.ts | 220 - .../expression/call/builtin/asinh.spec.ts | 216 - .../expression/call/builtin/atan.spec.ts | 208 - .../expression/call/builtin/atan2.spec.ts | 356 - .../expression/call/builtin/atanh.spec.ts | 228 - .../expression/call/builtin/atomics.spec.ts | 312 - .../expression/call/builtin/barriers.spec.ts | 109 - .../expression/call/builtin/bitcast.spec.ts | 414 - .../expression/call/builtin/ceil.spec.ts | 204 - .../expression/call/builtin/clamp.spec.ts | 320 - .../call/builtin/const_override_validation.ts | 439 - .../expression/call/builtin/cos.spec.ts | 114 - .../expression/call/builtin/cosh.spec.ts | 98 - .../call/builtin/countLeadingZeros.spec.ts | 198 - .../call/builtin/countOneBits.spec.ts | 198 - .../call/builtin/countTrailingZeros.spec.ts | 198 - .../expression/call/builtin/cross.spec.ts | 122 - .../expression/call/builtin/degrees.spec.ts | 114 - .../call/builtin/derivatives.spec.ts | 140 - .../call/builtin/determinant.spec.ts | 95 - .../expression/call/builtin/distance.spec.ts | 129 - .../expression/call/builtin/dot.spec.ts | 123 - .../call/builtin/dot4I8Packed.spec.ts | 66 - .../call/builtin/dot4U8Packed.spec.ts | 66 - .../expression/call/builtin/exp.spec.ts | 128 - .../expression/call/builtin/exp2.spec.ts | 128 - .../call/builtin/extractBits.spec.ts | 269 - .../call/builtin/faceForward.spec.ts | 152 - .../call/builtin/firstLeadingBit.spec.ts | 198 - .../call/builtin/firstTrailingBit.spec.ts | 198 - .../expression/call/builtin/floor.spec.ts | 108 - .../expression/call/builtin/fma.spec.ts | 141 - .../expression/call/builtin/fract.spec.ts | 94 - .../expression/call/builtin/frexp.spec.ts | 94 - .../call/builtin/insertBits.spec.ts | 293 - .../call/builtin/inverseSqrt.spec.ts | 107 - .../expression/call/builtin/ldexp.spec.ts | 256 - .../expression/call/builtin/length.spec.ts | 263 - .../expression/call/builtin/log.spec.ts | 108 - .../expression/call/builtin/log2.spec.ts | 108 - .../expression/call/builtin/max.spec.ts | 91 - .../expression/call/builtin/min.spec.ts | 91 - .../expression/call/builtin/mix.spec.ts | 142 - .../expression/call/builtin/modf.spec.ts | 204 - .../expression/call/builtin/normalize.spec.ts | 146 - .../call/builtin/pack2x16float.spec.ts | 100 - .../call/builtin/pack2x16snorm.spec.ts | 58 - .../call/builtin/pack2x16unorm.spec.ts | 58 - .../call/builtin/pack4x8snorm.spec.ts | 58 - .../call/builtin/pack4x8unorm.spec.ts | 58 - .../expression/call/builtin/pack4xI8.spec.ts | 62 - .../call/builtin/pack4xI8Clamp.spec.ts | 62 - .../expression/call/builtin/pack4xU8.spec.ts | 62 - .../call/builtin/pack4xU8Clamp.spec.ts | 62 - .../expression/call/builtin/pow.spec.ts | 175 - .../call/builtin/quadBroadcast.spec.ts | 286 - .../expression/call/builtin/quadSwap.spec.ts | 227 - .../call/builtin/quantizeToF16.spec.ts | 113 - .../expression/call/builtin/radians.spec.ts | 108 - .../expression/call/builtin/reflect.spec.ts | 131 - .../expression/call/builtin/refract.spec.ts | 175 - .../call/builtin/reverseBits.spec.ts | 198 - .../expression/call/builtin/round.spec.ts | 216 - .../expression/call/builtin/saturate.spec.ts | 204 - .../expression/call/builtin/select.spec.ts | 250 - .../call/builtin/shader_builtin_utils.ts | 163 - .../expression/call/builtin/sign.spec.ts | 92 - .../expression/call/builtin/sin.spec.ts | 115 - .../expression/call/builtin/sinh.spec.ts | 98 - .../call/builtin/smoothstep.spec.ts | 356 - .../expression/call/builtin/sqrt.spec.ts | 123 - .../expression/call/builtin/step.spec.ts | 108 - .../call/builtin/subgroupAdd.spec.ts | 235 - .../call/builtin/subgroupAnyAll.spec.ts | 186 - .../call/builtin/subgroupBallot.spec.ts | 175 - .../call/builtin/subgroupBitwise.spec.ts | 204 - .../call/builtin/subgroupBroadcast.spec.ts | 286 - .../builtin/subgroupBroadcastFirst.spec.ts | 210 - .../call/builtin/subgroupElect.spec.ts | 175 - .../call/builtin/subgroupMinMax.spec.ts | 227 - .../call/builtin/subgroupMul.spec.ts | 235 - .../call/builtin/subgroupShuffle.spec.ts | 262 - .../expression/call/builtin/tan.spec.ts | 107 - .../expression/call/builtin/tanh.spec.ts | 98 - .../call/builtin/textureDimensions.spec.ts | 283 - .../call/builtin/textureGather.spec.ts | 503 - .../call/builtin/textureGatherCompare.spec.ts | 373 - .../call/builtin/textureLoad.spec.ts | 551 - .../call/builtin/textureNumLayers.spec.ts | 142 - .../call/builtin/textureNumLevels.spec.ts | 109 - .../call/builtin/textureNumSamples.spec.ts | 101 - .../call/builtin/textureSample.spec.ts | 391 - .../textureSampleBaseClampToEdge.spec.ts | 124 - .../call/builtin/textureSampleBias.spec.ts | 411 - .../call/builtin/textureSampleCompare.spec.ts | 414 - .../builtin/textureSampleCompareLevel.spec.ts | 373 - .../call/builtin/textureSampleGrad.spec.ts | 420 - .../call/builtin/textureSampleLevel.spec.ts | 388 - .../call/builtin/textureStore.spec.ts | 227 - .../expression/call/builtin/transpose.spec.ts | 139 - .../expression/call/builtin/trunc.spec.ts | 94 - .../call/builtin/unpack2x16float.spec.ts | 126 - .../call/builtin/unpack2x16snorm.spec.ts | 107 - .../call/builtin/unpack2x16unorm.spec.ts | 107 - .../call/builtin/unpack4x8snorm.spec.ts | 107 - .../call/builtin/unpack4x8unorm.spec.ts | 107 - .../call/builtin/unpack4xI8.spec.ts | 128 - .../call/builtin/unpack4xU8.spec.ts | 128 - .../call/builtin/value_constructor.spec.ts | 801 - .../call/builtin/workgroupUniformLoad.spec.ts | 134 - .../expression/early_evaluation.spec.ts | 140 - .../expression/matrix/add_sub.spec.ts | 354 - .../expression/matrix/and_or_xor.spec.ts | 122 - .../expression/matrix/bitwise_shift.spec.ts | 121 - .../expression/matrix/comparison.spec.ts | 118 - .../expression/matrix/div_rem.spec.ts | 121 - .../validation/expression/matrix/mul.spec.ts | 810 - .../expression/overload_resolution.spec.ts | 268 - .../validation/expression/precedence.spec.ts | 219 - .../unary/address_of_and_indirection.spec.ts | 243 - .../unary/arithmetic_negation.spec.ts | 114 - .../unary/bitwise_complement.spec.ts | 114 - .../expression/unary/logical_negation.spec.ts | 155 - .../extension/dual_source_blending.spec.ts | 623 - .../pointer_composite_access.spec.ts | 130 - ...nly_and_readwrite_storage_textures.spec.ts | 50 - .../functions/alias_analysis.spec.ts | 723 - .../validation/functions/restrictions.spec.ts | 1199 -- .../shader/validation/parse/attribute.spec.ts | 87 - .../validation/parse/blankspace.spec.ts | 65 - .../shader/validation/parse/comments.spec.ts | 75 - .../validation/parse/diagnostic.spec.ts | 464 - .../shader/validation/parse/enable.spec.ts | 117 - .../validation/parse/identifiers.spec.ts | 407 - .../shader/validation/parse/literal.spec.ts | 302 - .../shader/validation/parse/must_use.spec.ts | 132 - .../shader/validation/parse/requires.spec.ts | 103 - .../shader/validation/parse/semicolon.spec.ts | 284 - .../validation/parse/shadow_builtins.spec.ts | 995 - .../shader/validation/parse/source.spec.ts | 29 - .../shader/validation/shader_io/align.spec.ts | 345 - .../validation/shader_io/binding.spec.ts | 126 - .../validation/shader_io/builtins.spec.ts | 461 - .../validation/shader_io/entry_point.spec.ts | 141 - .../shader/validation/shader_io/group.spec.ts | 126 - .../shader_io/group_and_binding.spec.ts | 177 - .../shader/validation/shader_io/id.spec.ts | 170 - .../validation/shader_io/interpolate.spec.ts | 225 - .../validation/shader_io/invariant.spec.ts | 99 - .../shader_io/layout_constraints.spec.ts | 543 - .../validation/shader_io/locations.spec.ts | 535 - .../shader_io/pipeline_stage.spec.ts | 167 - .../shader/validation/shader_io/size.spec.ts | 238 - .../shader/validation/shader_io/util.ts | 200 - .../shader_io/workgroup_size.spec.ts | 304 - .../validation/shader_validation_test.ts | 185 - .../shader/validation/statement/break.spec.ts | 80 - .../validation/statement/break_if.spec.ts | 122 - .../validation/statement/compound.spec.ts | 52 - .../validation/statement/const_assert.spec.ts | 38 - .../validation/statement/continue.spec.ts | 113 - .../validation/statement/continuing.spec.ts | 185 - .../validation/statement/discard.spec.ts | 65 - .../shader/validation/statement/for.spec.ts | 94 - .../shader/validation/statement/if.spec.ts | 128 - .../statement/increment_decrement.spec.ts | 270 - .../shader/validation/statement/loop.spec.ts | 95 - .../shader/validation/statement/phony.spec.ts | 179 - .../validation/statement/return.spec.ts | 156 - .../statement/statement_behavior.spec.ts | 143 - .../validation/statement/switch.spec.ts | 172 - .../shader/validation/statement/test_types.ts | 36 - .../shader/validation/statement/while.spec.ts | 71 - .../shader/validation/types/alias.spec.ts | 245 - .../shader/validation/types/array.spec.ts | 176 - .../shader/validation/types/atomics.spec.ts | 199 - .../shader/validation/types/enumerant.spec.ts | 89 - .../shader/validation/types/matrix.spec.ts | 160 - .../shader/validation/types/pointer.spec.ts | 262 - .../shader/validation/types/ref.spec.ts | 57 - .../shader/validation/types/struct.spec.ts | 299 - .../shader/validation/types/textures.spec.ts | 170 - .../shader/validation/types/vector.spec.ts | 78 - .../validation/uniformity/uniformity.spec.ts | 2695 --- src/webgpu/shader/values.ts | 91 - src/webgpu/util/binary_stream.ts | 223 - src/webgpu/util/check_contents.ts | 280 - src/webgpu/util/color_space_conversion.ts | 249 - src/webgpu/util/command_buffer_maker.ts | 85 - src/webgpu/util/compare.ts | 480 - src/webgpu/util/constants.ts | 502 - src/webgpu/util/conversion.ts | 2628 --- src/webgpu/util/copy_to_texture.ts | 191 - src/webgpu/util/create_elements.ts | 82 - src/webgpu/util/device_pool.ts | 426 - src/webgpu/util/floating_point.ts | 5562 ------ src/webgpu/util/math.ts | 2490 --- src/webgpu/util/memory.ts | 27 - src/webgpu/util/pretty_diff_tables.ts | 82 - src/webgpu/util/prng.ts | 164 - src/webgpu/util/reinterpret.ts | 118 - src/webgpu/util/shader.ts | 232 - src/webgpu/util/texture.ts | 561 - src/webgpu/util/texture/base.ts | 284 - .../texture/color_space_conversions.spec.ts | 108 - src/webgpu/util/texture/data_generation.ts | 83 - src/webgpu/util/texture/layout.ts | 372 - src/webgpu/util/texture/subresource.ts | 68 - src/webgpu/util/texture/texel_data.spec.ts | 384 - src/webgpu/util/texture/texel_data.ts | 1035 - src/webgpu/util/texture/texel_view.ts | 214 - src/webgpu/util/texture/texture_ok.spec.ts | 156 - src/webgpu/util/texture/texture_ok.ts | 349 - src/webgpu/util/unions.ts | 45 - src/webgpu/web_platform/README.txt | 5 - src/webgpu/web_platform/canvas/README.txt | 1 - .../web_platform/canvas/configure.spec.ts | 425 - .../canvas/context_creation.spec.ts | 47 - .../canvas/getCurrentTexture.spec.ts | 430 - .../canvas/getPreferredCanvasFormat.spec.ts | 19 - .../canvas/readbackFromWebGPUCanvas.spec.ts | 559 - .../copyToTexture/ImageBitmap.spec.ts | 543 - .../copyToTexture/ImageData.spec.ts | 221 - .../web_platform/copyToTexture/README.txt | 1 - .../web_platform/copyToTexture/canvas.spec.ts | 839 - .../web_platform/copyToTexture/image.spec.ts | 341 - src/webgpu/web_platform/copyToTexture/util.ts | 58 - .../web_platform/copyToTexture/video.spec.ts | 155 - .../web_platform/external_texture/README.txt | 1 - .../external_texture/video.spec.ts | 721 - .../web_platform/reftests/.eslintrc.json | 7 - src/webgpu/web_platform/reftests/README.txt | 17 - .../reftests/canvas_clear.html.ts | 34 - .../reftests/canvas_colorspace.html.ts | 139 - .../reftests/canvas_complex.html.ts | 772 - .../reftests/canvas_composite_alpha.html.ts | 177 - .../canvas_display_after_device_lost.html.ts | 65 - .../reftests/canvas_image_rendering.html.ts | 79 - .../reftests/create-pattern-data-url.ts | 23 - .../reftests/delay_get_texture.html.ts | 46 - .../web_platform/reftests/gpu_ref_test.ts | 26 - .../ref/canvas_colorspace-ref.html.ts | 41 - .../reftests/resize_observer.html.ts | 150 - src/webgpu/web_platform/util.ts | 608 - src/webgpu/web_platform/worker/worker.spec.ts | 67 - src/webgpu/web_platform/worker/worker.ts | 102 - .../web_platform/worker/worker_launcher.ts | 75 - src/webgpu/webworker/.gitignore | 2 - standalone/index.html | 456 - standalone/third_party/jquery/LICENSE.txt | 9 - .../third_party/jquery/jquery-3.3.1.min.js | 2 - standalone/third_party/normalize.min.css | 1 - standalone/webgpu-logo-notext.svg | 34 - stress/adapter/device_allocation.spec.js | 303 + stress/adapter/device_allocation.spec.js.map | 1 + stress/compute/compute_pass.spec.js | 244 + stress/compute/compute_pass.spec.js.map | 1 + stress/device/bind_group_allocation.spec.js | 66 + .../device/bind_group_allocation.spec.js.map | 1 + .../bind_group_layout_allocation.spec.js | 21 + .../bind_group_layout_allocation.spec.js.map | 1 + stress/device/buffer_allocation.spec.js | 26 + stress/device/buffer_allocation.spec.js.map | 1 + .../device/command_encoder_allocation.spec.js | 21 + .../command_encoder_allocation.spec.js.map | 1 + .../compute_pipeline_allocation.spec.js | 21 + .../compute_pipeline_allocation.spec.js.map | 1 + .../device/pipeline_layout_allocation.spec.js | 21 + .../pipeline_layout_allocation.spec.js.map | 1 + stress/device/query_set_allocation.spec.js | 28 + .../device/query_set_allocation.spec.js.map | 1 + .../device/render_bundle_allocation.spec.js | 21 + .../render_bundle_allocation.spec.js.map | 1 + .../device/render_pipeline_allocation.spec.js | 21 + .../render_pipeline_allocation.spec.js.map | 1 + stress/device/sampler_allocation.spec.js | 21 + stress/device/sampler_allocation.spec.js.map | 1 + .../device/shader_module_allocation.spec.js | 21 + .../shader_module_allocation.spec.js.map | 1 + stress/device/texture_allocation.spec.js | 28 + stress/device/texture_allocation.spec.js.map | 1 + stress/listing.js | 218 + stress/memory/churn.spec.js | 18 + stress/memory/churn.spec.js.map | 1 + stress/memory/oom.spec.js | 175 + stress/memory/oom.spec.js.map | 1 + stress/queries/occlusion.spec.js | 11 + stress/queries/occlusion.spec.js.map | 1 + stress/queries/resolve.spec.js | 16 + stress/queries/resolve.spec.js.map | 1 + stress/queries/timestamps.spec.js | 51 + stress/queries/timestamps.spec.js.map | 1 + stress/queue/submit.spec.js | 103 + stress/queue/submit.spec.js.map | 1 + stress/render/render_pass.spec.js | 355 + stress/render/render_pass.spec.js.map | 1 + stress/render/vertex_buffers.spec.js | 131 + stress/render/vertex_buffers.spec.js.map | 1 + stress/shaders/entry_points.spec.js | 79 + stress/shaders/entry_points.spec.js.map | 1 + stress/shaders/non_halting.spec.js | 195 + stress/shaders/non_halting.spec.js.map | 1 + stress/shaders/slow.spec.js | 192 + stress/shaders/slow.spec.js.map | 1 + stress/texture/large.spec.js | 57 + stress/texture/large.spec.js.map | 1 + .../adapter/device_allocation.as_worker.js | 6 + .../compute/compute_pass.as_worker.js | 6 + .../device/bind_group_allocation.as_worker.js | 6 + .../bind_group_layout_allocation.as_worker.js | 6 + .../device/buffer_allocation.as_worker.js | 6 + .../command_encoder_allocation.as_worker.js | 6 + .../compute_pipeline_allocation.as_worker.js | 6 + .../pipeline_layout_allocation.as_worker.js | 6 + .../device/query_set_allocation.as_worker.js | 6 + .../render_bundle_allocation.as_worker.js | 6 + .../render_pipeline_allocation.as_worker.js | 6 + .../device/sampler_allocation.as_worker.js | 6 + .../shader_module_allocation.as_worker.js | 6 + .../device/texture_allocation.as_worker.js | 6 + stress/webworker/memory/churn.as_worker.js | 6 + stress/webworker/memory/oom.as_worker.js | 6 + .../webworker/queries/occlusion.as_worker.js | 6 + stress/webworker/queries/resolve.as_worker.js | 6 + .../webworker/queries/timestamps.as_worker.js | 6 + stress/webworker/queue/submit.as_worker.js | 6 + .../webworker/render/render_pass.as_worker.js | 6 + .../render/vertex_buffers.as_worker.js | 6 + .../shaders/entry_points.as_worker.js | 6 + .../shaders/non_halting.as_worker.js | 6 + stress/webworker/shaders/slow.as_worker.js | 6 + stress/webworker/texture/large.as_worker.js | 6 + tools/af_data_gen/main.cpp | 270 - tools/checklist | 11 - tools/dev_server | 4 - tools/eslint-plugin-gpuweb-cts/index.js | 6 - tools/eslint-plugin-gpuweb-cts/package.json | 8 - .../eslint-plugin-gpuweb-cts/tabs-anywhere.js | 30 - .../trailing-space-anywhere.js | 30 - tools/gen_cache | 4 - tools/gen_listings_and_webworkers | 8 - tools/gen_version | 28 - tools/gen_wpt_cfg_chunked2sec.json | 7 - tools/gen_wpt_cfg_unchunked.json | 6 - tools/gen_wpt_cts_html | 39 - tools/merge_listing_times | 9 - tools/run_deno | 3 - tools/run_node | 6 - tools/run_wpt_ref_tests | 4 - tools/server | 6 - tools/validate | 6 - tools/websocket-logger/.eslintrc.json | 13 - tools/websocket-logger/.gitignore | 1 - tools/websocket-logger/README.md | 9 - tools/websocket-logger/main.js | 23 - tools/websocket-logger/package-lock.json | 39 - tools/websocket-logger/package.json | 14 - tsconfig.json | 74 - unittests/async_expectations.spec.js | 169 + unittests/async_expectations.spec.js.map | 1 + unittests/basic.spec.js | 36 + unittests/basic.spec.js.map | 1 + unittests/check_contents.spec.js | 72 + unittests/check_contents.spec.js.map | 1 + unittests/conversion.spec.js | 699 + unittests/conversion.spec.js.map | 1 + unittests/crc32.spec.js | 29 + unittests/crc32.spec.js.map | 1 + unittests/floating_point.spec.js | 8319 +++++++++ unittests/floating_point.spec.js.map | 1 + unittests/getStackTrace.spec.js | 139 + unittests/getStackTrace.spec.js.map | 1 + unittests/listing.js | 113 + unittests/loaders_and_trees.spec.js | 979 + unittests/loaders_and_trees.spec.js.map | 1 + unittests/logger.spec.js | 174 + unittests/logger.spec.js.map | 1 + unittests/maths.spec.js | 1961 ++ unittests/maths.spec.js.map | 1 + unittests/params_builder_and_utils.spec.js | 550 + .../params_builder_and_utils.spec.js.map | 1 + unittests/params_builder_toplevel.spec.js | 113 + unittests/params_builder_toplevel.spec.js.map | 1 + unittests/parse_imports.spec.js | 80 + unittests/parse_imports.spec.js.map | 1 + unittests/preprocessor.spec.js | 208 + unittests/preprocessor.spec.js.map | 1 + unittests/prng.spec.js | 150 + unittests/prng.spec.js.map | 1 + unittests/query_compare.spec.js | 145 + unittests/query_compare.spec.js.map | 1 + unittests/query_string.spec.js | 269 + unittests/query_string.spec.js.map | 1 + unittests/serialization.spec.js | 483 + unittests/serialization.spec.js.map | 1 + unittests/test_group.spec.js | 438 + unittests/test_group.spec.js.map | 1 + unittests/test_group_test.js | 35 + unittests/test_group_test.js.map | 1 + unittests/test_query.spec.js | 144 + unittests/test_query.spec.js.map | 1 + unittests/texture_ok.spec.js | 161 + unittests/texture_ok.spec.js.map | 1 + unittests/unit_test.js | 4 + unittests/unit_test.js.map | 1 + .../webworker/async_expectations.as_worker.js | 6 + unittests/webworker/basic.as_worker.js | 6 + .../webworker/check_contents.as_worker.js | 6 + unittests/webworker/conversion.as_worker.js | 6 + unittests/webworker/crc32.as_worker.js | 6 + .../webworker/floating_point.as_worker.js | 6 + .../webworker/getStackTrace.as_worker.js | 6 + .../webworker/loaders_and_trees.as_worker.js | 6 + unittests/webworker/logger.as_worker.js | 6 + unittests/webworker/maths.as_worker.js | 6 + .../params_builder_and_utils.as_worker.js | 6 + .../params_builder_toplevel.as_worker.js | 6 + .../webworker/parse_imports.as_worker.js | 6 + unittests/webworker/preprocessor.as_worker.js | 6 + unittests/webworker/prng.as_worker.js | 6 + .../webworker/query_compare.as_worker.js | 6 + unittests/webworker/query_string.as_worker.js | 6 + .../webworker/serialization.as_worker.js | 6 + unittests/webworker/test_group.as_worker.js | 6 + unittests/webworker/test_query.as_worker.js | 6 + unittests/webworker/texture_ok.as_worker.js | 6 + w3c.json | 5 - webgpu/api/operation/adapter/info.spec.js | 42 + webgpu/api/operation/adapter/info.spec.js.map | 1 + .../operation/adapter/requestAdapter.spec.js | 129 + .../adapter/requestAdapter.spec.js.map | 1 + .../operation/adapter/requestDevice.spec.js | 486 + .../adapter/requestDevice.spec.js.map | 1 + webgpu/api/operation/buffers/map.spec.js | 511 + webgpu/api/operation/buffers/map.spec.js.map | 1 + .../operation/buffers/map_ArrayBuffer.spec.js | 90 + .../buffers/map_ArrayBuffer.spec.js.map | 1 + .../api/operation/buffers/map_detach.spec.js | 82 + .../operation/buffers/map_detach.spec.js.map | 1 + webgpu/api/operation/buffers/map_oom.spec.js | 51 + .../api/operation/buffers/map_oom.spec.js.map | 1 + webgpu/api/operation/buffers/mapping_test.js | 40 + .../api/operation/buffers/mapping_test.js.map | 1 + .../api/operation/buffers/threading.spec.js | 30 + .../operation/buffers/threading.spec.js.map | 1 + .../operation/command_buffer/basic.spec.js | 99 + .../command_buffer/basic.spec.js.map | 1 + .../command_buffer/clearBuffer.spec.js | 55 + .../command_buffer/clearBuffer.spec.js.map | 1 + .../command_buffer/copyBufferToBuffer.spec.js | 107 + .../copyBufferToBuffer.spec.js.map | 1 + .../copyTextureToTexture.spec.js | 1701 ++ .../copyTextureToTexture.spec.js.map | 1 + .../command_buffer/image_copy.spec.js | 2146 +++ .../command_buffer/image_copy.spec.js.map | 1 + .../programmable/programmable_state_test.js | 158 + .../programmable_state_test.js.map | 1 + .../programmable/state_tracking.spec.js | 307 + .../programmable/state_tracking.spec.js.map | 1 + .../queries/occlusionQuery.spec.js | 1025 + .../queries/occlusionQuery.spec.js.map | 1 + .../render/dynamic_state.spec.js | 20 + .../render/dynamic_state.spec.js.map | 1 + .../render/state_tracking.spec.js | 621 + .../render/state_tracking.spec.js.map | 1 + webgpu/api/operation/compute/basic.spec.js | 163 + .../api/operation/compute/basic.spec.js.map | 1 + .../compute_pipeline/entry_point_name.spec.js | 13 + .../entry_point_name.spec.js.map | 1 + .../compute_pipeline/overrides.spec.js | 572 + .../compute_pipeline/overrides.spec.js.map | 1 + webgpu/api/operation/device/lost.spec.js | 93 + webgpu/api/operation/device/lost.spec.js.map | 1 + webgpu/api/operation/labels.spec.js | 305 + webgpu/api/operation/labels.spec.js.map | 1 + .../memory_sync/buffer/buffer_sync_test.js | 931 + .../buffer/buffer_sync_test.js.map | 1 + .../buffer/multiple_buffers.spec.js | 355 + .../buffer/multiple_buffers.spec.js.map | 1 + .../memory_sync/buffer/single_buffer.spec.js | 258 + .../buffer/single_buffer.spec.js.map | 1 + .../memory_sync/operation_context_helper.js | 329 + .../operation_context_helper.js.map | 1 + .../texture/readonly_depth_stencil.spec.js | 327 + .../readonly_depth_stencil.spec.js.map | 1 + .../texture/same_subresource.spec.js | 696 + .../texture/same_subresource.spec.js.map | 1 + .../memory_sync/texture/texture_sync_test.js | 125 + .../texture/texture_sync_test.js.map | 1 + .../api/operation/onSubmittedWorkDone.spec.js | 57 + .../operation/onSubmittedWorkDone.spec.js.map | 1 + .../operation/pipeline/default_layout.spec.js | 28 + .../pipeline/default_layout.spec.js.map | 1 + .../api/operation/queue/writeBuffer.spec.js | 236 + .../operation/queue/writeBuffer.spec.js.map | 1 + webgpu/api/operation/reflection.spec.js | 285 + webgpu/api/operation/reflection.spec.js.map | 1 + .../operation/render_pass/clear_value.spec.js | 188 + .../render_pass/clear_value.spec.js.map | 1 + .../api/operation/render_pass/resolve.spec.js | 184 + .../operation/render_pass/resolve.spec.js.map | 1 + .../api/operation/render_pass/storeOp.spec.js | 355 + .../operation/render_pass/storeOp.spec.js.map | 1 + .../operation/render_pass/storeop2.spec.js | 84 + .../render_pass/storeop2.spec.js.map | 1 + .../render_pipeline/culling_tests.spec.js | 360 + .../render_pipeline/culling_tests.spec.js.map | 1 + .../render_pipeline/overrides.spec.js | 454 + .../render_pipeline/overrides.spec.js.map | 1 + .../pipeline_output_targets.spec.js | 451 + .../pipeline_output_targets.spec.js.map | 1 + .../primitive_topology.spec.js | 489 + .../primitive_topology.spec.js.map | 1 + .../render_pipeline/sample_mask.spec.js | 807 + .../render_pipeline/sample_mask.spec.js.map | 1 + .../vertex_only_render_pipeline.spec.js | 30 + .../vertex_only_render_pipeline.spec.js.map | 1 + .../rendering/3d_texture_slices.spec.js | 364 + .../rendering/3d_texture_slices.spec.js.map | 1 + webgpu/api/operation/rendering/basic.spec.js | 353 + .../api/operation/rendering/basic.spec.js.map | 1 + .../rendering/color_target_state.spec.js | 878 + .../rendering/color_target_state.spec.js.map | 1 + webgpu/api/operation/rendering/depth.spec.js | 538 + .../api/operation/rendering/depth.spec.js.map | 1 + .../operation/rendering/depth_bias.spec.js | 361 + .../rendering/depth_bias.spec.js.map | 1 + .../rendering/depth_clip_clamp.spec.js | 533 + .../rendering/depth_clip_clamp.spec.js.map | 1 + webgpu/api/operation/rendering/draw.spec.js | 769 + .../api/operation/rendering/draw.spec.js.map | 1 + .../operation/rendering/indirect_draw.spec.js | 243 + .../rendering/indirect_draw.spec.js.map | 1 + .../rendering/robust_access_index.spec.js | 9 + .../rendering/robust_access_index.spec.js.map | 1 + .../api/operation/rendering/stencil.spec.js | 581 + .../operation/rendering/stencil.spec.js.map | 1 + .../operation/resource_init/buffer.spec.js | 876 + .../resource_init/buffer.spec.js.map | 1 + .../resource_init/check_texture/by_copy.js | 67 + .../check_texture/by_copy.js.map | 1 + .../resource_init/check_texture/by_ds_test.js | 202 + .../check_texture/by_ds_test.js.map | 1 + .../check_texture/by_sampling.js | 169 + .../check_texture/by_sampling.js.map | 1 + .../check_texture/texture_zero_init_test.js | 536 + .../texture_zero_init_test.js.map | 1 + .../resource_init/texture_zero.spec.js | 113 + .../resource_init/texture_zero.spec.js.map | 1 + .../api/operation/sampling/anisotropy.spec.js | 326 + .../operation/sampling/anisotropy.spec.js.map | 1 + .../operation/sampling/filter_mode.spec.js | 1144 ++ .../sampling/filter_mode.spec.js.map | 1 + .../api/operation/sampling/lod_clamp.spec.js | 13 + .../operation/sampling/lod_clamp.spec.js.map | 1 + .../shader_module/compilation_info.spec.js | 224 + .../compilation_info.spec.js.map | 1 + .../storage_texture/read_only.spec.js | 623 + .../storage_texture/read_only.spec.js.map | 1 + .../storage_texture/read_write.spec.js | 383 + .../storage_texture/read_write.spec.js.map | 1 + .../format_reinterpretation.spec.js | 357 + .../format_reinterpretation.spec.js.map | 1 + .../api/operation/texture_view/read.spec.js | 57 + .../operation/texture_view/read.spec.js.map | 1 + .../api/operation/texture_view/write.spec.js | 390 + .../operation/texture_view/write.spec.js.map | 1 + webgpu/api/operation/uncapturederror.spec.js | 37 + .../api/operation/uncapturederror.spec.js.map | 1 + .../vertex_state/correctness.spec.js | 1181 ++ .../vertex_state/correctness.spec.js.map | 1 + .../vertex_state/index_format.spec.js | 585 + .../vertex_state/index_format.spec.js.map | 1 + webgpu/api/validation/buffer/create.spec.js | 114 + .../api/validation/buffer/create.spec.js.map | 1 + webgpu/api/validation/buffer/destroy.spec.js | 102 + .../api/validation/buffer/destroy.spec.js.map | 1 + webgpu/api/validation/buffer/mapping.spec.js | 1139 ++ .../api/validation/buffer/mapping.spec.js.map | 1 + .../api/validation/buffer/threading.spec.js | 15 + .../validation/buffer/threading.spec.js.map | 1 + .../features/clip_distances.spec.js | 162 + .../features/clip_distances.spec.js.map | 1 + .../features/query_types.spec.js | 119 + .../features/query_types.spec.js.map | 1 + .../features/texture_formats.spec.js | 464 + .../features/texture_formats.spec.js.map | 1 + .../capability_checks/limits/limit_utils.js | 1121 ++ .../limits/limit_utils.js.map | 1 + .../limits/maxBindGroups.spec.js | 218 + .../limits/maxBindGroups.spec.js.map | 1 + .../maxBindGroupsPlusVertexBuffers.spec.js | 299 + ...maxBindGroupsPlusVertexBuffers.spec.js.map | 1 + .../limits/maxBindingsPerBindGroup.spec.js | 76 + .../maxBindingsPerBindGroup.spec.js.map | 1 + .../limits/maxBufferSize.spec.js | 28 + .../limits/maxBufferSize.spec.js.map | 1 + .../maxColorAttachmentBytesPerSample.spec.js | 259 + ...xColorAttachmentBytesPerSample.spec.js.map | 1 + .../limits/maxColorAttachments.spec.js | 123 + .../limits/maxColorAttachments.spec.js.map | 1 + .../maxComputeInvocationsPerWorkgroup.spec.js | 148 + ...ComputeInvocationsPerWorkgroup.spec.js.map | 1 + .../limits/maxComputeWorkgroupSizeX.spec.js | 21 + .../maxComputeWorkgroupSizeX.spec.js.map | 1 + .../limits/maxComputeWorkgroupSizeY.spec.js | 21 + .../maxComputeWorkgroupSizeY.spec.js.map | 1 + .../limits/maxComputeWorkgroupSizeZ.spec.js | 21 + .../maxComputeWorkgroupSizeZ.spec.js.map | 1 + .../maxComputeWorkgroupStorageSize.spec.js | 186 + ...maxComputeWorkgroupStorageSize.spec.js.map | 1 + .../maxComputeWorkgroupsPerDimension.spec.js | 98 + ...xComputeWorkgroupsPerDimension.spec.js.map | 1 + ...micStorageBuffersPerPipelineLayout.spec.js | 40 + ...torageBuffersPerPipelineLayout.spec.js.map | 1 + ...micUniformBuffersPerPipelineLayout.spec.js | 43 + ...niformBuffersPerPipelineLayout.spec.js.map | 1 + .../maxInterStageShaderComponents.spec.js | 154 + .../maxInterStageShaderComponents.spec.js.map | 1 + .../maxInterStageShaderVariables.spec.js | 46 + .../maxInterStageShaderVariables.spec.js.map | 1 + .../maxSampledTexturesPerShaderStage.spec.js | 179 + ...xSampledTexturesPerShaderStage.spec.js.map | 1 + .../limits/maxSamplersPerShaderStage.spec.js | 184 + .../maxSamplersPerShaderStage.spec.js.map | 1 + .../maxStorageBufferBindingSize.spec.js | 160 + .../maxStorageBufferBindingSize.spec.js.map | 1 + .../maxStorageBuffersPerShaderStage.spec.js | 190 + ...axStorageBuffersPerShaderStage.spec.js.map | 1 + .../maxStorageTexturesPerShaderStage.spec.js | 189 + ...xStorageTexturesPerShaderStage.spec.js.map | 1 + .../limits/maxTextureArrayLayers.spec.js | 28 + .../limits/maxTextureArrayLayers.spec.js.map | 1 + .../limits/maxTextureDimension1D.spec.js | 35 + .../limits/maxTextureDimension1D.spec.js.map | 1 + .../limits/maxTextureDimension2D.spec.js | 134 + .../limits/maxTextureDimension2D.spec.js.map | 1 + .../limits/maxTextureDimension3D.spec.js | 40 + .../limits/maxTextureDimension3D.spec.js.map | 1 + .../maxUniformBufferBindingSize.spec.js | 89 + .../maxUniformBufferBindingSize.spec.js.map | 1 + .../maxUniformBuffersPerShaderStage.spec.js | 177 + ...axUniformBuffersPerShaderStage.spec.js.map | 1 + .../limits/maxVertexAttributes.spec.js | 45 + .../limits/maxVertexAttributes.spec.js.map | 1 + .../limits/maxVertexBufferArrayStride.spec.js | 123 + .../maxVertexBufferArrayStride.spec.js.map | 1 + .../limits/maxVertexBuffers.spec.js | 88 + .../limits/maxVertexBuffers.spec.js.map | 1 + .../minStorageBufferOffsetAlignment.spec.js | 182 + ...inStorageBufferOffsetAlignment.spec.js.map | 1 + .../minUniformBufferOffsetAlignment.spec.js | 185 + ...inUniformBufferOffsetAlignment.spec.js.map | 1 + .../api/validation/compute_pipeline.spec.js | 743 + .../validation/compute_pipeline.spec.js.map | 1 + webgpu/api/validation/createBindGroup.spec.js | 1146 ++ .../validation/createBindGroup.spec.js.map | 1 + .../validation/createBindGroupLayout.spec.js | 474 + .../createBindGroupLayout.spec.js.map | 1 + .../validation/createPipelineLayout.spec.js | 165 + .../createPipelineLayout.spec.js.map | 1 + webgpu/api/validation/createSampler.spec.js | 69 + .../api/validation/createSampler.spec.js.map | 1 + webgpu/api/validation/createTexture.spec.js | 1140 ++ .../api/validation/createTexture.spec.js.map | 1 + webgpu/api/validation/createView.spec.js | 342 + webgpu/api/validation/createView.spec.js.map | 1 + webgpu/api/validation/debugMarker.spec.js | 98 + webgpu/api/validation/debugMarker.spec.js.map | 1 + .../encoding/beginComputePass.spec.js | 150 + .../encoding/beginComputePass.spec.js.map | 1 + .../encoding/beginRenderPass.spec.js | 219 + .../encoding/beginRenderPass.spec.js.map | 1 + .../encoding/cmds/clearBuffer.spec.js | 248 + .../encoding/cmds/clearBuffer.spec.js.map | 1 + .../encoding/cmds/compute_pass.spec.js | 260 + .../encoding/cmds/compute_pass.spec.js.map | 1 + .../encoding/cmds/copyBufferToBuffer.spec.js | 329 + .../cmds/copyBufferToBuffer.spec.js.map | 1 + .../cmds/copyTextureToTexture.spec.js | 886 + .../cmds/copyTextureToTexture.spec.js.map | 1 + .../validation/encoding/cmds/debug.spec.js | 67 + .../encoding/cmds/debug.spec.js.map | 1 + .../encoding/cmds/index_access.spec.js | 163 + .../encoding/cmds/index_access.spec.js.map | 1 + .../encoding/cmds/render/draw.spec.js | 878 + .../encoding/cmds/render/draw.spec.js.map | 1 + .../cmds/render/dynamic_state.spec.js | 320 + .../cmds/render/dynamic_state.spec.js.map | 1 + .../cmds/render/indirect_draw.spec.js | 204 + .../cmds/render/indirect_draw.spec.js.map | 1 + .../validation/encoding/cmds/render/render.js | 30 + .../encoding/cmds/render/render.js.map | 1 + .../cmds/render/setIndexBuffer.spec.js | 126 + .../cmds/render/setIndexBuffer.spec.js.map | 1 + .../encoding/cmds/render/setPipeline.spec.js | 63 + .../cmds/render/setPipeline.spec.js.map | 1 + .../cmds/render/setVertexBuffer.spec.js | 146 + .../cmds/render/setVertexBuffer.spec.js.map | 1 + .../cmds/render/state_tracking.spec.js | 185 + .../cmds/render/state_tracking.spec.js.map | 1 + .../encoding/cmds/render_pass.spec.js | 15 + .../encoding/cmds/render_pass.spec.js.map | 1 + .../encoding/cmds/setBindGroup.spec.js | 438 + .../encoding/cmds/setBindGroup.spec.js.map | 1 + .../createRenderBundleEncoder.spec.js | 222 + .../createRenderBundleEncoder.spec.js.map | 1 + .../encoding/encoder_open_state.spec.js | 596 + .../encoding/encoder_open_state.spec.js.map | 1 + .../validation/encoding/encoder_state.spec.js | 250 + .../encoding/encoder_state.spec.js.map | 1 + .../pipeline_bind_group_compat.spec.js | 1111 ++ .../pipeline_bind_group_compat.spec.js.map | 1 + .../encoding/queries/begin_end.spec.js | 118 + .../encoding/queries/begin_end.spec.js.map | 1 + .../api/validation/encoding/queries/common.js | 38 + .../validation/encoding/queries/common.js.map | 1 + .../encoding/queries/general.spec.js | 178 + .../encoding/queries/general.spec.js.map | 1 + .../encoding/queries/resolveQuerySet.spec.js | 184 + .../queries/resolveQuerySet.spec.js.map | 1 + .../validation/encoding/render_bundle.spec.js | 247 + .../encoding/render_bundle.spec.js.map | 1 + webgpu/api/validation/error_scope.spec.js | 200 + webgpu/api/validation/error_scope.spec.js.map | 1 + .../api/validation/getBindGroupLayout.spec.js | 202 + .../validation/getBindGroupLayout.spec.js.map | 1 + .../gpu_external_texture_expiration.spec.js | 312 + ...pu_external_texture_expiration.spec.js.map | 1 + .../image_copy/buffer_related.spec.js | 228 + .../image_copy/buffer_related.spec.js.map | 1 + .../image_copy/buffer_texture_copies.spec.js | 456 + .../buffer_texture_copies.spec.js.map | 1 + .../api/validation/image_copy/image_copy.js | 277 + .../validation/image_copy/image_copy.js.map | 1 + .../image_copy/layout_related.spec.js | 484 + .../image_copy/layout_related.spec.js.map | 1 + .../image_copy/texture_related.spec.js | 533 + .../image_copy/texture_related.spec.js.map | 1 + .../validation/layout_shader_compat.spec.js | 295 + .../layout_shader_compat.spec.js.map | 1 + .../api/validation/query_set/create.spec.js | 35 + .../validation/query_set/create.spec.js.map | 1 + .../api/validation/query_set/destroy.spec.js | 34 + .../validation/query_set/destroy.spec.js.map | 1 + .../validation/queue/buffer_mapped.spec.js | 281 + .../queue/buffer_mapped.spec.js.map | 1 + .../CopyExternalImageToTexture.spec.js | 819 + .../CopyExternalImageToTexture.spec.js.map | 1 + .../validation/queue/destroyed/buffer.spec.js | 273 + .../queue/destroyed/buffer.spec.js.map | 1 + .../queue/destroyed/query_set.spec.js | 105 + .../queue/destroyed/query_set.spec.js.map | 1 + .../queue/destroyed/texture.spec.js | 276 + .../queue/destroyed/texture.spec.js.map | 1 + webgpu/api/validation/queue/submit.spec.js | 130 + .../api/validation/queue/submit.spec.js.map | 1 + .../api/validation/queue/writeBuffer.spec.js | 202 + .../validation/queue/writeBuffer.spec.js.map | 1 + .../api/validation/queue/writeTexture.spec.js | 112 + .../validation/queue/writeTexture.spec.js.map | 1 + .../attachment_compatibility.spec.js | 682 + .../attachment_compatibility.spec.js.map | 1 + .../render_pass_descriptor.spec.js | 1280 ++ .../render_pass_descriptor.spec.js.map | 1 + .../validation/render_pass/resolve.spec.js | 193 + .../render_pass/resolve.spec.js.map | 1 + .../api/validation/render_pipeline/common.js | 70 + .../validation/render_pipeline/common.js.map | 1 + .../depth_stencil_state.spec.js | 358 + .../depth_stencil_state.spec.js.map | 1 + .../render_pipeline/float32_blendable.spec.js | 48 + .../float32_blendable.spec.js.map | 1 + .../render_pipeline/fragment_state.spec.js | 634 + .../fragment_state.spec.js.map | 1 + .../render_pipeline/inter_stage.spec.js | 371 + .../render_pipeline/inter_stage.spec.js.map | 1 + .../validation/render_pipeline/misc.spec.js | 151 + .../render_pipeline/misc.spec.js.map | 1 + .../render_pipeline/multisample_state.spec.js | 88 + .../multisample_state.spec.js.map | 1 + .../render_pipeline/overrides.spec.js | 536 + .../render_pipeline/overrides.spec.js.map | 1 + .../render_pipeline/primitive_state.spec.js | 43 + .../primitive_state.spec.js.map | 1 + .../resource_compatibility.spec.js | 103 + .../resource_compatibility.spec.js.map | 1 + .../render_pipeline/shader_module.spec.js | 120 + .../render_pipeline/shader_module.spec.js.map | 1 + .../render_pipeline/vertex_state.spec.js | 766 + .../render_pipeline/vertex_state.spec.js.map | 1 + .../buffer/in_pass_encoder.spec.js | 929 + .../buffer/in_pass_encoder.spec.js.map | 1 + .../buffer/in_pass_misc.spec.js | 410 + .../buffer/in_pass_misc.spec.js.map | 1 + .../texture/in_pass_encoder.spec.js | 1559 ++ .../texture/in_pass_encoder.spec.js.map | 1 + .../texture/in_render_common.spec.js | 604 + .../texture/in_render_common.spec.js.map | 1 + .../texture/in_render_misc.spec.js | 574 + .../texture/in_render_misc.spec.js.map | 1 + .../shader_module/entry_point.spec.js | 306 + .../shader_module/entry_point.spec.js.map | 1 + .../shader_module/overrides.spec.js | 97 + .../shader_module/overrides.spec.js.map | 1 + .../state/device_lost/destroy.spec.js | 1173 ++ .../state/device_lost/destroy.spec.js.map | 1 + .../texture/bgra8unorm_storage.spec.js | 175 + .../texture/bgra8unorm_storage.spec.js.map | 1 + webgpu/api/validation/texture/destroy.spec.js | 140 + .../validation/texture/destroy.spec.js.map | 1 + .../texture/float32_filterable.spec.js | 59 + .../texture/float32_filterable.spec.js.map | 1 + .../texture/rg11b10ufloat_renderable.spec.js | 150 + .../rg11b10ufloat_renderable.spec.js.map | 1 + webgpu/api/validation/utils.js | 276 + webgpu/api/validation/utils.js.map | 1 + webgpu/api/validation/validation_test.js | 444 + webgpu/api/validation/validation_test.js.map | 1 + webgpu/capability_info.js | 844 + webgpu/capability_info.js.map | 1 + .../api/validation/createBindGroup.spec.js | 178 + .../validation/createBindGroup.spec.js.map | 1 + .../validation/createBindGroupLayout.spec.js | 35 + .../createBindGroupLayout.spec.js.map | 1 + .../encoding/cmds/copyTextureToBuffer.spec.js | 44 + .../cmds/copyTextureToBuffer.spec.js.map | 1 + .../cmds/copyTextureToTexture.spec.js | 91 + .../cmds/copyTextureToTexture.spec.js.map | 1 + .../pipeline_bind_group_compat.spec.js | 422 + .../pipeline_bind_group_compat.spec.js.map | 1 + .../depth_stencil_state.spec.js | 54 + .../depth_stencil_state.spec.js.map | 1 + .../render_pipeline/fragment_state.spec.js | 129 + .../fragment_state.spec.js.map | 1 + .../render_pipeline/unsupported_wgsl.spec.js | 312 + .../unsupported_wgsl.spec.js.map | 1 + .../render_pipeline/vertex_state.spec.js | 94 + .../render_pipeline/vertex_state.spec.js.map | 1 + .../validation/texture/createTexture.spec.js | 178 + .../texture/createTexture.spec.js.map | 1 + .../api/validation/texture/cubeArray.spec.js | 27 + .../validation/texture/cubeArray.spec.js.map | 1 + webgpu/compat/compatibility_test.js | 30 + webgpu/compat/compatibility_test.js.map | 1 + webgpu/constants.js | 66 + webgpu/constants.js.map | 1 + webgpu/error_test.js | 111 + webgpu/error_test.js.map | 1 + webgpu/examples.spec.js | 276 + webgpu/examples.spec.js.map | 1 + webgpu/format_info.js | 1854 ++ webgpu/format_info.js.map | 1 + webgpu/gpu_test.js | 1887 ++ webgpu/gpu_test.js.map | 1 + webgpu/idl/constants/flags.spec.js | 80 + webgpu/idl/constants/flags.spec.js.map | 1 + webgpu/idl/constructable.spec.js | 55 + webgpu/idl/constructable.spec.js.map | 1 + webgpu/idl/exposed.html.js | 53 + webgpu/idl/exposed.html.js.map | 1 + {src/webgpu => webgpu}/idl/exposed.http.html | 0 {src/webgpu => webgpu}/idl/exposed.https.html | 0 webgpu/idl/idl_test.js | 42 + webgpu/idl/idl_test.js.map | 1 + webgpu/inter_stage.js | 95 + webgpu/inter_stage.js.map | 1 + webgpu/listing.js | 5947 ++++++ webgpu/multisample_info.js | 76 + webgpu/multisample_info.js.map | 1 + webgpu/print_environment.spec.js | 81 + webgpu/print_environment.spec.js.map | 1 + .../expression/access/array/index.spec.js | 408 + .../expression/access/array/index.spec.js.map | 1 + .../expression/access/matrix/index.spec.js | 201 + .../access/matrix/index.spec.js.map | 1 + .../expression/access/structure/index.spec.js | 517 + .../access/structure/index.spec.js.map | 1 + .../access/vector/components.spec.js | 119 + .../access/vector/components.spec.js.map | 1 + .../expression/access/vector/index.spec.js | 88 + .../access/vector/index.spec.js.map | 1 + .../expression/binary/af_addition.cache.js | 53 + .../binary/af_addition.cache.js.map | 1 + .../expression/binary/af_addition.spec.js | 102 + .../expression/binary/af_addition.spec.js.map | 1 + .../expression/binary/af_comparison.cache.js | 91 + .../binary/af_comparison.cache.js.map | 1 + .../expression/binary/af_comparison.spec.js | 150 + .../binary/af_comparison.spec.js.map | 1 + .../execution/expression/binary/af_data.js | 824 + .../expression/binary/af_data.js.map | 1 + .../expression/binary/af_division.cache.js | 58 + .../binary/af_division.cache.js.map | 1 + .../expression/binary/af_division.spec.js | 102 + .../expression/binary/af_division.spec.js.map | 1 + .../binary/af_matrix_addition.cache.js | 48 + .../binary/af_matrix_addition.cache.js.map | 1 + .../binary/af_matrix_addition.spec.js | 42 + .../binary/af_matrix_addition.spec.js.map | 1 + .../af_matrix_matrix_multiplication.cache.js | 30 + ..._matrix_matrix_multiplication.cache.js.map | 1 + .../af_matrix_matrix_multiplication.spec.js | 46 + ...f_matrix_matrix_multiplication.spec.js.map | 1 + .../af_matrix_scalar_multiplication.cache.js | 77 + ..._matrix_scalar_multiplication.cache.js.map | 1 + .../af_matrix_scalar_multiplication.spec.js | 70 + ...f_matrix_scalar_multiplication.spec.js.map | 1 + .../binary/af_matrix_subtraction.cache.js | 48 + .../binary/af_matrix_subtraction.cache.js.map | 1 + .../binary/af_matrix_subtraction.spec.js | 42 + .../binary/af_matrix_subtraction.spec.js.map | 1 + .../af_matrix_vector_multiplication.cache.js | 52 + ..._matrix_vector_multiplication.cache.js.map | 1 + .../af_matrix_vector_multiplication.spec.js | 70 + ...f_matrix_vector_multiplication.spec.js.map | 1 + .../binary/af_multiplication.cache.js | 57 + .../binary/af_multiplication.cache.js.map | 1 + .../binary/af_multiplication.spec.js | 102 + .../binary/af_multiplication.spec.js.map | 1 + .../expression/binary/af_remainder.cache.js | 58 + .../binary/af_remainder.cache.js.map | 1 + .../expression/binary/af_remainder.spec.js | 102 + .../binary/af_remainder.spec.js.map | 1 + .../expression/binary/af_subtraction.cache.js | 53 + .../binary/af_subtraction.cache.js.map | 1 + .../expression/binary/af_subtraction.spec.js | 102 + .../binary/af_subtraction.spec.js.map | 1 + .../expression/binary/ai_arithmetic.cache.js | 146 + .../binary/ai_arithmetic.cache.js.map | 1 + .../expression/binary/ai_arithmetic.spec.js | 304 + .../binary/ai_arithmetic.spec.js.map | 1 + .../expression/binary/ai_comparison.spec.js | 125 + .../binary/ai_comparison.spec.js.map | 1 + .../execution/expression/binary/binary.js | 28 + .../execution/expression/binary/binary.js.map | 1 + .../expression/binary/bitwise.spec.js | 583 + .../expression/binary/bitwise.spec.js.map | 1 + .../expression/binary/bitwise_shift.spec.js | 615 + .../binary/bitwise_shift.spec.js.map | 1 + .../expression/binary/bool_logical.spec.js | 188 + .../binary/bool_logical.spec.js.map | 1 + .../expression/binary/f16_addition.cache.js | 61 + .../binary/f16_addition.cache.js.map | 1 + .../expression/binary/f16_addition.spec.js | 154 + .../binary/f16_addition.spec.js.map | 1 + .../expression/binary/f16_comparison.cache.js | 145 + .../binary/f16_comparison.cache.js.map | 1 + .../expression/binary/f16_comparison.spec.js | 140 + .../binary/f16_comparison.spec.js.map | 1 + .../expression/binary/f16_division.cache.js | 61 + .../binary/f16_division.cache.js.map | 1 + .../expression/binary/f16_division.spec.js | 154 + .../binary/f16_division.spec.js.map | 1 + .../binary/f16_matrix_addition.cache.js | 24 + .../binary/f16_matrix_addition.cache.js.map | 1 + .../binary/f16_matrix_addition.spec.js | 80 + .../binary/f16_matrix_addition.spec.js.map | 1 + .../f16_matrix_matrix_multiplication.cache.js | 26 + ..._matrix_matrix_multiplication.cache.js.map | 1 + .../f16_matrix_matrix_multiplication.spec.js | 91 + ...6_matrix_matrix_multiplication.spec.js.map | 1 + .../f16_matrix_scalar_multiplication.cache.js | 45 + ..._matrix_scalar_multiplication.cache.js.map | 1 + .../f16_matrix_scalar_multiplication.spec.js | 119 + ...6_matrix_scalar_multiplication.spec.js.map | 1 + .../binary/f16_matrix_subtraction.cache.js | 24 + .../f16_matrix_subtraction.cache.js.map | 1 + .../binary/f16_matrix_subtraction.spec.js | 80 + .../binary/f16_matrix_subtraction.spec.js.map | 1 + .../f16_matrix_vector_multiplication.cache.js | 45 + ..._matrix_vector_multiplication.cache.js.map | 1 + .../f16_matrix_vector_multiplication.spec.js | 114 + ...6_matrix_vector_multiplication.spec.js.map | 1 + .../binary/f16_multiplication.cache.js | 61 + .../binary/f16_multiplication.cache.js.map | 1 + .../binary/f16_multiplication.spec.js | 154 + .../binary/f16_multiplication.spec.js.map | 1 + .../expression/binary/f16_remainder.cache.js | 61 + .../binary/f16_remainder.cache.js.map | 1 + .../expression/binary/f16_remainder.spec.js | 154 + .../binary/f16_remainder.spec.js.map | 1 + .../binary/f16_subtraction.cache.js | 61 + .../binary/f16_subtraction.cache.js.map | 1 + .../expression/binary/f16_subtraction.spec.js | 154 + .../binary/f16_subtraction.spec.js.map | 1 + .../expression/binary/f32_addition.cache.js | 61 + .../binary/f32_addition.cache.js.map | 1 + .../expression/binary/f32_addition.spec.js | 136 + .../binary/f32_addition.spec.js.map | 1 + .../expression/binary/f32_comparison.cache.js | 145 + .../binary/f32_comparison.cache.js.map | 1 + .../expression/binary/f32_comparison.spec.js | 122 + .../binary/f32_comparison.spec.js.map | 1 + .../expression/binary/f32_division.cache.js | 61 + .../binary/f32_division.cache.js.map | 1 + .../expression/binary/f32_division.spec.js | 136 + .../binary/f32_division.spec.js.map | 1 + .../binary/f32_matrix_addition.cache.js | 24 + .../binary/f32_matrix_addition.cache.js.map | 1 + .../binary/f32_matrix_addition.spec.js | 74 + .../binary/f32_matrix_addition.spec.js.map | 1 + .../f32_matrix_matrix_multiplication.cache.js | 26 + ..._matrix_matrix_multiplication.cache.js.map | 1 + .../f32_matrix_matrix_multiplication.spec.js | 85 + ...2_matrix_matrix_multiplication.spec.js.map | 1 + .../f32_matrix_scalar_multiplication.cache.js | 45 + ..._matrix_scalar_multiplication.cache.js.map | 1 + .../f32_matrix_scalar_multiplication.spec.js | 110 + ...2_matrix_scalar_multiplication.spec.js.map | 1 + .../binary/f32_matrix_subtraction.cache.js | 24 + .../f32_matrix_subtraction.cache.js.map | 1 + .../binary/f32_matrix_subtraction.spec.js | 74 + .../binary/f32_matrix_subtraction.spec.js.map | 1 + .../f32_matrix_vector_multiplication.cache.js | 45 + ..._matrix_vector_multiplication.cache.js.map | 1 + .../f32_matrix_vector_multiplication.spec.js | 105 + ...2_matrix_vector_multiplication.spec.js.map | 1 + .../binary/f32_multiplication.cache.js | 61 + .../binary/f32_multiplication.cache.js.map | 1 + .../binary/f32_multiplication.spec.js | 136 + .../binary/f32_multiplication.spec.js.map | 1 + .../expression/binary/f32_remainder.cache.js | 65 + .../binary/f32_remainder.cache.js.map | 1 + .../expression/binary/f32_remainder.spec.js | 136 + .../binary/f32_remainder.spec.js.map | 1 + .../binary/f32_subtraction.cache.js | 61 + .../binary/f32_subtraction.cache.js.map | 1 + .../expression/binary/f32_subtraction.spec.js | 136 + .../binary/f32_subtraction.spec.js.map | 1 + .../expression/binary/i32_arithmetic.cache.js | 307 + .../binary/i32_arithmetic.cache.js.map | 1 + .../expression/binary/i32_arithmetic.spec.js | 433 + .../binary/i32_arithmetic.spec.js.map | 1 + .../expression/binary/i32_comparison.cache.js | 22 + .../binary/i32_comparison.cache.js.map | 1 + .../expression/binary/i32_comparison.spec.js | 104 + .../binary/i32_comparison.spec.js.map | 1 + .../expression/binary/u32_arithmetic.cache.js | 294 + .../binary/u32_arithmetic.cache.js.map | 1 + .../expression/binary/u32_arithmetic.spec.js | 433 + .../binary/u32_arithmetic.spec.js.map | 1 + .../expression/binary/u32_comparison.cache.js | 22 + .../binary/u32_comparison.cache.js.map | 1 + .../expression/binary/u32_comparison.spec.js | 104 + .../binary/u32_comparison.spec.js.map | 1 + .../expression/call/builtin/abs.cache.js | 27 + .../expression/call/builtin/abs.cache.js.map | 1 + .../expression/call/builtin/abs.spec.js | 183 + .../expression/call/builtin/abs.spec.js.map | 1 + .../expression/call/builtin/acos.cache.js | 25 + .../expression/call/builtin/acos.cache.js.map | 1 + .../expression/call/builtin/acos.spec.js | 64 + .../expression/call/builtin/acos.spec.js.map | 1 + .../expression/call/builtin/acosh.cache.js | 25 + .../call/builtin/acosh.cache.js.map | 1 + .../expression/call/builtin/acosh.spec.js | 68 + .../expression/call/builtin/acosh.spec.js.map | 1 + .../expression/call/builtin/all.spec.js | 85 + .../expression/call/builtin/all.spec.js.map | 1 + .../expression/call/builtin/any.spec.js | 85 + .../expression/call/builtin/any.spec.js.map | 1 + .../call/builtin/arrayLength.spec.js | 307 + .../call/builtin/arrayLength.spec.js.map | 1 + .../expression/call/builtin/asin.cache.js | 25 + .../expression/call/builtin/asin.cache.js.map | 1 + .../expression/call/builtin/asin.spec.js | 64 + .../expression/call/builtin/asin.spec.js.map | 1 + .../expression/call/builtin/asinh.cache.js | 19 + .../call/builtin/asinh.cache.js.map | 1 + .../expression/call/builtin/asinh.spec.js | 67 + .../expression/call/builtin/asinh.spec.js.map | 1 + .../expression/call/builtin/atan.cache.js | 26 + .../expression/call/builtin/atan.cache.js.map | 1 + .../expression/call/builtin/atan.spec.js | 71 + .../expression/call/builtin/atan.spec.js.map | 1 + .../expression/call/builtin/atan2.cache.js | 36 + .../call/builtin/atan2.cache.js.map | 1 + .../expression/call/builtin/atan2.spec.js | 70 + .../expression/call/builtin/atan2.spec.js.map | 1 + .../expression/call/builtin/atanh.cache.js | 33 + .../call/builtin/atanh.cache.js.map | 1 + .../expression/call/builtin/atanh.spec.js | 67 + .../expression/call/builtin/atanh.spec.js.map | 1 + .../call/builtin/atomics/atomicAdd.spec.js | 102 + .../builtin/atomics/atomicAdd.spec.js.map | 1 + .../call/builtin/atomics/atomicAnd.spec.js | 136 + .../builtin/atomics/atomicAnd.spec.js.map | 1 + .../atomics/atomicCompareExchangeWeak.spec.js | 742 + .../atomicCompareExchangeWeak.spec.js.map | 1 + .../builtin/atomics/atomicExchange.spec.js | 463 + .../atomics/atomicExchange.spec.js.map | 1 + .../call/builtin/atomics/atomicLoad.spec.js | 190 + .../builtin/atomics/atomicLoad.spec.js.map | 1 + .../call/builtin/atomics/atomicMax.spec.js | 102 + .../builtin/atomics/atomicMax.spec.js.map | 1 + .../call/builtin/atomics/atomicMin.spec.js | 101 + .../builtin/atomics/atomicMin.spec.js.map | 1 + .../call/builtin/atomics/atomicOr.spec.js | 132 + .../call/builtin/atomics/atomicOr.spec.js.map | 1 + .../call/builtin/atomics/atomicStore.spec.js | 300 + .../builtin/atomics/atomicStore.spec.js.map | 1 + .../call/builtin/atomics/atomicSub.spec.js | 125 + .../builtin/atomics/atomicSub.spec.js.map | 1 + .../call/builtin/atomics/atomicXor.spec.js | 136 + .../builtin/atomics/atomicXor.spec.js.map | 1 + .../call/builtin/atomics/harness.js | 207 + .../call/builtin/atomics/harness.js.map | 1 + .../expression/call/builtin/bitcast.cache.js | 838 + .../call/builtin/bitcast.cache.js.map | 1 + .../expression/call/builtin/bitcast.spec.js | 644 + .../call/builtin/bitcast.spec.js.map | 1 + .../expression/call/builtin/builtin.js | 31 + .../expression/call/builtin/builtin.js.map | 1 + .../expression/call/builtin/ceil.cache.js | 27 + .../expression/call/builtin/ceil.cache.js.map | 1 + .../expression/call/builtin/ceil.spec.js | 65 + .../expression/call/builtin/ceil.spec.js.map | 1 + .../expression/call/builtin/clamp.cache.js | 132 + .../call/builtin/clamp.cache.js.map | 1 + .../expression/call/builtin/clamp.spec.js | 112 + .../expression/call/builtin/clamp.spec.js.map | 1 + .../expression/call/builtin/cos.cache.js | 24 + .../expression/call/builtin/cos.cache.js.map | 1 + .../expression/call/builtin/cos.spec.js | 70 + .../expression/call/builtin/cos.spec.js.map | 1 + .../expression/call/builtin/cosh.cache.js | 24 + .../expression/call/builtin/cosh.cache.js.map | 1 + .../expression/call/builtin/cosh.spec.js | 64 + .../expression/call/builtin/cosh.spec.js.map | 1 + .../call/builtin/countLeadingZeros.spec.js | 251 + .../builtin/countLeadingZeros.spec.js.map | 1 + .../call/builtin/countOneBits.spec.js | 250 + .../call/builtin/countOneBits.spec.js.map | 1 + .../call/builtin/countTrailingZeros.spec.js | 251 + .../builtin/countTrailingZeros.spec.js.map | 1 + .../expression/call/builtin/cross.cache.js | 26 + .../call/builtin/cross.cache.js.map | 1 + .../expression/call/builtin/cross.spec.js | 55 + .../expression/call/builtin/cross.spec.js.map | 1 + .../expression/call/builtin/degrees.cache.js | 25 + .../call/builtin/degrees.cache.js.map | 1 + .../expression/call/builtin/degrees.spec.js | 64 + .../call/builtin/degrees.spec.js.map | 1 + .../call/builtin/derivatives.cache.js | 15 + .../call/builtin/derivatives.cache.js.map | 1 + .../expression/call/builtin/derivatives.js | 216 + .../call/builtin/derivatives.js.map | 1 + .../call/builtin/determinant.cache.js | 184 + .../call/builtin/determinant.cache.js.map | 1 + .../call/builtin/determinant.spec.js | 66 + .../call/builtin/determinant.spec.js.map | 1 + .../expression/call/builtin/distance.cache.js | 50 + .../call/builtin/distance.cache.js.map | 1 + .../expression/call/builtin/distance.spec.js | 180 + .../call/builtin/distance.spec.js.map | 1 + .../expression/call/builtin/dot.cache.js | 119 + .../expression/call/builtin/dot.cache.js.map | 1 + .../expression/call/builtin/dot.spec.js | 243 + .../expression/call/builtin/dot.spec.js.map | 1 + .../call/builtin/dot4I8Packed.spec.js | 75 + .../call/builtin/dot4I8Packed.spec.js.map | 1 + .../call/builtin/dot4U8Packed.spec.js | 60 + .../call/builtin/dot4U8Packed.spec.js.map | 1 + .../expression/call/builtin/dpdx.spec.js | 32 + .../expression/call/builtin/dpdx.spec.js.map | 1 + .../call/builtin/dpdxCoarse.spec.js | 31 + .../call/builtin/dpdxCoarse.spec.js.map | 1 + .../expression/call/builtin/dpdxFine.spec.js | 30 + .../call/builtin/dpdxFine.spec.js.map | 1 + .../expression/call/builtin/dpdy.spec.js | 31 + .../expression/call/builtin/dpdy.spec.js.map | 1 + .../call/builtin/dpdyCoarse.spec.js | 31 + .../call/builtin/dpdyCoarse.spec.js.map | 1 + .../expression/call/builtin/dpdyFine.spec.js | 30 + .../call/builtin/dpdyFine.spec.js.map | 1 + .../expression/call/builtin/exp.cache.js | 45 + .../expression/call/builtin/exp.cache.js.map | 1 + .../expression/call/builtin/exp.spec.js | 64 + .../expression/call/builtin/exp.spec.js.map | 1 + .../expression/call/builtin/exp2.cache.js | 45 + .../expression/call/builtin/exp2.cache.js.map | 1 + .../expression/call/builtin/exp2.spec.js | 64 + .../expression/call/builtin/exp2.spec.js.map | 1 + .../call/builtin/extractBits.spec.js | 328 + .../call/builtin/extractBits.spec.js.map | 1 + .../call/builtin/faceForward.cache.js | 126 + .../call/builtin/faceForward.cache.js.map | 1 + .../call/builtin/faceForward.spec.js | 183 + .../call/builtin/faceForward.spec.js.map | 1 + .../call/builtin/firstLeadingBit.spec.js | 351 + .../call/builtin/firstLeadingBit.spec.js.map | 1 + .../call/builtin/firstTrailingBit.spec.js | 251 + .../call/builtin/firstTrailingBit.spec.js.map | 1 + .../expression/call/builtin/floor.cache.js | 27 + .../call/builtin/floor.cache.js.map | 1 + .../expression/call/builtin/floor.spec.js | 64 + .../expression/call/builtin/floor.spec.js.map | 1 + .../expression/call/builtin/fma.cache.js | 27 + .../expression/call/builtin/fma.cache.js.map | 1 + .../expression/call/builtin/fma.spec.js | 64 + .../expression/call/builtin/fma.spec.js.map | 1 + .../expression/call/builtin/fract.cache.js | 63 + .../call/builtin/fract.cache.js.map | 1 + .../expression/call/builtin/fract.spec.js | 65 + .../expression/call/builtin/fract.spec.js.map | 1 + .../expression/call/builtin/frexp.cache.js | 104 + .../call/builtin/frexp.cache.js.map | 1 + .../expression/call/builtin/frexp.spec.js | 508 + .../expression/call/builtin/frexp.spec.js.map | 1 + .../expression/call/builtin/fwidth.cache.js | 55 + .../call/builtin/fwidth.cache.js.map | 1 + .../expression/call/builtin/fwidth.js | 210 + .../expression/call/builtin/fwidth.js.map | 1 + .../expression/call/builtin/fwidth.spec.js | 30 + .../call/builtin/fwidth.spec.js.map | 1 + .../call/builtin/fwidthCoarse.spec.js | 30 + .../call/builtin/fwidthCoarse.spec.js.map | 1 + .../call/builtin/fwidthFine.spec.js | 30 + .../call/builtin/fwidthFine.spec.js.map | 1 + .../call/builtin/insertBits.spec.js | 377 + .../call/builtin/insertBits.spec.js.map | 1 + .../call/builtin/inversesqrt.cache.js | 45 + .../call/builtin/inversesqrt.cache.js.map | 1 + .../call/builtin/inversesqrt.spec.js | 64 + .../call/builtin/inversesqrt.spec.js.map | 1 + .../expression/call/builtin/ldexp.cache.js | 62 + .../call/builtin/ldexp.cache.js.map | 1 + .../expression/call/builtin/ldexp.spec.js | 72 + .../expression/call/builtin/ldexp.spec.js.map | 1 + .../expression/call/builtin/length.cache.js | 43 + .../call/builtin/length.cache.js.map | 1 + .../expression/call/builtin/length.spec.js | 179 + .../call/builtin/length.spec.js.map | 1 + .../expression/call/builtin/log.cache.js | 31 + .../expression/call/builtin/log.cache.js.map | 1 + .../expression/call/builtin/log.spec.js | 70 + .../expression/call/builtin/log.spec.js.map | 1 + .../expression/call/builtin/log2.cache.js | 31 + .../expression/call/builtin/log2.cache.js.map | 1 + .../expression/call/builtin/log2.spec.js | 70 + .../expression/call/builtin/log2.spec.js.map | 1 + .../expression/call/builtin/max.cache.js | 19 + .../expression/call/builtin/max.cache.js.map | 1 + .../expression/call/builtin/max.spec.js | 144 + .../expression/call/builtin/max.spec.js.map | 1 + .../expression/call/builtin/min.cache.js | 19 + .../expression/call/builtin/min.cache.js.map | 1 + .../expression/call/builtin/min.spec.js | 143 + .../expression/call/builtin/min.spec.js.map | 1 + .../expression/call/builtin/mix.cache.js | 57 + .../expression/call/builtin/mix.cache.js.map | 1 + .../expression/call/builtin/mix.spec.js | 194 + .../expression/call/builtin/mix.spec.js.map | 1 + .../expression/call/builtin/modf.cache.js | 76 + .../expression/call/builtin/modf.cache.js.map | 1 + .../expression/call/builtin/modf.spec.js | 552 + .../expression/call/builtin/modf.spec.js.map | 1 + .../call/builtin/normalize.cache.js | 26 + .../call/builtin/normalize.cache.js.map | 1 + .../expression/call/builtin/normalize.spec.js | 120 + .../call/builtin/normalize.spec.js.map | 1 + .../call/builtin/pack2x16float.cache.js | 56 + .../call/builtin/pack2x16float.cache.js.map | 1 + .../call/builtin/pack2x16float.spec.js | 29 + .../call/builtin/pack2x16float.spec.js.map | 1 + .../call/builtin/pack2x16snorm.spec.js | 49 + .../call/builtin/pack2x16snorm.spec.js.map | 1 + .../call/builtin/pack2x16unorm.spec.js | 49 + .../call/builtin/pack2x16unorm.spec.js.map | 1 + .../call/builtin/pack4x8snorm.spec.js | 58 + .../call/builtin/pack4x8snorm.spec.js.map | 1 + .../call/builtin/pack4x8unorm.spec.js | 58 + .../call/builtin/pack4x8unorm.spec.js.map | 1 + .../expression/call/builtin/pack4xI8.spec.js | 70 + .../call/builtin/pack4xI8.spec.js.map | 1 + .../call/builtin/pack4xI8Clamp.spec.js | 74 + .../call/builtin/pack4xI8Clamp.spec.js.map | 1 + .../expression/call/builtin/pack4xU8.spec.js | 55 + .../call/builtin/pack4xU8.spec.js.map | 1 + .../call/builtin/pack4xU8Clamp.spec.js | 58 + .../call/builtin/pack4xU8Clamp.spec.js.map | 1 + .../expression/call/builtin/pow.cache.js | 25 + .../expression/call/builtin/pow.cache.js.map | 1 + .../expression/call/builtin/pow.spec.js | 64 + .../expression/call/builtin/pow.spec.js.map | 1 + .../call/builtin/quadBroadcast.spec.js | 657 + .../call/builtin/quadBroadcast.spec.js.map | 1 + .../expression/call/builtin/quadSwap.spec.js | 667 + .../call/builtin/quadSwap.spec.js.map | 1 + .../call/builtin/quantizeToF16.cache.js | 42 + .../call/builtin/quantizeToF16.cache.js.map | 1 + .../call/builtin/quantizeToF16.spec.js | 31 + .../call/builtin/quantizeToF16.spec.js.map | 1 + .../expression/call/builtin/radians.cache.js | 19 + .../call/builtin/radians.cache.js.map | 1 + .../expression/call/builtin/radians.spec.js | 65 + .../call/builtin/radians.spec.js.map | 1 + .../expression/call/builtin/reflect.cache.js | 27 + .../call/builtin/reflect.cache.js.map | 1 + .../expression/call/builtin/reflect.spec.js | 142 + .../call/builtin/reflect.spec.js.map | 1 + .../expression/call/builtin/refract.cache.js | 117 + .../call/builtin/refract.cache.js.map | 1 + .../expression/call/builtin/refract.spec.js | 187 + .../call/builtin/refract.spec.js.map | 1 + .../call/builtin/reverseBits.spec.js | 251 + .../call/builtin/reverseBits.spec.js.map | 1 + .../expression/call/builtin/round.cache.js | 25 + .../call/builtin/round.cache.js.map | 1 + .../expression/call/builtin/round.spec.js | 67 + .../expression/call/builtin/round.spec.js.map | 1 + .../expression/call/builtin/saturate.cache.js | 19 + .../call/builtin/saturate.cache.js.map | 1 + .../expression/call/builtin/saturate.spec.js | 63 + .../call/builtin/saturate.spec.js.map | 1 + .../expression/call/builtin/select.spec.js | 269 + .../call/builtin/select.spec.js.map | 1 + .../expression/call/builtin/sign.cache.js | 32 + .../expression/call/builtin/sign.cache.js.map | 1 + .../expression/call/builtin/sign.spec.js | 88 + .../expression/call/builtin/sign.spec.js.map | 1 + .../expression/call/builtin/sin.cache.js | 24 + .../expression/call/builtin/sin.cache.js.map | 1 + .../expression/call/builtin/sin.spec.js | 70 + .../expression/call/builtin/sin.spec.js.map | 1 + .../expression/call/builtin/sinh.cache.js | 24 + .../expression/call/builtin/sinh.cache.js.map | 1 + .../expression/call/builtin/sinh.spec.js | 64 + .../expression/call/builtin/sinh.spec.js.map | 1 + .../call/builtin/smoothstep.cache.js | 26 + .../call/builtin/smoothstep.cache.js.map | 1 + .../call/builtin/smoothstep.spec.js | 94 + .../call/builtin/smoothstep.spec.js.map | 1 + .../expression/call/builtin/sqrt.cache.js | 24 + .../expression/call/builtin/sqrt.cache.js.map | 1 + .../expression/call/builtin/sqrt.spec.js | 64 + .../expression/call/builtin/sqrt.spec.js.map | 1 + .../expression/call/builtin/step.cache.js | 42 + .../expression/call/builtin/step.cache.js.map | 1 + .../expression/call/builtin/step.spec.js | 64 + .../expression/call/builtin/step.spec.js.map | 1 + .../call/builtin/storageBarrier.spec.js | 39 + .../call/builtin/storageBarrier.spec.js.map | 1 + .../call/builtin/subgroupAdd.spec.js | 357 + .../call/builtin/subgroupAdd.spec.js.map | 1 + .../call/builtin/subgroupAll.spec.js | 391 + .../call/builtin/subgroupAll.spec.js.map | 1 + .../call/builtin/subgroupAny.spec.js | 391 + .../call/builtin/subgroupAny.spec.js.map | 1 + .../call/builtin/subgroupBallot.spec.js | 340 + .../call/builtin/subgroupBallot.spec.js.map | 1 + .../call/builtin/subgroupBitwise.spec.js | 563 + .../call/builtin/subgroupBitwise.spec.js.map | 1 + .../call/builtin/subgroupBroadcast.spec.js | 322 + .../builtin/subgroupBroadcast.spec.js.map | 1 + .../call/builtin/subgroupMul.spec.js | 376 + .../call/builtin/subgroupMul.spec.js.map | 1 + .../expression/call/builtin/subgroup_util.js | 555 + .../call/builtin/subgroup_util.js.map | 1 + .../expression/call/builtin/tan.cache.js | 24 + .../expression/call/builtin/tan.cache.js.map | 1 + .../expression/call/builtin/tan.spec.js | 64 + .../expression/call/builtin/tan.spec.js.map | 1 + .../expression/call/builtin/tanh.cache.js | 19 + .../expression/call/builtin/tanh.cache.js.map | 1 + .../expression/call/builtin/tanh.spec.js | 64 + .../expression/call/builtin/tanh.spec.js.map | 1 + .../call/builtin/textureDimensions.spec.js | 519 + .../builtin/textureDimensions.spec.js.map | 1 + .../call/builtin/textureGather.spec.js | 775 + .../call/builtin/textureGather.spec.js.map | 1 + .../call/builtin/textureGatherCompare.spec.js | 397 + .../builtin/textureGatherCompare.spec.js.map | 1 + .../call/builtin/textureLoad.spec.js | 884 + .../call/builtin/textureLoad.spec.js.map | 1 + .../call/builtin/textureNumLayers.spec.js | 223 + .../call/builtin/textureNumLayers.spec.js.map | 1 + .../call/builtin/textureNumLevels.spec.js | 189 + .../call/builtin/textureNumLevels.spec.js.map | 1 + .../call/builtin/textureNumSamples.spec.js | 84 + .../builtin/textureNumSamples.spec.js.map | 1 + .../call/builtin/textureSample.spec.js | 502 + .../call/builtin/textureSample.spec.js.map | 1 + .../textureSampleBaseClampToEdge.spec.js | 122 + .../textureSampleBaseClampToEdge.spec.js.map | 1 + .../call/builtin/textureSampleBias.spec.js | 142 + .../builtin/textureSampleBias.spec.js.map | 1 + .../call/builtin/textureSampleCompare.spec.js | 123 + .../builtin/textureSampleCompare.spec.js.map | 1 + .../builtin/textureSampleCompareLevel.spec.js | 150 + .../textureSampleCompareLevel.spec.js.map | 1 + .../call/builtin/textureSampleGrad.spec.js | 137 + .../builtin/textureSampleGrad.spec.js.map | 1 + .../call/builtin/textureSampleLevel.spec.js | 749 + .../builtin/textureSampleLevel.spec.js.map | 1 + .../call/builtin/textureStore.spec.js | 851 + .../call/builtin/textureStore.spec.js.map | 1 + .../expression/call/builtin/texture_utils.js | 3636 ++++ .../call/builtin/texture_utils.js.map | 1 + .../call/builtin/transpose.cache.js | 28 + .../call/builtin/transpose.cache.js.map | 1 + .../expression/call/builtin/transpose.spec.js | 98 + .../call/builtin/transpose.spec.js.map | 1 + .../expression/call/builtin/trunc.cache.js | 18 + .../call/builtin/trunc.cache.js.map | 1 + .../expression/call/builtin/trunc.spec.js | 65 + .../expression/call/builtin/trunc.spec.js.map | 1 + .../call/builtin/unpack2x16float.cache.js | 21 + .../call/builtin/unpack2x16float.cache.js.map | 1 + .../call/builtin/unpack2x16float.spec.js | 30 + .../call/builtin/unpack2x16float.spec.js.map | 1 + .../call/builtin/unpack2x16snorm.cache.js | 21 + .../call/builtin/unpack2x16snorm.cache.js.map | 1 + .../call/builtin/unpack2x16snorm.spec.js | 30 + .../call/builtin/unpack2x16snorm.spec.js.map | 1 + .../call/builtin/unpack2x16unorm.cache.js | 21 + .../call/builtin/unpack2x16unorm.cache.js.map | 1 + .../call/builtin/unpack2x16unorm.spec.js | 30 + .../call/builtin/unpack2x16unorm.spec.js.map | 1 + .../call/builtin/unpack4x8snorm.cache.js | 21 + .../call/builtin/unpack4x8snorm.cache.js.map | 1 + .../call/builtin/unpack4x8snorm.spec.js | 30 + .../call/builtin/unpack4x8snorm.spec.js.map | 1 + .../call/builtin/unpack4x8unorm.cache.js | 21 + .../call/builtin/unpack4x8unorm.cache.js.map | 1 + .../call/builtin/unpack4x8unorm.spec.js | 30 + .../call/builtin/unpack4x8unorm.spec.js.map | 1 + .../call/builtin/unpack4xI8.spec.js | 57 + .../call/builtin/unpack4xI8.spec.js.map | 1 + .../call/builtin/unpack4xU8.spec.js | 49 + .../call/builtin/unpack4xU8.spec.js.map | 1 + .../expression/call/builtin/utils.js | 66 + .../expression/call/builtin/utils.js.map | 1 + .../call/builtin/workgroupBarrier.spec.js | 39 + .../call/builtin/workgroupBarrier.spec.js.map | 1 + .../call/builtin/workgroupUniformLoad.spec.js | 183 + .../builtin/workgroupUniformLoad.spec.js.map | 1 + .../expression/call/user/ptr_params.spec.js | 850 + .../call/user/ptr_params.spec.js.map | 1 + webgpu/shader/execution/expression/case.js | 441 + .../shader/execution/expression/case.js.map | 1 + .../shader/execution/expression/case_cache.js | 202 + .../execution/expression/case_cache.js.map | 1 + .../expression/constructor/non_zero.spec.js | 803 + .../constructor/non_zero.spec.js.map | 1 + .../expression/constructor/zero_value.spec.js | 185 + .../constructor/zero_value.spec.js.map | 1 + .../execution/expression/expectation.js | 39 + .../execution/expression/expectation.js.map | 1 + .../shader/execution/expression/expression.js | 1353 ++ .../execution/expression/expression.js.map | 1 + .../execution/expression/interval_filter.js | 10 + .../expression/interval_filter.js.map | 1 + .../execution/expression/precedence.spec.js | 114 + .../expression/precedence.spec.js.map | 1 + .../unary/address_of_and_indirection.spec.js | 210 + .../address_of_and_indirection.spec.js.map | 1 + .../expression/unary/af_arithmetic.cache.js | 14 + .../unary/af_arithmetic.cache.js.map | 1 + .../expression/unary/af_arithmetic.spec.js | 40 + .../unary/af_arithmetic.spec.js.map | 1 + .../expression/unary/af_assignment.cache.js | 52 + .../unary/af_assignment.cache.js.map | 1 + .../expression/unary/af_assignment.spec.js | 77 + .../unary/af_assignment.spec.js.map | 1 + .../expression/unary/ai_arithmetic.cache.js | 12 + .../unary/ai_arithmetic.cache.js.map | 1 + .../expression/unary/ai_arithmetic.spec.js | 31 + .../unary/ai_arithmetic.spec.js.map | 1 + .../expression/unary/ai_assignment.cache.js | 22 + .../unary/ai_assignment.cache.js.map | 1 + .../expression/unary/ai_assignment.spec.js | 66 + .../unary/ai_assignment.spec.js.map | 1 + .../expression/unary/ai_complement.spec.js | 33 + .../unary/ai_complement.spec.js.map | 1 + .../expression/unary/bool_conversion.cache.js | 55 + .../unary/bool_conversion.cache.js.map | 1 + .../expression/unary/bool_conversion.spec.js | 118 + .../unary/bool_conversion.spec.js.map | 1 + .../expression/unary/bool_logical.spec.js | 34 + .../expression/unary/bool_logical.spec.js.map | 1 + .../expression/unary/f16_arithmetic.cache.js | 14 + .../unary/f16_arithmetic.cache.js.map | 1 + .../expression/unary/f16_arithmetic.spec.js | 33 + .../unary/f16_arithmetic.spec.js.map | 1 + .../expression/unary/f16_conversion.cache.js | 136 + .../unary/f16_conversion.cache.js.map | 1 + .../expression/unary/f16_conversion.spec.js | 268 + .../unary/f16_conversion.spec.js.map | 1 + .../expression/unary/f32_arithmetic.cache.js | 14 + .../unary/f32_arithmetic.cache.js.map | 1 + .../expression/unary/f32_arithmetic.spec.js | 30 + .../unary/f32_arithmetic.spec.js.map | 1 + .../expression/unary/f32_conversion.cache.js | 120 + .../unary/f32_conversion.cache.js.map | 1 + .../expression/unary/f32_conversion.spec.js | 244 + .../unary/f32_conversion.spec.js.map | 1 + .../expression/unary/i32_arithmetic.cache.js | 12 + .../unary/i32_arithmetic.cache.js.map | 1 + .../expression/unary/i32_arithmetic.spec.js | 29 + .../unary/i32_arithmetic.spec.js.map | 1 + .../expression/unary/i32_complement.spec.js | 31 + .../unary/i32_complement.spec.js.map | 1 + .../expression/unary/i32_conversion.cache.js | 117 + .../unary/i32_conversion.cache.js.map | 1 + .../expression/unary/i32_conversion.spec.js | 159 + .../unary/i32_conversion.spec.js.map | 1 + .../expression/unary/u32_complement.spec.js | 31 + .../unary/u32_complement.spec.js.map | 1 + .../expression/unary/u32_conversion.cache.js | 108 + .../unary/u32_conversion.cache.js.map | 1 + .../expression/unary/u32_conversion.spec.js | 159 + .../unary/u32_conversion.spec.js.map | 1 + .../execution/expression/unary/unary.js | 22 + .../execution/expression/unary/unary.js.map | 1 + webgpu/shader/execution/float_parse.spec.js | 132 + .../shader/execution/float_parse.spec.js.map | 1 + .../execution/flow_control/call.spec.js | 197 + .../execution/flow_control/call.spec.js.map | 1 + .../execution/flow_control/complex.spec.js | 43 + .../flow_control/complex.spec.js.map | 1 + .../execution/flow_control/eval_order.spec.js | 1008 + .../flow_control/eval_order.spec.js.map | 1 + .../shader/execution/flow_control/for.spec.js | 322 + .../execution/flow_control/for.spec.js.map | 1 + .../shader/execution/flow_control/harness.js | 313 + .../execution/flow_control/harness.js.map | 1 + .../shader/execution/flow_control/if.spec.js | 103 + .../execution/flow_control/if.spec.js.map | 1 + .../execution/flow_control/loop.spec.js | 186 + .../execution/flow_control/loop.spec.js.map | 1 + .../execution/flow_control/phony.spec.js | 136 + .../execution/flow_control/phony.spec.js.map | 1 + .../execution/flow_control/return.spec.js | 57 + .../execution/flow_control/return.spec.js.map | 1 + .../execution/flow_control/switch.spec.js | 190 + .../execution/flow_control/switch.spec.js.map | 1 + .../execution/flow_control/while.spec.js | 195 + .../execution/flow_control/while.spec.js.map | 1 + webgpu/shader/execution/limits.spec.js | 440 + webgpu/shader/execution/limits.spec.js.map | 1 + webgpu/shader/execution/memory_layout.spec.js | 1187 ++ .../execution/memory_layout.spec.js.map | 1 + .../execution/memory_model/adjacent.spec.js | 273 + .../memory_model/adjacent.spec.js.map | 1 + .../execution/memory_model/atomicity.spec.js | 103 + .../memory_model/atomicity.spec.js.map | 1 + .../execution/memory_model/barrier.spec.js | 384 + .../memory_model/barrier.spec.js.map | 1 + .../execution/memory_model/coherence.spec.js | 526 + .../memory_model/coherence.spec.js.map | 1 + .../memory_model/memory_model_setup.js | 1320 ++ .../memory_model/memory_model_setup.js.map | 1 + ...texture_intra_invocation_coherence.spec.js | 329 + ...ure_intra_invocation_coherence.spec.js.map | 1 + .../execution/memory_model/weak.spec.js | 430 + .../execution/memory_model/weak.spec.js.map | 1 + webgpu/shader/execution/padding.spec.js | 407 + webgpu/shader/execution/padding.spec.js.map | 1 + webgpu/shader/execution/robust_access.spec.js | 496 + .../execution/robust_access.spec.js.map | 1 + .../execution/robust_access_vertex.spec.js | 609 + .../robust_access_vertex.spec.js.map | 1 + .../shader_io/compute_builtins.spec.js | 760 + .../shader_io/compute_builtins.spec.js.map | 1 + .../shader_io/fragment_builtins.spec.js | 1812 ++ .../shader_io/fragment_builtins.spec.js.map | 1 + .../shader_io/shared_structs.spec.js | 333 + .../shader_io/shared_structs.spec.js.map | 1 + .../execution/shader_io/user_io.spec.js | 211 + .../execution/shader_io/user_io.spec.js.map | 1 + .../shader_io/vertex_builtins.spec.js | 151 + .../shader_io/vertex_builtins.spec.js.map | 1 + .../shader_io/workgroup_size.spec.js | 150 + .../shader_io/workgroup_size.spec.js.map | 1 + webgpu/shader/execution/shadow.spec.js | 407 + webgpu/shader/execution/shadow.spec.js.map | 1 + webgpu/shader/execution/stage.spec.js | 133 + webgpu/shader/execution/stage.spec.js.map | 1 + .../execution/statement/compound.spec.js | 138 + .../execution/statement/compound.spec.js.map | 1 + .../execution/statement/discard.spec.js | 713 + .../execution/statement/discard.spec.js.map | 1 + .../statement/increment_decrement.spec.js | 449 + .../statement/increment_decrement.spec.js.map | 1 + .../shader/execution/statement/phony.spec.js | 120 + .../execution/statement/phony.spec.js.map | 1 + webgpu/shader/execution/value_init.spec.js | 330 + .../shader/execution/value_init.spec.js.map | 1 + webgpu/shader/execution/zero_init.spec.js | 547 + webgpu/shader/execution/zero_init.spec.js.map | 1 + webgpu/shader/types.js | 411 + webgpu/shader/types.js.map | 1 + .../const_assert/const_assert.spec.js | 202 + .../const_assert/const_assert.spec.js.map | 1 + .../decl/compound_statement.spec.js | 99 + .../decl/compound_statement.spec.js.map | 1 + webgpu/shader/validation/decl/const.spec.js | 304 + .../shader/validation/decl/const.spec.js.map | 1 + .../decl/context_dependent_resolution.spec.js | 394 + .../context_dependent_resolution.spec.js.map | 1 + webgpu/shader/validation/decl/let.spec.js | 237 + webgpu/shader/validation/decl/let.spec.js.map | 1 + .../shader/validation/decl/override.spec.js | 228 + .../validation/decl/override.spec.js.map | 1 + webgpu/shader/validation/decl/util.js | 164 + webgpu/shader/validation/decl/util.js.map | 1 + webgpu/shader/validation/decl/var.spec.js | 862 + webgpu/shader/validation/decl/var.spec.js.map | 1 + .../expression/access/array.spec.js | 237 + .../expression/access/array.spec.js.map | 1 + .../expression/access/matrix.spec.js | 219 + .../expression/access/matrix.spec.js.map | 1 + .../expression/access/structure.spec.js | 117 + .../expression/access/structure.spec.js.map | 1 + .../expression/access/vector.spec.js | 484 + .../expression/access/vector.spec.js.map | 1 + .../expression/binary/add_sub_mul.spec.js | 318 + .../expression/binary/add_sub_mul.spec.js.map | 1 + .../expression/binary/and_or_xor.spec.js | 177 + .../expression/binary/and_or_xor.spec.js.map | 1 + .../expression/binary/bitwise_shift.spec.js | 337 + .../binary/bitwise_shift.spec.js.map | 1 + .../expression/binary/comparison.spec.js | 187 + .../expression/binary/comparison.spec.js.map | 1 + .../expression/binary/div_rem.spec.js | 290 + .../expression/binary/div_rem.spec.js.map | 1 + .../expression/binary/parse.spec.js | 90 + .../expression/binary/parse.spec.js.map | 1 + .../expression/binary/result_type.js | 68 + .../expression/binary/result_type.js.map | 1 + .../binary/short_circuiting_and_or.spec.js | 265 + .../short_circuiting_and_or.spec.js.map | 1 + .../expression/call/builtin/abs.spec.js | 163 + .../expression/call/builtin/abs.spec.js.map | 1 + .../expression/call/builtin/acos.spec.js | 222 + .../expression/call/builtin/acos.spec.js.map | 1 + .../expression/call/builtin/acosh.spec.js | 218 + .../expression/call/builtin/acosh.spec.js.map | 1 + .../expression/call/builtin/all.spec.js | 192 + .../expression/call/builtin/all.spec.js.map | 1 + .../expression/call/builtin/any.spec.js | 192 + .../expression/call/builtin/any.spec.js.map | 1 + .../call/builtin/arrayLength.spec.js | 122 + .../call/builtin/arrayLength.spec.js.map | 1 + .../expression/call/builtin/asin.spec.js | 221 + .../expression/call/builtin/asin.spec.js.map | 1 + .../expression/call/builtin/asinh.spec.js | 217 + .../expression/call/builtin/asinh.spec.js.map | 1 + .../expression/call/builtin/atan.spec.js | 209 + .../expression/call/builtin/atan.spec.js.map | 1 + .../expression/call/builtin/atan2.spec.js | 357 + .../expression/call/builtin/atan2.spec.js.map | 1 + .../expression/call/builtin/atanh.spec.js | 229 + .../expression/call/builtin/atanh.spec.js.map | 1 + .../expression/call/builtin/atomics.spec.js | 313 + .../call/builtin/atomics.spec.js.map | 1 + .../expression/call/builtin/barriers.spec.js | 110 + .../call/builtin/barriers.spec.js.map | 1 + .../expression/call/builtin/bitcast.spec.js | 415 + .../call/builtin/bitcast.spec.js.map | 1 + .../expression/call/builtin/ceil.spec.js | 205 + .../expression/call/builtin/ceil.spec.js.map | 1 + .../expression/call/builtin/clamp.spec.js | 321 + .../expression/call/builtin/clamp.spec.js.map | 1 + .../call/builtin/const_override_validation.js | 440 + .../builtin/const_override_validation.js.map | 1 + .../expression/call/builtin/cos.spec.js | 115 + .../expression/call/builtin/cos.spec.js.map | 1 + .../expression/call/builtin/cosh.spec.js | 99 + .../expression/call/builtin/cosh.spec.js.map | 1 + .../call/builtin/countLeadingZeros.spec.js | 199 + .../builtin/countLeadingZeros.spec.js.map | 1 + .../call/builtin/countOneBits.spec.js | 199 + .../call/builtin/countOneBits.spec.js.map | 1 + .../call/builtin/countTrailingZeros.spec.js | 199 + .../builtin/countTrailingZeros.spec.js.map | 1 + .../expression/call/builtin/cross.spec.js | 123 + .../expression/call/builtin/cross.spec.js.map | 1 + .../expression/call/builtin/degrees.spec.js | 115 + .../call/builtin/degrees.spec.js.map | 1 + .../call/builtin/derivatives.spec.js | 141 + .../call/builtin/derivatives.spec.js.map | 1 + .../call/builtin/determinant.spec.js | 96 + .../call/builtin/determinant.spec.js.map | 1 + .../expression/call/builtin/distance.spec.js | 130 + .../call/builtin/distance.spec.js.map | 1 + .../expression/call/builtin/dot.spec.js | 124 + .../expression/call/builtin/dot.spec.js.map | 1 + .../call/builtin/dot4I8Packed.spec.js | 67 + .../call/builtin/dot4I8Packed.spec.js.map | 1 + .../call/builtin/dot4U8Packed.spec.js | 67 + .../call/builtin/dot4U8Packed.spec.js.map | 1 + .../expression/call/builtin/exp.spec.js | 129 + .../expression/call/builtin/exp.spec.js.map | 1 + .../expression/call/builtin/exp2.spec.js | 129 + .../expression/call/builtin/exp2.spec.js.map | 1 + .../call/builtin/extractBits.spec.js | 270 + .../call/builtin/extractBits.spec.js.map | 1 + .../call/builtin/faceForward.spec.js | 153 + .../call/builtin/faceForward.spec.js.map | 1 + .../call/builtin/firstLeadingBit.spec.js | 199 + .../call/builtin/firstLeadingBit.spec.js.map | 1 + .../call/builtin/firstTrailingBit.spec.js | 199 + .../call/builtin/firstTrailingBit.spec.js.map | 1 + .../expression/call/builtin/floor.spec.js | 109 + .../expression/call/builtin/floor.spec.js.map | 1 + .../expression/call/builtin/fma.spec.js | 142 + .../expression/call/builtin/fma.spec.js.map | 1 + .../expression/call/builtin/fract.spec.js | 95 + .../expression/call/builtin/fract.spec.js.map | 1 + .../expression/call/builtin/frexp.spec.js | 95 + .../expression/call/builtin/frexp.spec.js.map | 1 + .../call/builtin/insertBits.spec.js | 294 + .../call/builtin/insertBits.spec.js.map | 1 + .../call/builtin/inverseSqrt.spec.js | 108 + .../call/builtin/inverseSqrt.spec.js.map | 1 + .../expression/call/builtin/ldexp.spec.js | 257 + .../expression/call/builtin/ldexp.spec.js.map | 1 + .../expression/call/builtin/length.spec.js | 264 + .../call/builtin/length.spec.js.map | 1 + .../expression/call/builtin/log.spec.js | 109 + .../expression/call/builtin/log.spec.js.map | 1 + .../expression/call/builtin/log2.spec.js | 109 + .../expression/call/builtin/log2.spec.js.map | 1 + .../expression/call/builtin/max.spec.js | 92 + .../expression/call/builtin/max.spec.js.map | 1 + .../expression/call/builtin/min.spec.js | 92 + .../expression/call/builtin/min.spec.js.map | 1 + .../expression/call/builtin/mix.spec.js | 143 + .../expression/call/builtin/mix.spec.js.map | 1 + .../expression/call/builtin/modf.spec.js | 205 + .../expression/call/builtin/modf.spec.js.map | 1 + .../expression/call/builtin/normalize.spec.js | 147 + .../call/builtin/normalize.spec.js.map | 1 + .../call/builtin/pack2x16float.spec.js | 101 + .../call/builtin/pack2x16float.spec.js.map | 1 + .../call/builtin/pack2x16snorm.spec.js | 59 + .../call/builtin/pack2x16snorm.spec.js.map | 1 + .../call/builtin/pack2x16unorm.spec.js | 59 + .../call/builtin/pack2x16unorm.spec.js.map | 1 + .../call/builtin/pack4x8snorm.spec.js | 59 + .../call/builtin/pack4x8snorm.spec.js.map | 1 + .../call/builtin/pack4x8unorm.spec.js | 59 + .../call/builtin/pack4x8unorm.spec.js.map | 1 + .../expression/call/builtin/pack4xI8.spec.js | 63 + .../call/builtin/pack4xI8.spec.js.map | 1 + .../call/builtin/pack4xI8Clamp.spec.js | 63 + .../call/builtin/pack4xI8Clamp.spec.js.map | 1 + .../expression/call/builtin/pack4xU8.spec.js | 63 + .../call/builtin/pack4xU8.spec.js.map | 1 + .../call/builtin/pack4xU8Clamp.spec.js | 63 + .../call/builtin/pack4xU8Clamp.spec.js.map | 1 + .../expression/call/builtin/pow.spec.js | 176 + .../expression/call/builtin/pow.spec.js.map | 1 + .../call/builtin/quadBroadcast.spec.js | 287 + .../call/builtin/quadBroadcast.spec.js.map | 1 + .../expression/call/builtin/quadSwap.spec.js | 228 + .../call/builtin/quadSwap.spec.js.map | 1 + .../call/builtin/quantizeToF16.spec.js | 114 + .../call/builtin/quantizeToF16.spec.js.map | 1 + .../expression/call/builtin/radians.spec.js | 109 + .../call/builtin/radians.spec.js.map | 1 + .../expression/call/builtin/reflect.spec.js | 132 + .../call/builtin/reflect.spec.js.map | 1 + .../expression/call/builtin/refract.spec.js | 176 + .../call/builtin/refract.spec.js.map | 1 + .../call/builtin/reverseBits.spec.js | 199 + .../call/builtin/reverseBits.spec.js.map | 1 + .../expression/call/builtin/round.spec.js | 217 + .../expression/call/builtin/round.spec.js.map | 1 + .../expression/call/builtin/saturate.spec.js | 205 + .../call/builtin/saturate.spec.js.map | 1 + .../expression/call/builtin/select.spec.js | 251 + .../call/builtin/select.spec.js.map | 1 + .../call/builtin/shader_builtin_utils.js | 164 + .../call/builtin/shader_builtin_utils.js.map | 1 + .../expression/call/builtin/sign.spec.js | 93 + .../expression/call/builtin/sign.spec.js.map | 1 + .../expression/call/builtin/sin.spec.js | 116 + .../expression/call/builtin/sin.spec.js.map | 1 + .../expression/call/builtin/sinh.spec.js | 99 + .../expression/call/builtin/sinh.spec.js.map | 1 + .../call/builtin/smoothstep.spec.js | 357 + .../call/builtin/smoothstep.spec.js.map | 1 + .../expression/call/builtin/sqrt.spec.js | 124 + .../expression/call/builtin/sqrt.spec.js.map | 1 + .../expression/call/builtin/step.spec.js | 109 + .../expression/call/builtin/step.spec.js.map | 1 + .../call/builtin/subgroupAdd.spec.js | 236 + .../call/builtin/subgroupAdd.spec.js.map | 1 + .../call/builtin/subgroupAnyAll.spec.js | 187 + .../call/builtin/subgroupAnyAll.spec.js.map | 1 + .../call/builtin/subgroupBallot.spec.js | 176 + .../call/builtin/subgroupBallot.spec.js.map | 1 + .../call/builtin/subgroupBitwise.spec.js | 205 + .../call/builtin/subgroupBitwise.spec.js.map | 1 + .../call/builtin/subgroupBroadcast.spec.js | 287 + .../builtin/subgroupBroadcast.spec.js.map | 1 + .../builtin/subgroupBroadcastFirst.spec.js | 211 + .../subgroupBroadcastFirst.spec.js.map | 1 + .../call/builtin/subgroupElect.spec.js | 176 + .../call/builtin/subgroupElect.spec.js.map | 1 + .../call/builtin/subgroupMinMax.spec.js | 228 + .../call/builtin/subgroupMinMax.spec.js.map | 1 + .../call/builtin/subgroupMul.spec.js | 236 + .../call/builtin/subgroupMul.spec.js.map | 1 + .../call/builtin/subgroupShuffle.spec.js | 263 + .../call/builtin/subgroupShuffle.spec.js.map | 1 + .../expression/call/builtin/tan.spec.js | 108 + .../expression/call/builtin/tan.spec.js.map | 1 + .../expression/call/builtin/tanh.spec.js | 99 + .../expression/call/builtin/tanh.spec.js.map | 1 + .../call/builtin/textureDimensions.spec.js | 284 + .../builtin/textureDimensions.spec.js.map | 1 + .../call/builtin/textureGather.spec.js | 504 + .../call/builtin/textureGather.spec.js.map | 1 + .../call/builtin/textureGatherCompare.spec.js | 374 + .../builtin/textureGatherCompare.spec.js.map | 1 + .../call/builtin/textureLoad.spec.js | 552 + .../call/builtin/textureLoad.spec.js.map | 1 + .../call/builtin/textureNumLayers.spec.js | 143 + .../call/builtin/textureNumLayers.spec.js.map | 1 + .../call/builtin/textureNumLevels.spec.js | 110 + .../call/builtin/textureNumLevels.spec.js.map | 1 + .../call/builtin/textureNumSamples.spec.js | 102 + .../builtin/textureNumSamples.spec.js.map | 1 + .../call/builtin/textureSample.spec.js | 392 + .../call/builtin/textureSample.spec.js.map | 1 + .../textureSampleBaseClampToEdge.spec.js | 125 + .../textureSampleBaseClampToEdge.spec.js.map | 1 + .../call/builtin/textureSampleBias.spec.js | 412 + .../builtin/textureSampleBias.spec.js.map | 1 + .../call/builtin/textureSampleCompare.spec.js | 415 + .../builtin/textureSampleCompare.spec.js.map | 1 + .../builtin/textureSampleCompareLevel.spec.js | 374 + .../textureSampleCompareLevel.spec.js.map | 1 + .../call/builtin/textureSampleGrad.spec.js | 421 + .../builtin/textureSampleGrad.spec.js.map | 1 + .../call/builtin/textureSampleLevel.spec.js | 389 + .../builtin/textureSampleLevel.spec.js.map | 1 + .../call/builtin/textureStore.spec.js | 228 + .../call/builtin/textureStore.spec.js.map | 1 + .../expression/call/builtin/transpose.spec.js | 140 + .../call/builtin/transpose.spec.js.map | 1 + .../expression/call/builtin/trunc.spec.js | 95 + .../expression/call/builtin/trunc.spec.js.map | 1 + .../call/builtin/unpack2x16float.spec.js | 127 + .../call/builtin/unpack2x16float.spec.js.map | 1 + .../call/builtin/unpack2x16snorm.spec.js | 108 + .../call/builtin/unpack2x16snorm.spec.js.map | 1 + .../call/builtin/unpack2x16unorm.spec.js | 108 + .../call/builtin/unpack2x16unorm.spec.js.map | 1 + .../call/builtin/unpack4x8snorm.spec.js | 108 + .../call/builtin/unpack4x8snorm.spec.js.map | 1 + .../call/builtin/unpack4x8unorm.spec.js | 108 + .../call/builtin/unpack4x8unorm.spec.js.map | 1 + .../call/builtin/unpack4xI8.spec.js | 129 + .../call/builtin/unpack4xI8.spec.js.map | 1 + .../call/builtin/unpack4xU8.spec.js | 129 + .../call/builtin/unpack4xU8.spec.js.map | 1 + .../call/builtin/value_constructor.spec.js | 802 + .../builtin/value_constructor.spec.js.map | 1 + .../call/builtin/workgroupUniformLoad.spec.js | 135 + .../builtin/workgroupUniformLoad.spec.js.map | 1 + .../expression/early_evaluation.spec.js | 141 + .../expression/early_evaluation.spec.js.map | 1 + .../expression/matrix/add_sub.spec.js | 355 + .../expression/matrix/add_sub.spec.js.map | 1 + .../expression/matrix/and_or_xor.spec.js | 123 + .../expression/matrix/and_or_xor.spec.js.map | 1 + .../expression/matrix/bitwise_shift.spec.js | 122 + .../matrix/bitwise_shift.spec.js.map | 1 + .../expression/matrix/comparison.spec.js | 119 + .../expression/matrix/comparison.spec.js.map | 1 + .../expression/matrix/div_rem.spec.js | 122 + .../expression/matrix/div_rem.spec.js.map | 1 + .../validation/expression/matrix/mul.spec.js | 811 + .../expression/matrix/mul.spec.js.map | 1 + .../expression/overload_resolution.spec.js | 269 + .../overload_resolution.spec.js.map | 1 + .../validation/expression/precedence.spec.js | 220 + .../expression/precedence.spec.js.map | 1 + .../unary/address_of_and_indirection.spec.js | 244 + .../address_of_and_indirection.spec.js.map | 1 + .../unary/arithmetic_negation.spec.js | 115 + .../unary/arithmetic_negation.spec.js.map | 1 + .../unary/bitwise_complement.spec.js | 115 + .../unary/bitwise_complement.spec.js.map | 1 + .../expression/unary/logical_negation.spec.js | 156 + .../unary/logical_negation.spec.js.map | 1 + .../extension/clip_distances.spec.js | 44 + .../extension/clip_distances.spec.js.map | 1 + .../extension/dual_source_blending.spec.js | 624 + .../dual_source_blending.spec.js.map | 1 + .../pointer_composite_access.spec.js | 131 + .../pointer_composite_access.spec.js.map | 1 + ...nly_and_readwrite_storage_textures.spec.js | 51 + ...and_readwrite_storage_textures.spec.js.map | 1 + .../functions/alias_analysis.spec.js | 724 + .../functions/alias_analysis.spec.js.map | 1 + .../validation/functions/restrictions.spec.js | 1200 ++ .../functions/restrictions.spec.js.map | 1 + .../shader/validation/parse/attribute.spec.js | 88 + .../validation/parse/attribute.spec.js.map | 1 + .../validation/parse/blankspace.spec.js | 66 + .../validation/parse/blankspace.spec.js.map | 1 + .../shader/validation/parse/comments.spec.js | 76 + .../validation/parse/comments.spec.js.map | 1 + .../validation/parse/diagnostic.spec.js | 465 + .../validation/parse/diagnostic.spec.js.map | 1 + webgpu/shader/validation/parse/enable.spec.js | 118 + .../validation/parse/enable.spec.js.map | 1 + .../validation/parse/identifiers.spec.js | 408 + .../validation/parse/identifiers.spec.js.map | 1 + .../shader/validation/parse/literal.spec.js | 303 + .../validation/parse/literal.spec.js.map | 1 + .../shader/validation/parse/must_use.spec.js | 133 + .../validation/parse/must_use.spec.js.map | 1 + .../shader/validation/parse/requires.spec.js | 104 + .../validation/parse/requires.spec.js.map | 1 + .../shader/validation/parse/semicolon.spec.js | 285 + .../validation/parse/semicolon.spec.js.map | 1 + .../validation/parse/shadow_builtins.spec.js | 996 + .../parse/shadow_builtins.spec.js.map | 1 + webgpu/shader/validation/parse/source.spec.js | 30 + .../validation/parse/source.spec.js.map | 1 + .../shader/validation/shader_io/align.spec.js | 346 + .../validation/shader_io/align.spec.js.map | 1 + .../validation/shader_io/binding.spec.js | 127 + .../validation/shader_io/binding.spec.js.map | 1 + .../validation/shader_io/builtins.spec.js | 462 + .../validation/shader_io/builtins.spec.js.map | 1 + .../validation/shader_io/entry_point.spec.js | 142 + .../shader_io/entry_point.spec.js.map | 1 + .../shader/validation/shader_io/group.spec.js | 127 + .../validation/shader_io/group.spec.js.map | 1 + .../shader_io/group_and_binding.spec.js | 178 + .../shader_io/group_and_binding.spec.js.map | 1 + webgpu/shader/validation/shader_io/id.spec.js | 171 + .../validation/shader_io/id.spec.js.map | 1 + .../validation/shader_io/interpolate.spec.js | 226 + .../shader_io/interpolate.spec.js.map | 1 + .../validation/shader_io/invariant.spec.js | 100 + .../shader_io/invariant.spec.js.map | 1 + .../shader_io/layout_constraints.spec.js | 544 + .../shader_io/layout_constraints.spec.js.map | 1 + .../validation/shader_io/locations.spec.js | 536 + .../shader_io/locations.spec.js.map | 1 + .../shader_io/pipeline_stage.spec.js | 168 + .../shader_io/pipeline_stage.spec.js.map | 1 + .../shader/validation/shader_io/size.spec.js | 239 + .../validation/shader_io/size.spec.js.map | 1 + webgpu/shader/validation/shader_io/util.js | 201 + .../shader/validation/shader_io/util.js.map | 1 + .../shader_io/workgroup_size.spec.js | 305 + .../shader_io/workgroup_size.spec.js.map | 1 + .../validation/shader_validation_test.js | 186 + .../validation/shader_validation_test.js.map | 1 + .../shader/validation/statement/break.spec.js | 81 + .../validation/statement/break.spec.js.map | 1 + .../validation/statement/break_if.spec.js | 123 + .../validation/statement/break_if.spec.js.map | 1 + .../validation/statement/compound.spec.js | 53 + .../validation/statement/compound.spec.js.map | 1 + .../validation/statement/const_assert.spec.js | 39 + .../statement/const_assert.spec.js.map | 1 + .../validation/statement/continue.spec.js | 114 + .../validation/statement/continue.spec.js.map | 1 + .../validation/statement/continuing.spec.js | 186 + .../statement/continuing.spec.js.map | 1 + .../validation/statement/discard.spec.js | 66 + .../validation/statement/discard.spec.js.map | 1 + .../shader/validation/statement/for.spec.js | 95 + .../validation/statement/for.spec.js.map | 1 + webgpu/shader/validation/statement/if.spec.js | 129 + .../validation/statement/if.spec.js.map | 1 + .../statement/increment_decrement.spec.js | 271 + .../statement/increment_decrement.spec.js.map | 1 + .../shader/validation/statement/loop.spec.js | 96 + .../validation/statement/loop.spec.js.map | 1 + .../shader/validation/statement/phony.spec.js | 180 + .../validation/statement/phony.spec.js.map | 1 + .../validation/statement/return.spec.js | 157 + .../validation/statement/return.spec.js.map | 1 + .../statement/statement_behavior.spec.js | 144 + .../statement/statement_behavior.spec.js.map | 1 + .../validation/statement/switch.spec.js | 173 + .../validation/statement/switch.spec.js.map | 1 + .../shader/validation/statement/test_types.js | 37 + .../validation/statement/test_types.js.map | 1 + .../shader/validation/statement/while.spec.js | 72 + .../validation/statement/while.spec.js.map | 1 + webgpu/shader/validation/types/alias.spec.js | 246 + .../shader/validation/types/alias.spec.js.map | 1 + webgpu/shader/validation/types/array.spec.js | 177 + .../shader/validation/types/array.spec.js.map | 1 + .../shader/validation/types/atomics.spec.js | 200 + .../validation/types/atomics.spec.js.map | 1 + .../shader/validation/types/enumerant.spec.js | 90 + .../validation/types/enumerant.spec.js.map | 1 + webgpu/shader/validation/types/matrix.spec.js | 161 + .../validation/types/matrix.spec.js.map | 1 + .../shader/validation/types/pointer.spec.js | 263 + .../validation/types/pointer.spec.js.map | 1 + webgpu/shader/validation/types/ref.spec.js | 58 + .../shader/validation/types/ref.spec.js.map | 1 + webgpu/shader/validation/types/struct.spec.js | 300 + .../validation/types/struct.spec.js.map | 1 + .../shader/validation/types/textures.spec.js | 171 + .../validation/types/textures.spec.js.map | 1 + webgpu/shader/validation/types/vector.spec.js | 79 + .../validation/types/vector.spec.js.map | 1 + .../validation/uniformity/uniformity.spec.js | 2696 +++ .../uniformity/uniformity.spec.js.map | 1 + webgpu/shader/values.js | 92 + webgpu/shader/values.js.map | 1 + webgpu/util/binary_stream.js | 224 + webgpu/util/binary_stream.js.map | 1 + webgpu/util/check_contents.js | 281 + webgpu/util/check_contents.js.map | 1 + webgpu/util/color_space_conversion.js | 250 + webgpu/util/color_space_conversion.js.map | 1 + webgpu/util/command_buffer_maker.js | 86 + webgpu/util/command_buffer_maker.js.map | 1 + webgpu/util/compare.js | 481 + webgpu/util/compare.js.map | 1 + webgpu/util/constants.js | 503 + webgpu/util/constants.js.map | 1 + webgpu/util/conversion.js | 2629 +++ webgpu/util/conversion.js.map | 1 + webgpu/util/copy_to_texture.js | 192 + webgpu/util/copy_to_texture.js.map | 1 + webgpu/util/create_elements.js | 83 + webgpu/util/create_elements.js.map | 1 + webgpu/util/device_pool.js | 427 + webgpu/util/device_pool.js.map | 1 + webgpu/util/floating_point.js | 5563 ++++++ webgpu/util/floating_point.js.map | 1 + webgpu/util/math.js | 2491 +++ webgpu/util/math.js.map | 1 + webgpu/util/memory.js | 28 + webgpu/util/memory.js.map | 1 + webgpu/util/pretty_diff_tables.js | 83 + webgpu/util/pretty_diff_tables.js.map | 1 + webgpu/util/prng.js | 165 + webgpu/util/prng.js.map | 1 + webgpu/util/reinterpret.js | 119 + webgpu/util/reinterpret.js.map | 1 + webgpu/util/shader.js | 233 + webgpu/util/shader.js.map | 1 + webgpu/util/texture.js | 562 + webgpu/util/texture.js.map | 1 + webgpu/util/texture/base.js | 285 + webgpu/util/texture/base.js.map | 1 + .../texture/color_space_conversions.spec.js | 109 + .../color_space_conversions.spec.js.map | 1 + webgpu/util/texture/data_generation.js | 84 + webgpu/util/texture/data_generation.js.map | 1 + webgpu/util/texture/layout.js | 373 + webgpu/util/texture/layout.js.map | 1 + webgpu/util/texture/subresource.js | 69 + webgpu/util/texture/subresource.js.map | 1 + webgpu/util/texture/texel_data.js | 1036 ++ webgpu/util/texture/texel_data.js.map | 1 + webgpu/util/texture/texel_data.spec.js | 385 + webgpu/util/texture/texel_data.spec.js.map | 1 + webgpu/util/texture/texel_view.js | 215 + webgpu/util/texture/texel_view.js.map | 1 + webgpu/util/texture/texture_ok.js | 350 + webgpu/util/texture/texture_ok.js.map | 1 + webgpu/util/texture/texture_ok.spec.js | 157 + webgpu/util/texture/texture_ok.spec.js.map | 1 + webgpu/util/unions.js | 46 + webgpu/util/unions.js.map | 1 + webgpu/web_platform/canvas/configure.spec.js | 426 + .../web_platform/canvas/configure.spec.js.map | 1 + .../canvas/context_creation.spec.js | 48 + .../canvas/context_creation.spec.js.map | 1 + .../canvas/getCurrentTexture.spec.js | 431 + .../canvas/getCurrentTexture.spec.js.map | 1 + .../canvas/getPreferredCanvasFormat.spec.js | 20 + .../getPreferredCanvasFormat.spec.js.map | 1 + .../canvas/readbackFromWebGPUCanvas.spec.js | 560 + .../readbackFromWebGPUCanvas.spec.js.map | 1 + .../copyToTexture/ImageBitmap.spec.js | 544 + .../copyToTexture/ImageBitmap.spec.js.map | 1 + .../copyToTexture/ImageData.spec.js | 222 + .../copyToTexture/ImageData.spec.js.map | 1 + .../web_platform/copyToTexture/canvas.spec.js | 840 + .../copyToTexture/canvas.spec.js.map | 1 + .../web_platform/copyToTexture/image.spec.js | 342 + .../copyToTexture/image.spec.js.map | 1 + webgpu/web_platform/copyToTexture/util.js | 59 + webgpu/web_platform/copyToTexture/util.js.map | 1 + .../web_platform/copyToTexture/video.spec.js | 156 + .../copyToTexture/video.spec.js.map | 1 + .../external_texture/video.spec.js | 722 + .../external_texture/video.spec.js.map | 1 + .../reftests/canvas_clear.html.js | 35 + .../reftests/canvas_clear.html.js.map | 1 + .../reftests/canvas_clear.https.html | 0 .../reftests/canvas_colorspace.html.js | 140 + .../reftests/canvas_colorspace.html.js.map | 1 + .../canvas_colorspace_bgra8unorm.https.html | 0 .../canvas_colorspace_rgba16float.https.html | 0 .../canvas_colorspace_rgba8unorm.https.html | 0 .../reftests/canvas_complex.html.js | 773 + .../reftests/canvas_complex.html.js.map | 1 + .../canvas_complex_bgra8unorm_copy.https.html | 0 .../canvas_complex_bgra8unorm_draw.https.html | 0 ...canvas_complex_rgba16float_copy.https.html | 0 ...canvas_complex_rgba16float_draw.https.html | 0 ...anvas_complex_rgba16float_store.https.html | 0 .../canvas_complex_rgba8unorm_copy.https.html | 0 .../canvas_complex_rgba8unorm_draw.https.html | 0 ...canvas_complex_rgba8unorm_store.https.html | 0 .../reftests/canvas_composite_alpha.html.js | 178 + .../canvas_composite_alpha.html.js.map | 1 + ...te_alpha_bgra8unorm_opaque_copy.https.html | 0 ...te_alpha_bgra8unorm_opaque_draw.https.html | 0 ...a_bgra8unorm_premultiplied_copy.https.html | 0 ...a_bgra8unorm_premultiplied_draw.https.html | 0 ...e_alpha_rgba16float_opaque_copy.https.html | 0 ...e_alpha_rgba16float_opaque_draw.https.html | 0 ..._rgba16float_premultiplied_copy.https.html | 0 ..._rgba16float_premultiplied_draw.https.html | 0 ...te_alpha_rgba8unorm_opaque_copy.https.html | 0 ...te_alpha_rgba8unorm_opaque_draw.https.html | 0 ...a_rgba8unorm_premultiplied_copy.https.html | 0 ...a_rgba8unorm_premultiplied_draw.https.html | 0 .../canvas_display_after_device_lost.html.js | 66 + ...nvas_display_after_device_lost.html.js.map | 1 + ...anvas_display_after_device_lost.https.html | 0 .../reftests/canvas_image_rendering.html.js | 80 + .../canvas_image_rendering.html.js.map | 1 + .../canvas_image_rendering.https.html | 0 .../reftests/create-pattern-data-url.js | 24 + .../reftests/create-pattern-data-url.js.map | 1 + .../reftests/delay_get_texture.html.js | 47 + .../reftests/delay_get_texture.html.js.map | 1 + .../reftests/delay_get_texture.https.html | 0 webgpu/web_platform/reftests/gpu_ref_test.js | 27 + .../web_platform/reftests/gpu_ref_test.js.map | 1 + .../reftests/ref/canvas_clear-ref.html | 0 .../reftests/ref/canvas_colorspace-ref.html | 0 .../ref/canvas_colorspace-ref.html.js | 42 + .../ref/canvas_colorspace-ref.html.js.map | 1 + .../reftests/ref/canvas_complex-ref.html | 0 .../canvas_composite_alpha_opaque-ref.html | 0 ...vas_composite_alpha_premultiplied-ref.html | 0 .../canvas_display_after_device_lost-ref.html | 0 .../ref/canvas_image_rendering-ref.html | 0 .../reftests/ref/delay_get_texture-ref.html | 0 .../reftests/ref/resize_observer-ref.html | 0 .../reftests/resize_observer.html.js | 151 + .../reftests/resize_observer.html.js.map | 1 + .../reftests/resize_observer.https.html | 0 webgpu/web_platform/util.js | 609 + webgpu/web_platform/util.js.map | 1 + webgpu/web_platform/worker/worker.js | 103 + webgpu/web_platform/worker/worker.js.map | 1 + webgpu/web_platform/worker/worker.spec.js | 68 + webgpu/web_platform/worker/worker.spec.js.map | 1 + webgpu/web_platform/worker/worker_launcher.js | 76 + .../worker/worker_launcher.js.map | 1 + .../api/operation/adapter/info.as_worker.js | 6 + .../adapter/requestAdapter.as_worker.js | 6 + .../adapter/requestDevice.as_worker.js | 6 + .../api/operation/buffers/map.as_worker.js | 6 + .../buffers/map_ArrayBuffer.as_worker.js | 6 + .../operation/buffers/map_detach.as_worker.js | 6 + .../operation/buffers/map_oom.as_worker.js | 6 + .../operation/buffers/threading.as_worker.js | 6 + .../command_buffer/basic.as_worker.js | 6 + .../command_buffer/clearBuffer.as_worker.js | 6 + .../copyBufferToBuffer.as_worker.js | 6 + .../copyTextureToTexture.as_worker.js | 6 + .../command_buffer/image_copy.as_worker.js | 6 + .../programmable/state_tracking.as_worker.js | 6 + .../queries/occlusionQuery.as_worker.js | 6 + .../render/dynamic_state.as_worker.js | 6 + .../render/state_tracking.as_worker.js | 6 + .../api/operation/compute/basic.as_worker.js | 6 + .../entry_point_name.as_worker.js | 6 + .../compute_pipeline/overrides.as_worker.js | 6 + .../api/operation/device/lost.as_worker.js | 6 + .../api/operation/labels.as_worker.js | 6 + .../buffer/multiple_buffers.as_worker.js | 6 + .../buffer/single_buffer.as_worker.js | 6 + .../readonly_depth_stencil.as_worker.js | 6 + .../texture/same_subresource.as_worker.js | 6 + .../onSubmittedWorkDone.as_worker.js | 6 + .../pipeline/default_layout.as_worker.js | 6 + .../operation/queue/writeBuffer.as_worker.js | 6 + .../api/operation/reflection.as_worker.js | 6 + .../render_pass/clear_value.as_worker.js | 6 + .../render_pass/resolve.as_worker.js | 6 + .../render_pass/storeOp.as_worker.js | 6 + .../render_pass/storeop2.as_worker.js | 6 + .../culling_tests.as_worker.js | 6 + .../render_pipeline/overrides.as_worker.js | 6 + .../pipeline_output_targets.as_worker.js | 6 + .../primitive_topology.as_worker.js | 6 + .../render_pipeline/sample_mask.as_worker.js | 6 + .../vertex_only_render_pipeline.as_worker.js | 6 + .../rendering/3d_texture_slices.as_worker.js | 6 + .../operation/rendering/basic.as_worker.js | 6 + .../rendering/color_target_state.as_worker.js | 6 + .../operation/rendering/depth.as_worker.js | 6 + .../rendering/depth_bias.as_worker.js | 6 + .../rendering/depth_clip_clamp.as_worker.js | 6 + .../api/operation/rendering/draw.as_worker.js | 6 + .../rendering/indirect_draw.as_worker.js | 6 + .../robust_access_index.as_worker.js | 6 + .../operation/rendering/stencil.as_worker.js | 6 + .../resource_init/buffer.as_worker.js | 6 + .../resource_init/texture_zero.as_worker.js | 6 + .../sampling/anisotropy.as_worker.js | 6 + .../sampling/filter_mode.as_worker.js | 6 + .../operation/sampling/lod_clamp.as_worker.js | 6 + .../compilation_info.as_worker.js | 6 + .../storage_texture/read_only.as_worker.js | 6 + .../storage_texture/read_write.as_worker.js | 6 + .../format_reinterpretation.as_worker.js | 6 + .../operation/texture_view/read.as_worker.js | 6 + .../operation/texture_view/write.as_worker.js | 6 + .../operation/uncapturederror.as_worker.js | 6 + .../vertex_state/correctness.as_worker.js | 6 + .../vertex_state/index_format.as_worker.js | 6 + .../api/validation/buffer/create.as_worker.js | 6 + .../validation/buffer/destroy.as_worker.js | 6 + .../validation/buffer/mapping.as_worker.js | 6 + .../validation/buffer/threading.as_worker.js | 6 + .../features/clip_distances.as_worker.js | 6 + .../features/query_types.as_worker.js | 6 + .../features/texture_formats.as_worker.js | 6 + .../limits/maxBindGroups.as_worker.js | 6 + ...axBindGroupsPlusVertexBuffers.as_worker.js | 6 + .../maxBindingsPerBindGroup.as_worker.js | 6 + .../limits/maxBufferSize.as_worker.js | 6 + ...ColorAttachmentBytesPerSample.as_worker.js | 6 + .../limits/maxColorAttachments.as_worker.js | 6 + ...omputeInvocationsPerWorkgroup.as_worker.js | 6 + .../maxComputeWorkgroupSizeX.as_worker.js | 6 + .../maxComputeWorkgroupSizeY.as_worker.js | 6 + .../maxComputeWorkgroupSizeZ.as_worker.js | 6 + ...axComputeWorkgroupStorageSize.as_worker.js | 6 + ...ComputeWorkgroupsPerDimension.as_worker.js | 6 + ...orageBuffersPerPipelineLayout.as_worker.js | 6 + ...iformBuffersPerPipelineLayout.as_worker.js | 6 + ...maxInterStageShaderComponents.as_worker.js | 6 + .../maxInterStageShaderVariables.as_worker.js | 6 + ...SampledTexturesPerShaderStage.as_worker.js | 6 + .../maxSamplersPerShaderStage.as_worker.js | 6 + .../maxStorageBufferBindingSize.as_worker.js | 6 + ...xStorageBuffersPerShaderStage.as_worker.js | 6 + ...StorageTexturesPerShaderStage.as_worker.js | 6 + .../limits/maxTextureArrayLayers.as_worker.js | 6 + .../limits/maxTextureDimension1D.as_worker.js | 6 + .../limits/maxTextureDimension2D.as_worker.js | 6 + .../limits/maxTextureDimension3D.as_worker.js | 6 + .../maxUniformBufferBindingSize.as_worker.js | 6 + ...xUniformBuffersPerShaderStage.as_worker.js | 6 + .../limits/maxVertexAttributes.as_worker.js | 6 + .../maxVertexBufferArrayStride.as_worker.js | 6 + .../limits/maxVertexBuffers.as_worker.js | 6 + ...nStorageBufferOffsetAlignment.as_worker.js | 6 + ...nUniformBufferOffsetAlignment.as_worker.js | 6 + .../validation/compute_pipeline.as_worker.js | 6 + .../validation/createBindGroup.as_worker.js | 6 + .../createBindGroupLayout.as_worker.js | 6 + .../createPipelineLayout.as_worker.js | 6 + .../api/validation/createSampler.as_worker.js | 6 + .../api/validation/createTexture.as_worker.js | 6 + .../api/validation/createView.as_worker.js | 6 + .../api/validation/debugMarker.as_worker.js | 6 + .../encoding/beginComputePass.as_worker.js | 6 + .../encoding/beginRenderPass.as_worker.js | 6 + .../encoding/cmds/clearBuffer.as_worker.js | 6 + .../encoding/cmds/compute_pass.as_worker.js | 6 + .../cmds/copyBufferToBuffer.as_worker.js | 6 + .../cmds/copyTextureToTexture.as_worker.js | 6 + .../encoding/cmds/debug.as_worker.js | 6 + .../encoding/cmds/index_access.as_worker.js | 6 + .../encoding/cmds/render/draw.as_worker.js | 6 + .../cmds/render/dynamic_state.as_worker.js | 6 + .../cmds/render/indirect_draw.as_worker.js | 6 + .../cmds/render/setIndexBuffer.as_worker.js | 6 + .../cmds/render/setPipeline.as_worker.js | 6 + .../cmds/render/setVertexBuffer.as_worker.js | 6 + .../cmds/render/state_tracking.as_worker.js | 6 + .../encoding/cmds/render_pass.as_worker.js | 6 + .../encoding/cmds/setBindGroup.as_worker.js | 6 + .../createRenderBundleEncoder.as_worker.js | 6 + .../encoding/encoder_open_state.as_worker.js | 6 + .../encoding/encoder_state.as_worker.js | 6 + .../pipeline_bind_group_compat.as_worker.js | 6 + .../encoding/queries/begin_end.as_worker.js | 6 + .../encoding/queries/general.as_worker.js | 6 + .../queries/resolveQuerySet.as_worker.js | 6 + .../encoding/render_bundle.as_worker.js | 6 + .../api/validation/error_scope.as_worker.js | 6 + .../getBindGroupLayout.as_worker.js | 6 + ...u_external_texture_expiration.as_worker.js | 6 + .../image_copy/buffer_related.as_worker.js | 6 + .../buffer_texture_copies.as_worker.js | 6 + .../image_copy/layout_related.as_worker.js | 6 + .../image_copy/texture_related.as_worker.js | 6 + .../layout_shader_compat.as_worker.js | 6 + .../validation/query_set/create.as_worker.js | 6 + .../validation/query_set/destroy.as_worker.js | 6 + .../queue/buffer_mapped.as_worker.js | 6 + .../CopyExternalImageToTexture.as_worker.js | 6 + .../queue/destroyed/buffer.as_worker.js | 6 + .../queue/destroyed/query_set.as_worker.js | 6 + .../queue/destroyed/texture.as_worker.js | 6 + .../api/validation/queue/submit.as_worker.js | 6 + .../validation/queue/writeBuffer.as_worker.js | 6 + .../queue/writeTexture.as_worker.js | 6 + .../attachment_compatibility.as_worker.js | 6 + .../render_pass_descriptor.as_worker.js | 6 + .../render_pass/resolve.as_worker.js | 6 + .../depth_stencil_state.as_worker.js | 6 + .../float32_blendable.as_worker.js | 6 + .../fragment_state.as_worker.js | 6 + .../render_pipeline/inter_stage.as_worker.js | 6 + .../render_pipeline/misc.as_worker.js | 6 + .../multisample_state.as_worker.js | 6 + .../render_pipeline/overrides.as_worker.js | 6 + .../primitive_state.as_worker.js | 6 + .../resource_compatibility.as_worker.js | 6 + .../shader_module.as_worker.js | 6 + .../render_pipeline/vertex_state.as_worker.js | 6 + .../buffer/in_pass_encoder.as_worker.js | 6 + .../buffer/in_pass_misc.as_worker.js | 6 + .../texture/in_pass_encoder.as_worker.js | 6 + .../texture/in_render_common.as_worker.js | 6 + .../texture/in_render_misc.as_worker.js | 6 + .../shader_module/entry_point.as_worker.js | 6 + .../shader_module/overrides.as_worker.js | 6 + .../state/device_lost/destroy.as_worker.js | 6 + .../texture/bgra8unorm_storage.as_worker.js | 6 + .../validation/texture/destroy.as_worker.js | 6 + .../texture/float32_filterable.as_worker.js | 6 + .../rg11b10ufloat_renderable.as_worker.js | 6 + .../validation/createBindGroup.as_worker.js | 6 + .../createBindGroupLayout.as_worker.js | 6 + .../cmds/copyTextureToBuffer.as_worker.js | 6 + .../cmds/copyTextureToTexture.as_worker.js | 6 + .../pipeline_bind_group_compat.as_worker.js | 6 + .../depth_stencil_state.as_worker.js | 6 + .../fragment_state.as_worker.js | 6 + .../unsupported_wgsl.as_worker.js | 6 + .../render_pipeline/vertex_state.as_worker.js | 6 + .../texture/createTexture.as_worker.js | 6 + .../validation/texture/cubeArray.as_worker.js | 6 + webgpu/webworker/examples.as_worker.js | 6 + .../idl/constants/flags.as_worker.js | 6 + .../webworker/idl/constructable.as_worker.js | 6 + .../webworker/print_environment.as_worker.js | 6 + .../access/array/index.as_worker.js | 6 + .../access/matrix/index.as_worker.js | 6 + .../access/structure/index.as_worker.js | 6 + .../access/vector/components.as_worker.js | 6 + .../access/vector/index.as_worker.js | 6 + .../binary/af_addition.as_worker.js | 6 + .../binary/af_comparison.as_worker.js | 6 + .../binary/af_division.as_worker.js | 6 + .../binary/af_matrix_addition.as_worker.js | 6 + ..._matrix_matrix_multiplication.as_worker.js | 6 + ..._matrix_scalar_multiplication.as_worker.js | 6 + .../binary/af_matrix_subtraction.as_worker.js | 6 + ..._matrix_vector_multiplication.as_worker.js | 6 + .../binary/af_multiplication.as_worker.js | 6 + .../binary/af_remainder.as_worker.js | 6 + .../binary/af_subtraction.as_worker.js | 6 + .../binary/ai_arithmetic.as_worker.js | 6 + .../binary/ai_comparison.as_worker.js | 6 + .../expression/binary/bitwise.as_worker.js | 6 + .../binary/bitwise_shift.as_worker.js | 6 + .../binary/bool_logical.as_worker.js | 6 + .../binary/f16_addition.as_worker.js | 6 + .../binary/f16_comparison.as_worker.js | 6 + .../binary/f16_division.as_worker.js | 6 + .../binary/f16_matrix_addition.as_worker.js | 6 + ..._matrix_matrix_multiplication.as_worker.js | 6 + ..._matrix_scalar_multiplication.as_worker.js | 6 + .../f16_matrix_subtraction.as_worker.js | 6 + ..._matrix_vector_multiplication.as_worker.js | 6 + .../binary/f16_multiplication.as_worker.js | 6 + .../binary/f16_remainder.as_worker.js | 6 + .../binary/f16_subtraction.as_worker.js | 6 + .../binary/f32_addition.as_worker.js | 6 + .../binary/f32_comparison.as_worker.js | 6 + .../binary/f32_division.as_worker.js | 6 + .../binary/f32_matrix_addition.as_worker.js | 6 + ..._matrix_matrix_multiplication.as_worker.js | 6 + ..._matrix_scalar_multiplication.as_worker.js | 6 + .../f32_matrix_subtraction.as_worker.js | 6 + ..._matrix_vector_multiplication.as_worker.js | 6 + .../binary/f32_multiplication.as_worker.js | 6 + .../binary/f32_remainder.as_worker.js | 6 + .../binary/f32_subtraction.as_worker.js | 6 + .../binary/i32_arithmetic.as_worker.js | 6 + .../binary/i32_comparison.as_worker.js | 6 + .../binary/u32_arithmetic.as_worker.js | 6 + .../binary/u32_comparison.as_worker.js | 6 + .../expression/call/builtin/abs.as_worker.js | 6 + .../expression/call/builtin/acos.as_worker.js | 6 + .../call/builtin/acosh.as_worker.js | 6 + .../expression/call/builtin/all.as_worker.js | 6 + .../expression/call/builtin/any.as_worker.js | 6 + .../call/builtin/arrayLength.as_worker.js | 6 + .../expression/call/builtin/asin.as_worker.js | 6 + .../call/builtin/asinh.as_worker.js | 6 + .../expression/call/builtin/atan.as_worker.js | 6 + .../call/builtin/atan2.as_worker.js | 6 + .../call/builtin/atanh.as_worker.js | 6 + .../builtin/atomics/atomicAdd.as_worker.js | 6 + .../builtin/atomics/atomicAnd.as_worker.js | 6 + .../atomicCompareExchangeWeak.as_worker.js | 6 + .../atomics/atomicExchange.as_worker.js | 6 + .../builtin/atomics/atomicLoad.as_worker.js | 6 + .../builtin/atomics/atomicMax.as_worker.js | 6 + .../builtin/atomics/atomicMin.as_worker.js | 6 + .../builtin/atomics/atomicOr.as_worker.js | 6 + .../builtin/atomics/atomicStore.as_worker.js | 6 + .../builtin/atomics/atomicSub.as_worker.js | 6 + .../builtin/atomics/atomicXor.as_worker.js | 6 + .../call/builtin/bitcast.as_worker.js | 6 + .../expression/call/builtin/ceil.as_worker.js | 6 + .../call/builtin/clamp.as_worker.js | 6 + .../expression/call/builtin/cos.as_worker.js | 6 + .../expression/call/builtin/cosh.as_worker.js | 6 + .../builtin/countLeadingZeros.as_worker.js | 6 + .../call/builtin/countOneBits.as_worker.js | 6 + .../builtin/countTrailingZeros.as_worker.js | 6 + .../call/builtin/cross.as_worker.js | 6 + .../call/builtin/degrees.as_worker.js | 6 + .../call/builtin/determinant.as_worker.js | 6 + .../call/builtin/distance.as_worker.js | 6 + .../expression/call/builtin/dot.as_worker.js | 6 + .../call/builtin/dot4I8Packed.as_worker.js | 6 + .../call/builtin/dot4U8Packed.as_worker.js | 6 + .../expression/call/builtin/dpdx.as_worker.js | 6 + .../call/builtin/dpdxCoarse.as_worker.js | 6 + .../call/builtin/dpdxFine.as_worker.js | 6 + .../expression/call/builtin/dpdy.as_worker.js | 6 + .../call/builtin/dpdyCoarse.as_worker.js | 6 + .../call/builtin/dpdyFine.as_worker.js | 6 + .../expression/call/builtin/exp.as_worker.js | 6 + .../expression/call/builtin/exp2.as_worker.js | 6 + .../call/builtin/extractBits.as_worker.js | 6 + .../call/builtin/faceForward.as_worker.js | 6 + .../call/builtin/firstLeadingBit.as_worker.js | 6 + .../builtin/firstTrailingBit.as_worker.js | 6 + .../call/builtin/floor.as_worker.js | 6 + .../expression/call/builtin/fma.as_worker.js | 6 + .../call/builtin/fract.as_worker.js | 6 + .../call/builtin/frexp.as_worker.js | 6 + .../call/builtin/fwidth.as_worker.js | 6 + .../call/builtin/fwidthCoarse.as_worker.js | 6 + .../call/builtin/fwidthFine.as_worker.js | 6 + .../call/builtin/insertBits.as_worker.js | 6 + .../call/builtin/inversesqrt.as_worker.js | 6 + .../call/builtin/ldexp.as_worker.js | 6 + .../call/builtin/length.as_worker.js | 6 + .../expression/call/builtin/log.as_worker.js | 6 + .../expression/call/builtin/log2.as_worker.js | 6 + .../expression/call/builtin/max.as_worker.js | 6 + .../expression/call/builtin/min.as_worker.js | 6 + .../expression/call/builtin/mix.as_worker.js | 6 + .../expression/call/builtin/modf.as_worker.js | 6 + .../call/builtin/normalize.as_worker.js | 6 + .../call/builtin/pack2x16float.as_worker.js | 6 + .../call/builtin/pack2x16snorm.as_worker.js | 6 + .../call/builtin/pack2x16unorm.as_worker.js | 6 + .../call/builtin/pack4x8snorm.as_worker.js | 6 + .../call/builtin/pack4x8unorm.as_worker.js | 6 + .../call/builtin/pack4xI8.as_worker.js | 6 + .../call/builtin/pack4xI8Clamp.as_worker.js | 6 + .../call/builtin/pack4xU8.as_worker.js | 6 + .../call/builtin/pack4xU8Clamp.as_worker.js | 6 + .../expression/call/builtin/pow.as_worker.js | 6 + .../call/builtin/quadBroadcast.as_worker.js | 6 + .../call/builtin/quadSwap.as_worker.js | 6 + .../call/builtin/quantizeToF16.as_worker.js | 6 + .../call/builtin/radians.as_worker.js | 6 + .../call/builtin/reflect.as_worker.js | 6 + .../call/builtin/refract.as_worker.js | 6 + .../call/builtin/reverseBits.as_worker.js | 6 + .../call/builtin/round.as_worker.js | 6 + .../call/builtin/saturate.as_worker.js | 6 + .../call/builtin/select.as_worker.js | 6 + .../expression/call/builtin/sign.as_worker.js | 6 + .../expression/call/builtin/sin.as_worker.js | 6 + .../expression/call/builtin/sinh.as_worker.js | 6 + .../call/builtin/smoothstep.as_worker.js | 6 + .../expression/call/builtin/sqrt.as_worker.js | 6 + .../expression/call/builtin/step.as_worker.js | 6 + .../call/builtin/storageBarrier.as_worker.js | 6 + .../call/builtin/subgroupAdd.as_worker.js | 6 + .../call/builtin/subgroupAll.as_worker.js | 6 + .../call/builtin/subgroupAny.as_worker.js | 6 + .../call/builtin/subgroupBallot.as_worker.js | 6 + .../call/builtin/subgroupBitwise.as_worker.js | 6 + .../builtin/subgroupBroadcast.as_worker.js | 6 + .../call/builtin/subgroupMul.as_worker.js | 6 + .../expression/call/builtin/tan.as_worker.js | 6 + .../expression/call/builtin/tanh.as_worker.js | 6 + .../builtin/textureDimensions.as_worker.js | 6 + .../call/builtin/textureGather.as_worker.js | 6 + .../builtin/textureGatherCompare.as_worker.js | 6 + .../call/builtin/textureLoad.as_worker.js | 6 + .../builtin/textureNumLayers.as_worker.js | 6 + .../builtin/textureNumLevels.as_worker.js | 6 + .../builtin/textureNumSamples.as_worker.js | 6 + .../call/builtin/textureSample.as_worker.js | 6 + .../textureSampleBaseClampToEdge.as_worker.js | 6 + .../builtin/textureSampleBias.as_worker.js | 6 + .../builtin/textureSampleCompare.as_worker.js | 6 + .../textureSampleCompareLevel.as_worker.js | 6 + .../builtin/textureSampleGrad.as_worker.js | 6 + .../builtin/textureSampleLevel.as_worker.js | 6 + .../call/builtin/textureStore.as_worker.js | 6 + .../call/builtin/transpose.as_worker.js | 6 + .../call/builtin/trunc.as_worker.js | 6 + .../call/builtin/unpack2x16float.as_worker.js | 6 + .../call/builtin/unpack2x16snorm.as_worker.js | 6 + .../call/builtin/unpack2x16unorm.as_worker.js | 6 + .../call/builtin/unpack4x8snorm.as_worker.js | 6 + .../call/builtin/unpack4x8unorm.as_worker.js | 6 + .../call/builtin/unpack4xI8.as_worker.js | 6 + .../call/builtin/unpack4xU8.as_worker.js | 6 + .../builtin/workgroupBarrier.as_worker.js | 6 + .../builtin/workgroupUniformLoad.as_worker.js | 6 + .../call/user/ptr_params.as_worker.js | 6 + .../constructor/non_zero.as_worker.js | 6 + .../constructor/zero_value.as_worker.js | 6 + .../expression/precedence.as_worker.js | 6 + .../address_of_and_indirection.as_worker.js | 6 + .../unary/af_arithmetic.as_worker.js | 6 + .../unary/af_assignment.as_worker.js | 6 + .../unary/ai_arithmetic.as_worker.js | 6 + .../unary/ai_assignment.as_worker.js | 6 + .../unary/ai_complement.as_worker.js | 6 + .../unary/bool_conversion.as_worker.js | 6 + .../unary/bool_logical.as_worker.js | 6 + .../unary/f16_arithmetic.as_worker.js | 6 + .../unary/f16_conversion.as_worker.js | 6 + .../unary/f32_arithmetic.as_worker.js | 6 + .../unary/f32_conversion.as_worker.js | 6 + .../unary/i32_arithmetic.as_worker.js | 6 + .../unary/i32_complement.as_worker.js | 6 + .../unary/i32_conversion.as_worker.js | 6 + .../unary/u32_complement.as_worker.js | 6 + .../unary/u32_conversion.as_worker.js | 6 + .../shader/execution/float_parse.as_worker.js | 6 + .../execution/flow_control/call.as_worker.js | 6 + .../flow_control/complex.as_worker.js | 6 + .../flow_control/eval_order.as_worker.js | 6 + .../execution/flow_control/for.as_worker.js | 6 + .../execution/flow_control/if.as_worker.js | 6 + .../execution/flow_control/loop.as_worker.js | 6 + .../execution/flow_control/phony.as_worker.js | 6 + .../flow_control/return.as_worker.js | 6 + .../flow_control/switch.as_worker.js | 6 + .../execution/flow_control/while.as_worker.js | 6 + .../shader/execution/limits.as_worker.js | 6 + .../execution/memory_layout.as_worker.js | 6 + .../memory_model/adjacent.as_worker.js | 6 + .../memory_model/atomicity.as_worker.js | 6 + .../memory_model/barrier.as_worker.js | 6 + .../memory_model/coherence.as_worker.js | 6 + ...re_intra_invocation_coherence.as_worker.js | 6 + .../execution/memory_model/weak.as_worker.js | 6 + .../shader/execution/padding.as_worker.js | 6 + .../execution/robust_access.as_worker.js | 6 + .../robust_access_vertex.as_worker.js | 6 + .../shader_io/compute_builtins.as_worker.js | 6 + .../shader_io/fragment_builtins.as_worker.js | 6 + .../shader_io/shared_structs.as_worker.js | 6 + .../execution/shader_io/user_io.as_worker.js | 6 + .../shader_io/vertex_builtins.as_worker.js | 6 + .../shader_io/workgroup_size.as_worker.js | 6 + .../shader/execution/shadow.as_worker.js | 6 + .../shader/execution/stage.as_worker.js | 6 + .../execution/statement/compound.as_worker.js | 6 + .../execution/statement/discard.as_worker.js | 6 + .../increment_decrement.as_worker.js | 6 + .../execution/statement/phony.as_worker.js | 6 + .../shader/execution/value_init.as_worker.js | 6 + .../shader/execution/zero_init.as_worker.js | 6 + .../const_assert/const_assert.as_worker.js | 6 + .../decl/compound_statement.as_worker.js | 6 + .../shader/validation/decl/const.as_worker.js | 6 + .../context_dependent_resolution.as_worker.js | 6 + .../shader/validation/decl/let.as_worker.js | 6 + .../validation/decl/override.as_worker.js | 6 + .../shader/validation/decl/var.as_worker.js | 6 + .../expression/access/array.as_worker.js | 6 + .../expression/access/matrix.as_worker.js | 6 + .../expression/access/structure.as_worker.js | 6 + .../expression/access/vector.as_worker.js | 6 + .../binary/add_sub_mul.as_worker.js | 6 + .../expression/binary/and_or_xor.as_worker.js | 6 + .../binary/bitwise_shift.as_worker.js | 6 + .../expression/binary/comparison.as_worker.js | 6 + .../expression/binary/div_rem.as_worker.js | 6 + .../expression/binary/parse.as_worker.js | 6 + .../short_circuiting_and_or.as_worker.js | 6 + .../expression/call/builtin/abs.as_worker.js | 6 + .../expression/call/builtin/acos.as_worker.js | 6 + .../call/builtin/acosh.as_worker.js | 6 + .../expression/call/builtin/all.as_worker.js | 6 + .../expression/call/builtin/any.as_worker.js | 6 + .../call/builtin/arrayLength.as_worker.js | 6 + .../expression/call/builtin/asin.as_worker.js | 6 + .../call/builtin/asinh.as_worker.js | 6 + .../expression/call/builtin/atan.as_worker.js | 6 + .../call/builtin/atan2.as_worker.js | 6 + .../call/builtin/atanh.as_worker.js | 6 + .../call/builtin/atomics.as_worker.js | 6 + .../call/builtin/barriers.as_worker.js | 6 + .../call/builtin/bitcast.as_worker.js | 6 + .../expression/call/builtin/ceil.as_worker.js | 6 + .../call/builtin/clamp.as_worker.js | 6 + .../expression/call/builtin/cos.as_worker.js | 6 + .../expression/call/builtin/cosh.as_worker.js | 6 + .../builtin/countLeadingZeros.as_worker.js | 6 + .../call/builtin/countOneBits.as_worker.js | 6 + .../builtin/countTrailingZeros.as_worker.js | 6 + .../call/builtin/cross.as_worker.js | 6 + .../call/builtin/degrees.as_worker.js | 6 + .../call/builtin/derivatives.as_worker.js | 6 + .../call/builtin/determinant.as_worker.js | 6 + .../call/builtin/distance.as_worker.js | 6 + .../expression/call/builtin/dot.as_worker.js | 6 + .../call/builtin/dot4I8Packed.as_worker.js | 6 + .../call/builtin/dot4U8Packed.as_worker.js | 6 + .../expression/call/builtin/exp.as_worker.js | 6 + .../expression/call/builtin/exp2.as_worker.js | 6 + .../call/builtin/extractBits.as_worker.js | 6 + .../call/builtin/faceForward.as_worker.js | 6 + .../call/builtin/firstLeadingBit.as_worker.js | 6 + .../builtin/firstTrailingBit.as_worker.js | 6 + .../call/builtin/floor.as_worker.js | 6 + .../expression/call/builtin/fma.as_worker.js | 6 + .../call/builtin/fract.as_worker.js | 6 + .../call/builtin/frexp.as_worker.js | 6 + .../call/builtin/insertBits.as_worker.js | 6 + .../call/builtin/inverseSqrt.as_worker.js | 6 + .../call/builtin/ldexp.as_worker.js | 6 + .../call/builtin/length.as_worker.js | 6 + .../expression/call/builtin/log.as_worker.js | 6 + .../expression/call/builtin/log2.as_worker.js | 6 + .../expression/call/builtin/max.as_worker.js | 6 + .../expression/call/builtin/min.as_worker.js | 6 + .../expression/call/builtin/mix.as_worker.js | 6 + .../expression/call/builtin/modf.as_worker.js | 6 + .../call/builtin/normalize.as_worker.js | 6 + .../call/builtin/pack2x16float.as_worker.js | 6 + .../call/builtin/pack2x16snorm.as_worker.js | 6 + .../call/builtin/pack2x16unorm.as_worker.js | 6 + .../call/builtin/pack4x8snorm.as_worker.js | 6 + .../call/builtin/pack4x8unorm.as_worker.js | 6 + .../call/builtin/pack4xI8.as_worker.js | 6 + .../call/builtin/pack4xI8Clamp.as_worker.js | 6 + .../call/builtin/pack4xU8.as_worker.js | 6 + .../call/builtin/pack4xU8Clamp.as_worker.js | 6 + .../expression/call/builtin/pow.as_worker.js | 6 + .../call/builtin/quadBroadcast.as_worker.js | 6 + .../call/builtin/quadSwap.as_worker.js | 6 + .../call/builtin/quantizeToF16.as_worker.js | 6 + .../call/builtin/radians.as_worker.js | 6 + .../call/builtin/reflect.as_worker.js | 6 + .../call/builtin/refract.as_worker.js | 6 + .../call/builtin/reverseBits.as_worker.js | 6 + .../call/builtin/round.as_worker.js | 6 + .../call/builtin/saturate.as_worker.js | 6 + .../call/builtin/select.as_worker.js | 6 + .../expression/call/builtin/sign.as_worker.js | 6 + .../expression/call/builtin/sin.as_worker.js | 6 + .../expression/call/builtin/sinh.as_worker.js | 6 + .../call/builtin/smoothstep.as_worker.js | 6 + .../expression/call/builtin/sqrt.as_worker.js | 6 + .../expression/call/builtin/step.as_worker.js | 6 + .../call/builtin/subgroupAdd.as_worker.js | 6 + .../call/builtin/subgroupAnyAll.as_worker.js | 6 + .../call/builtin/subgroupBallot.as_worker.js | 6 + .../call/builtin/subgroupBitwise.as_worker.js | 6 + .../builtin/subgroupBroadcast.as_worker.js | 6 + .../subgroupBroadcastFirst.as_worker.js | 6 + .../call/builtin/subgroupElect.as_worker.js | 6 + .../call/builtin/subgroupMinMax.as_worker.js | 6 + .../call/builtin/subgroupMul.as_worker.js | 6 + .../call/builtin/subgroupShuffle.as_worker.js | 6 + .../expression/call/builtin/tan.as_worker.js | 6 + .../expression/call/builtin/tanh.as_worker.js | 6 + .../builtin/textureDimensions.as_worker.js | 6 + .../call/builtin/textureGather.as_worker.js | 6 + .../builtin/textureGatherCompare.as_worker.js | 6 + .../call/builtin/textureLoad.as_worker.js | 6 + .../builtin/textureNumLayers.as_worker.js | 6 + .../builtin/textureNumLevels.as_worker.js | 6 + .../builtin/textureNumSamples.as_worker.js | 6 + .../call/builtin/textureSample.as_worker.js | 6 + .../textureSampleBaseClampToEdge.as_worker.js | 6 + .../builtin/textureSampleBias.as_worker.js | 6 + .../builtin/textureSampleCompare.as_worker.js | 6 + .../textureSampleCompareLevel.as_worker.js | 6 + .../builtin/textureSampleGrad.as_worker.js | 6 + .../builtin/textureSampleLevel.as_worker.js | 6 + .../call/builtin/textureStore.as_worker.js | 6 + .../call/builtin/transpose.as_worker.js | 6 + .../call/builtin/trunc.as_worker.js | 6 + .../call/builtin/unpack2x16float.as_worker.js | 6 + .../call/builtin/unpack2x16snorm.as_worker.js | 6 + .../call/builtin/unpack2x16unorm.as_worker.js | 6 + .../call/builtin/unpack4x8snorm.as_worker.js | 6 + .../call/builtin/unpack4x8unorm.as_worker.js | 6 + .../call/builtin/unpack4xI8.as_worker.js | 6 + .../call/builtin/unpack4xU8.as_worker.js | 6 + .../builtin/value_constructor.as_worker.js | 6 + .../builtin/workgroupUniformLoad.as_worker.js | 6 + .../expression/early_evaluation.as_worker.js | 6 + .../expression/matrix/add_sub.as_worker.js | 6 + .../expression/matrix/and_or_xor.as_worker.js | 6 + .../matrix/bitwise_shift.as_worker.js | 6 + .../expression/matrix/comparison.as_worker.js | 6 + .../expression/matrix/div_rem.as_worker.js | 6 + .../expression/matrix/mul.as_worker.js | 6 + .../overload_resolution.as_worker.js | 6 + .../expression/precedence.as_worker.js | 6 + .../address_of_and_indirection.as_worker.js | 6 + .../unary/arithmetic_negation.as_worker.js | 6 + .../unary/bitwise_complement.as_worker.js | 6 + .../unary/logical_negation.as_worker.js | 6 + .../extension/clip_distances.as_worker.js | 6 + .../dual_source_blending.as_worker.js | 6 + .../pointer_composite_access.as_worker.js | 6 + ...nd_readwrite_storage_textures.as_worker.js | 6 + .../functions/alias_analysis.as_worker.js | 6 + .../functions/restrictions.as_worker.js | 6 + .../validation/parse/attribute.as_worker.js | 6 + .../validation/parse/blankspace.as_worker.js | 6 + .../validation/parse/comments.as_worker.js | 6 + .../validation/parse/diagnostic.as_worker.js | 6 + .../validation/parse/enable.as_worker.js | 6 + .../validation/parse/identifiers.as_worker.js | 6 + .../validation/parse/literal.as_worker.js | 6 + .../validation/parse/must_use.as_worker.js | 6 + .../validation/parse/requires.as_worker.js | 6 + .../validation/parse/semicolon.as_worker.js | 6 + .../parse/shadow_builtins.as_worker.js | 6 + .../validation/parse/source.as_worker.js | 6 + .../validation/shader_io/align.as_worker.js | 6 + .../validation/shader_io/binding.as_worker.js | 6 + .../shader_io/builtins.as_worker.js | 6 + .../shader_io/entry_point.as_worker.js | 6 + .../validation/shader_io/group.as_worker.js | 6 + .../shader_io/group_and_binding.as_worker.js | 6 + .../validation/shader_io/id.as_worker.js | 6 + .../shader_io/interpolate.as_worker.js | 6 + .../shader_io/invariant.as_worker.js | 6 + .../shader_io/layout_constraints.as_worker.js | 6 + .../shader_io/locations.as_worker.js | 6 + .../shader_io/pipeline_stage.as_worker.js | 6 + .../validation/shader_io/size.as_worker.js | 6 + .../shader_io/workgroup_size.as_worker.js | 6 + .../validation/statement/break.as_worker.js | 6 + .../statement/break_if.as_worker.js | 6 + .../statement/compound.as_worker.js | 6 + .../statement/const_assert.as_worker.js | 6 + .../statement/continue.as_worker.js | 6 + .../statement/continuing.as_worker.js | 6 + .../validation/statement/discard.as_worker.js | 6 + .../validation/statement/for.as_worker.js | 6 + .../validation/statement/if.as_worker.js | 6 + .../increment_decrement.as_worker.js | 6 + .../validation/statement/loop.as_worker.js | 6 + .../validation/statement/phony.as_worker.js | 6 + .../validation/statement/return.as_worker.js | 6 + .../statement/statement_behavior.as_worker.js | 6 + .../validation/statement/switch.as_worker.js | 6 + .../validation/statement/while.as_worker.js | 6 + .../validation/types/alias.as_worker.js | 6 + .../validation/types/array.as_worker.js | 6 + .../validation/types/atomics.as_worker.js | 6 + .../validation/types/enumerant.as_worker.js | 6 + .../validation/types/matrix.as_worker.js | 6 + .../validation/types/pointer.as_worker.js | 6 + .../shader/validation/types/ref.as_worker.js | 6 + .../validation/types/struct.as_worker.js | 6 + .../validation/types/textures.as_worker.js | 6 + .../validation/types/vector.as_worker.js | 6 + .../uniformity/uniformity.as_worker.js | 6 + .../color_space_conversions.as_worker.js | 6 + .../util/texture/texel_data.as_worker.js | 6 + .../util/texture/texture_ok.as_worker.js | 6 + .../canvas/configure.as_worker.js | 6 + .../canvas/context_creation.as_worker.js | 6 + .../canvas/getCurrentTexture.as_worker.js | 6 + .../getPreferredCanvasFormat.as_worker.js | 6 + .../readbackFromWebGPUCanvas.as_worker.js | 6 + .../copyToTexture/ImageBitmap.as_worker.js | 6 + .../copyToTexture/ImageData.as_worker.js | 6 + .../copyToTexture/canvas.as_worker.js | 6 + .../copyToTexture/image.as_worker.js | 6 + .../copyToTexture/video.as_worker.js | 6 + .../external_texture/video.as_worker.js | 6 + .../web_platform/worker/worker.as_worker.js | 6 + 3890 files changed, 246591 insertions(+), 254591 deletions(-) delete mode 100644 CONTRIBUTING.md delete mode 100644 Gruntfile.js delete mode 100644 LICENSE.txt delete mode 100644 README.md delete mode 100644 babel.config.js create mode 100644 common/framework/data_cache.js create mode 100644 common/framework/data_cache.js.map create mode 100644 common/framework/fixture.js create mode 100644 common/framework/fixture.js.map create mode 100644 common/framework/metadata.js create mode 100644 common/framework/metadata.js.map create mode 100644 common/framework/params_builder.js create mode 100644 common/framework/params_builder.js.map create mode 100644 common/framework/resources.js create mode 100644 common/framework/resources.js.map create mode 100644 common/framework/test_config.js create mode 100644 common/framework/test_config.js.map create mode 100644 common/framework/test_group.js create mode 100644 common/framework/test_group.js.map create mode 100644 common/internal/file_loader.js create mode 100644 common/internal/file_loader.js.map create mode 100644 common/internal/logging/log_message.js create mode 100644 common/internal/logging/log_message.js.map create mode 100644 common/internal/logging/logger.js create mode 100644 common/internal/logging/logger.js.map create mode 100644 common/internal/logging/result.js create mode 100644 common/internal/logging/result.js.map create mode 100644 common/internal/logging/test_case_recorder.js create mode 100644 common/internal/logging/test_case_recorder.js.map create mode 100644 common/internal/params_utils.js create mode 100644 common/internal/params_utils.js.map create mode 100644 common/internal/query/compare.js create mode 100644 common/internal/query/compare.js.map create mode 100644 common/internal/query/encode_selectively.js create mode 100644 common/internal/query/encode_selectively.js.map create mode 100644 common/internal/query/json_param_value.js create mode 100644 common/internal/query/json_param_value.js.map create mode 100644 common/internal/query/parseQuery.js create mode 100644 common/internal/query/parseQuery.js.map create mode 100644 common/internal/query/query.js create mode 100644 common/internal/query/query.js.map create mode 100644 common/internal/query/separators.js create mode 100644 common/internal/query/separators.js.map create mode 100644 common/internal/query/stringify_params.js create mode 100644 common/internal/query/stringify_params.js.map create mode 100644 common/internal/query/validQueryPart.js create mode 100644 common/internal/query/validQueryPart.js.map create mode 100644 common/internal/stack.js create mode 100644 common/internal/stack.js.map create mode 100644 common/internal/test_group.js create mode 100644 common/internal/test_group.js.map create mode 100644 common/internal/test_suite_listing.js create mode 100644 common/internal/test_suite_listing.js.map create mode 100644 common/internal/tree.js create mode 100644 common/internal/tree.js.map create mode 100644 common/internal/util.js create mode 100644 common/internal/util.js.map create mode 100644 common/internal/version.js create mode 100644 common/internal/websocket_logger.js create mode 100644 common/internal/websocket_logger.js.map create mode 100644 common/runtime/cmdline.js create mode 100644 common/runtime/cmdline.js.map create mode 100644 common/runtime/helper/options.js create mode 100644 common/runtime/helper/options.js.map create mode 100644 common/runtime/helper/sys.js create mode 100644 common/runtime/helper/sys.js.map create mode 100644 common/runtime/helper/test_worker-worker.js create mode 100644 common/runtime/helper/test_worker-worker.js.map create mode 100644 common/runtime/helper/test_worker.js create mode 100644 common/runtime/helper/test_worker.js.map create mode 100644 common/runtime/helper/utils_worker.js create mode 100644 common/runtime/helper/utils_worker.js.map create mode 100644 common/runtime/helper/wrap_for_worker.js create mode 100644 common/runtime/helper/wrap_for_worker.js.map create mode 100644 common/runtime/server.js create mode 100644 common/runtime/server.js.map create mode 100644 common/runtime/standalone.js create mode 100644 common/runtime/standalone.js.map create mode 100644 common/runtime/wpt.js create mode 100644 common/runtime/wpt.js.map create mode 100644 common/tools/checklist.js create mode 100644 common/tools/checklist.js.map create mode 100644 common/tools/crawl.js create mode 100644 common/tools/crawl.js.map create mode 100644 common/tools/dev_server.js create mode 100644 common/tools/dev_server.js.map create mode 100644 common/tools/gen_cache.js create mode 100644 common/tools/gen_cache.js.map create mode 100644 common/tools/gen_listings.js create mode 100644 common/tools/gen_listings.js.map create mode 100644 common/tools/gen_listings_and_webworkers.js create mode 100644 common/tools/gen_listings_and_webworkers.js.map create mode 100644 common/tools/gen_wpt_cts_html.js create mode 100644 common/tools/gen_wpt_cts_html.js.map create mode 100644 common/tools/image_utils.js create mode 100644 common/tools/image_utils.js.map create mode 100644 common/tools/merge_listing_times.js create mode 100644 common/tools/merge_listing_times.js.map create mode 100644 common/tools/run_wpt_ref_tests.js create mode 100644 common/tools/run_wpt_ref_tests.js.map rename {src/common => common}/tools/setup-ts-in-node.js (83%) create mode 100644 common/tools/setup-ts-in-node.js.map create mode 100644 common/tools/validate.js create mode 100644 common/tools/validate.js.map create mode 100644 common/tools/version.js create mode 100644 common/tools/version.js.map create mode 100644 common/util/collect_garbage.js create mode 100644 common/util/collect_garbage.js.map create mode 100644 common/util/colors.js create mode 100644 common/util/colors.js.map create mode 100644 common/util/crc32.js create mode 100644 common/util/crc32.js.map create mode 100644 common/util/data_tables.js create mode 100644 common/util/data_tables.js.map create mode 100644 common/util/navigator_gpu.js create mode 100644 common/util/navigator_gpu.js.map create mode 100644 common/util/parse_imports.js create mode 100644 common/util/parse_imports.js.map create mode 100644 common/util/preprocessor.js create mode 100644 common/util/preprocessor.js.map create mode 100644 common/util/timeout.js create mode 100644 common/util/timeout.js.map create mode 100644 common/util/types.js create mode 100644 common/util/types.js.map create mode 100644 common/util/util.js create mode 100644 common/util/util.js.map create mode 100644 common/util/wpt_reftest_wait.js create mode 100644 common/util/wpt_reftest_wait.js.map delete mode 100644 cts.code-workspace create mode 100644 demo/a.spec.js create mode 100644 demo/a.spec.js.map create mode 100644 demo/a/b.spec.js create mode 100644 demo/a/b.spec.js.map create mode 100644 demo/a/b/c.spec.js create mode 100644 demo/a/b/c.spec.js.map create mode 100644 demo/a/b/d.spec.js create mode 100644 demo/a/b/d.spec.js.map create mode 100644 demo/file_depth_2/in_single_child_dir/r.spec.js create mode 100644 demo/file_depth_2/in_single_child_dir/r.spec.js.map create mode 100644 demo/json.spec.js create mode 100644 demo/json.spec.js.map create mode 100644 demo/listing.js create mode 100644 demo/subcases.spec.js create mode 100644 demo/subcases.spec.js.map create mode 100644 demo/webworker/a.as_worker.js create mode 100644 demo/webworker/a/b.as_worker.js create mode 100644 demo/webworker/a/b/c.as_worker.js create mode 100644 demo/webworker/a/b/d.as_worker.js create mode 100644 demo/webworker/file_depth_2/in_single_child_dir/r.as_worker.js create mode 100644 demo/webworker/json.as_worker.js create mode 100644 demo/webworker/subcases.as_worker.js delete mode 100644 deploy_key.enc delete mode 100644 docs/adding_timing_metadata.md delete mode 100644 docs/build.md delete mode 100644 docs/case_cache.md delete mode 100644 docs/deno.md delete mode 100644 docs/fp_primer.md delete mode 100644 docs/helper_index.txt delete mode 100644 docs/implementing.md delete mode 100644 docs/intro/README.md delete mode 100644 docs/intro/convert_to_issue.png delete mode 100644 docs/intro/developing.md delete mode 100644 docs/intro/life_of.md delete mode 100644 docs/intro/plans.md delete mode 100644 docs/intro/tests.md delete mode 100644 docs/organization.md delete mode 100644 docs/reviews.md delete mode 100644 docs/terms.md create mode 100644 external/petamoriken/float16/float16.d.js create mode 100644 external/petamoriken/float16/float16.d.js.map rename {src/external => external}/petamoriken/float16/float16.js (89%) create mode 100644 external/petamoriken/float16/float16.js.map create mode 100644 manual/listing.js delete mode 100644 node.tsconfig.json delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 prettier.config.js rename {src/resources => resources}/README.md (100%) rename {src/resources => resources}/cache/hashes.json (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/abs.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/acos.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/acosh.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/asin.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/asinh.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/atan.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/atan2.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/atanh.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_addition.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_division.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_logical.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_matrix_addition.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_matrix_matrix_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_matrix_scalar_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_matrix_subtraction.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_matrix_vector_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_remainder.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/af_subtraction.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/ai_arithmetic.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_addition.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_division.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_logical.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_matrix_addition.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_matrix_subtraction.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_remainder.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f16_subtraction.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_addition.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_division.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_logical.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_matrix_addition.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_matrix_subtraction.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_multiplication.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_remainder.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/f32_subtraction.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/i32_arithmetic.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/i32_comparison.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/u32_arithmetic.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/binary/u32_comparison.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/bitcast.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/ceil.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/clamp.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/cos.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/cosh.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/cross.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/degrees.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/derivatives.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/determinant.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/distance.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/dot.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/exp.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/exp2.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/faceForward.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/floor.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/fma.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/fract.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/frexp.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/fwidth.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/inverseSqrt.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/ldexp.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/length.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/log.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/log2.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/max.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/min.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/mix.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/modf.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/normalize.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/pack2x16float.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/pow.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/quantizeToF16.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/radians.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/reflect.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/refract.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/round.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/saturate.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/sign.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/sin.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/sinh.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/smoothstep.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/sqrt.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/step.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/tan.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/tanh.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/transpose.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/trunc.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/af_arithmetic.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/af_assignment.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/ai_arithmetic.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/ai_assignment.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/bool_conversion.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/f16_arithmetic.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/f16_conversion.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/f32_arithmetic.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/f32_conversion.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/i32_arithmetic.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/i32_conversion.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unary/u32_conversion.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unpack2x16float.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unpack2x16snorm.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unpack2x16unorm.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unpack4x8snorm.bin (100%) rename {src/resources => resources}/cache/webgpu/shader/execution/unpack4x8unorm.bin (100%) rename {src/resources => resources}/four-colors-h264-bt601-hflip.mp4 (100%) rename {src/resources => resources}/four-colors-h264-bt601-rotate-180.mp4 (100%) rename {src/resources => resources}/four-colors-h264-bt601-rotate-270.mp4 (100%) rename {src/resources => resources}/four-colors-h264-bt601-rotate-90.mp4 (100%) rename {src/resources => resources}/four-colors-h264-bt601-vflip.mp4 (100%) rename {src/resources => resources}/four-colors-h264-bt601.mp4 (100%) rename {src/resources => resources}/four-colors-vp8-bt601.webm (100%) rename {src/resources => resources}/four-colors-vp9-bt601-hflip.mp4 (100%) rename {src/resources => resources}/four-colors-vp9-bt601-rotate-180.mp4 (100%) rename {src/resources => resources}/four-colors-vp9-bt601-rotate-270.mp4 (100%) rename {src/resources => resources}/four-colors-vp9-bt601-rotate-90.mp4 (100%) rename {src/resources => resources}/four-colors-vp9-bt601-vflip.mp4 (100%) rename {src/resources => resources}/four-colors-vp9-bt601.mp4 (100%) rename {src/resources => resources}/four-colors-vp9-bt601.webm (100%) rename {src/resources => resources}/four-colors-vp9-bt709.webm (100%) rename {src/resources => resources}/four-colors.png (100%) rename {src/resources => resources}/webgpu.png (100%) delete mode 100644 src/common/framework/data_cache.ts delete mode 100644 src/common/framework/fixture.ts delete mode 100644 src/common/framework/metadata.ts delete mode 100644 src/common/framework/params_builder.ts delete mode 100644 src/common/framework/resources.ts delete mode 100644 src/common/framework/test_config.ts delete mode 100644 src/common/framework/test_group.ts delete mode 100644 src/common/internal/file_loader.ts delete mode 100644 src/common/internal/logging/log_message.ts delete mode 100644 src/common/internal/logging/logger.ts delete mode 100644 src/common/internal/logging/result.ts delete mode 100644 src/common/internal/logging/test_case_recorder.ts delete mode 100644 src/common/internal/params_utils.ts delete mode 100644 src/common/internal/query/compare.ts delete mode 100644 src/common/internal/query/encode_selectively.ts delete mode 100644 src/common/internal/query/json_param_value.ts delete mode 100644 src/common/internal/query/parseQuery.ts delete mode 100644 src/common/internal/query/query.ts delete mode 100644 src/common/internal/query/separators.ts delete mode 100644 src/common/internal/query/stringify_params.ts delete mode 100644 src/common/internal/query/validQueryPart.ts delete mode 100644 src/common/internal/stack.ts delete mode 100644 src/common/internal/test_group.ts delete mode 100644 src/common/internal/test_suite_listing.ts delete mode 100644 src/common/internal/tree.ts delete mode 100644 src/common/internal/util.ts delete mode 100644 src/common/internal/version.ts delete mode 100644 src/common/internal/websocket_logger.ts delete mode 100644 src/common/runtime/cmdline.ts delete mode 100644 src/common/runtime/helper/options.ts delete mode 100644 src/common/runtime/helper/sys.ts delete mode 100644 src/common/runtime/helper/test_worker-worker.ts delete mode 100644 src/common/runtime/helper/test_worker.ts delete mode 100644 src/common/runtime/helper/utils_worker.ts delete mode 100644 src/common/runtime/helper/wrap_for_worker.ts delete mode 100644 src/common/runtime/server.ts delete mode 100644 src/common/runtime/standalone.ts delete mode 100644 src/common/runtime/wpt.ts delete mode 100644 src/common/templates/cts.https.html delete mode 100644 src/common/tools/.eslintrc.json delete mode 100644 src/common/tools/checklist.ts delete mode 100644 src/common/tools/crawl.ts delete mode 100644 src/common/tools/dev_server.ts delete mode 100644 src/common/tools/gen_cache.ts delete mode 100644 src/common/tools/gen_listings.ts delete mode 100644 src/common/tools/gen_listings_and_webworkers.ts delete mode 100644 src/common/tools/gen_wpt_cts_html.ts delete mode 100644 src/common/tools/image_utils.ts delete mode 100644 src/common/tools/merge_listing_times.ts delete mode 100644 src/common/tools/run_wpt_ref_tests.ts delete mode 100644 src/common/tools/validate.ts delete mode 100644 src/common/tools/version.ts delete mode 100644 src/common/util/collect_garbage.ts delete mode 100644 src/common/util/colors.ts delete mode 100644 src/common/util/crc32.ts delete mode 100644 src/common/util/data_tables.ts delete mode 100644 src/common/util/navigator_gpu.ts delete mode 100644 src/common/util/parse_imports.ts delete mode 100644 src/common/util/preprocessor.ts delete mode 100644 src/common/util/timeout.ts delete mode 100644 src/common/util/types.ts delete mode 100644 src/common/util/util.ts delete mode 100644 src/common/util/wpt_reftest_wait.ts delete mode 100644 src/demo/README.txt delete mode 100644 src/demo/a.spec.ts delete mode 100644 src/demo/a/README.txt delete mode 100644 src/demo/a/b.spec.ts delete mode 100644 src/demo/a/b/README.txt delete mode 100644 src/demo/a/b/c.spec.ts delete mode 100644 src/demo/a/b/d.spec.ts delete mode 100644 src/demo/file_depth_2/in_single_child_dir/r.spec.ts delete mode 100644 src/demo/json.spec.ts delete mode 100644 src/demo/subcases.spec.ts delete mode 100644 src/demo/webworker/.gitignore delete mode 100644 src/external/README.md delete mode 100644 src/external/petamoriken/float16/LICENSE.txt delete mode 100644 src/external/petamoriken/float16/float16.d.ts delete mode 100644 src/manual/README.txt delete mode 100644 src/manual/webworker/.gitignore delete mode 100644 src/stress/README.txt delete mode 100644 src/stress/adapter/README.txt delete mode 100644 src/stress/adapter/device_allocation.spec.ts delete mode 100644 src/stress/compute/README.txt delete mode 100644 src/stress/compute/compute_pass.spec.ts delete mode 100644 src/stress/device/README.txt delete mode 100644 src/stress/device/bind_group_allocation.spec.ts delete mode 100644 src/stress/device/bind_group_layout_allocation.spec.ts delete mode 100644 src/stress/device/buffer_allocation.spec.ts delete mode 100644 src/stress/device/command_encoder_allocation.spec.ts delete mode 100644 src/stress/device/compute_pipeline_allocation.spec.ts delete mode 100644 src/stress/device/pipeline_layout_allocation.spec.ts delete mode 100644 src/stress/device/query_set_allocation.spec.ts delete mode 100644 src/stress/device/render_bundle_allocation.spec.ts delete mode 100644 src/stress/device/render_pipeline_allocation.spec.ts delete mode 100644 src/stress/device/sampler_allocation.spec.ts delete mode 100644 src/stress/device/shader_module_allocation.spec.ts delete mode 100644 src/stress/device/texture_allocation.spec.ts delete mode 100644 src/stress/listing.ts delete mode 100644 src/stress/memory/README.txt delete mode 100644 src/stress/memory/churn.spec.ts delete mode 100644 src/stress/memory/oom.spec.ts delete mode 100644 src/stress/queries/README.txt delete mode 100644 src/stress/queries/occlusion.spec.ts delete mode 100644 src/stress/queries/resolve.spec.ts delete mode 100644 src/stress/queries/timestamps.spec.ts delete mode 100644 src/stress/queue/README.txt delete mode 100644 src/stress/queue/submit.spec.ts delete mode 100644 src/stress/render/README.txt delete mode 100644 src/stress/render/render_pass.spec.ts delete mode 100644 src/stress/render/vertex_buffers.spec.ts delete mode 100644 src/stress/shaders/README.txt delete mode 100644 src/stress/shaders/entry_points.spec.ts delete mode 100644 src/stress/shaders/non_halting.spec.ts delete mode 100644 src/stress/shaders/slow.spec.ts delete mode 100644 src/stress/texture/README.txt delete mode 100644 src/stress/texture/large.spec.ts delete mode 100644 src/stress/webworker/.gitignore delete mode 100644 src/unittests/README.txt delete mode 100644 src/unittests/async_expectations.spec.ts delete mode 100644 src/unittests/basic.spec.ts delete mode 100644 src/unittests/check_contents.spec.ts delete mode 100644 src/unittests/conversion.spec.ts delete mode 100644 src/unittests/crc32.spec.ts delete mode 100644 src/unittests/floating_point.spec.ts delete mode 100644 src/unittests/getStackTrace.spec.ts delete mode 100644 src/unittests/listing.ts delete mode 100644 src/unittests/loaders_and_trees.spec.ts delete mode 100644 src/unittests/logger.spec.ts delete mode 100644 src/unittests/maths.spec.ts delete mode 100644 src/unittests/params_builder_and_utils.spec.ts delete mode 100644 src/unittests/params_builder_toplevel.spec.ts delete mode 100644 src/unittests/parse_imports.spec.ts delete mode 100644 src/unittests/preprocessor.spec.ts delete mode 100644 src/unittests/prng.spec.ts delete mode 100644 src/unittests/query_compare.spec.ts delete mode 100644 src/unittests/query_string.spec.ts delete mode 100644 src/unittests/serialization.spec.ts delete mode 100644 src/unittests/test_group.spec.ts delete mode 100644 src/unittests/test_group_test.ts delete mode 100644 src/unittests/test_query.spec.ts delete mode 100644 src/unittests/texture_ok.spec.ts delete mode 100644 src/unittests/unit_test.ts delete mode 100644 src/unittests/webworker/.gitignore delete mode 100644 src/webgpu/README.txt delete mode 100644 src/webgpu/api/README.txt delete mode 100644 src/webgpu/api/operation/README.txt delete mode 100644 src/webgpu/api/operation/adapter/info.spec.ts delete mode 100644 src/webgpu/api/operation/adapter/requestAdapter.spec.ts delete mode 100644 src/webgpu/api/operation/adapter/requestDevice.spec.ts delete mode 100644 src/webgpu/api/operation/async_ordering/README.txt delete mode 100644 src/webgpu/api/operation/buffers/README.txt delete mode 100644 src/webgpu/api/operation/buffers/map.spec.ts delete mode 100644 src/webgpu/api/operation/buffers/map_ArrayBuffer.spec.ts delete mode 100644 src/webgpu/api/operation/buffers/map_detach.spec.ts delete mode 100644 src/webgpu/api/operation/buffers/map_oom.spec.ts delete mode 100644 src/webgpu/api/operation/buffers/mapping_test.ts delete mode 100644 src/webgpu/api/operation/buffers/threading.spec.ts delete mode 100644 src/webgpu/api/operation/command_buffer/basic.spec.ts delete mode 100644 src/webgpu/api/operation/command_buffer/clearBuffer.spec.ts delete mode 100644 src/webgpu/api/operation/command_buffer/copyBufferToBuffer.spec.ts delete mode 100644 src/webgpu/api/operation/command_buffer/copyTextureToTexture.spec.ts delete mode 100644 src/webgpu/api/operation/command_buffer/image_copy.spec.ts delete mode 100644 src/webgpu/api/operation/command_buffer/programmable/programmable_state_test.ts delete mode 100644 src/webgpu/api/operation/command_buffer/programmable/state_tracking.spec.ts delete mode 100644 src/webgpu/api/operation/command_buffer/queries/README.txt delete mode 100644 src/webgpu/api/operation/command_buffer/queries/occlusionQuery.spec.ts delete mode 100644 src/webgpu/api/operation/command_buffer/render/dynamic_state.spec.ts delete mode 100644 src/webgpu/api/operation/command_buffer/render/state_tracking.spec.ts delete mode 100644 src/webgpu/api/operation/compute/basic.spec.ts delete mode 100644 src/webgpu/api/operation/compute_pipeline/entry_point_name.spec.ts delete mode 100644 src/webgpu/api/operation/compute_pipeline/overrides.spec.ts delete mode 100644 src/webgpu/api/operation/device/lost.spec.ts delete mode 100644 src/webgpu/api/operation/labels.spec.ts delete mode 100644 src/webgpu/api/operation/memory_allocation/README.txt delete mode 100644 src/webgpu/api/operation/memory_sync/buffer/buffer_sync_test.ts delete mode 100644 src/webgpu/api/operation/memory_sync/buffer/multiple_buffers.spec.ts delete mode 100644 src/webgpu/api/operation/memory_sync/buffer/single_buffer.spec.ts delete mode 100644 src/webgpu/api/operation/memory_sync/operation_context_helper.ts delete mode 100644 src/webgpu/api/operation/memory_sync/texture/readonly_depth_stencil.spec.ts delete mode 100644 src/webgpu/api/operation/memory_sync/texture/same_subresource.spec.ts delete mode 100644 src/webgpu/api/operation/memory_sync/texture/texture_sync_test.ts delete mode 100644 src/webgpu/api/operation/onSubmittedWorkDone.spec.ts delete mode 100644 src/webgpu/api/operation/pipeline/default_layout.spec.ts delete mode 100644 src/webgpu/api/operation/queue/writeBuffer.spec.ts delete mode 100644 src/webgpu/api/operation/reflection.spec.ts delete mode 100644 src/webgpu/api/operation/render_pass/README.txt delete mode 100644 src/webgpu/api/operation/render_pass/clear_value.spec.ts delete mode 100644 src/webgpu/api/operation/render_pass/resolve.spec.ts delete mode 100644 src/webgpu/api/operation/render_pass/storeOp.spec.ts delete mode 100644 src/webgpu/api/operation/render_pass/storeop2.spec.ts delete mode 100644 src/webgpu/api/operation/render_pipeline/culling_tests.spec.ts delete mode 100644 src/webgpu/api/operation/render_pipeline/overrides.spec.ts delete mode 100644 src/webgpu/api/operation/render_pipeline/pipeline_output_targets.spec.ts delete mode 100644 src/webgpu/api/operation/render_pipeline/primitive_topology.spec.ts delete mode 100644 src/webgpu/api/operation/render_pipeline/sample_mask.spec.ts delete mode 100644 src/webgpu/api/operation/render_pipeline/vertex_only_render_pipeline.spec.ts delete mode 100644 src/webgpu/api/operation/rendering/3d_texture_slices.spec.ts delete mode 100644 src/webgpu/api/operation/rendering/basic.spec.ts delete mode 100644 src/webgpu/api/operation/rendering/color_target_state.spec.ts delete mode 100644 src/webgpu/api/operation/rendering/depth.spec.ts delete mode 100644 src/webgpu/api/operation/rendering/depth_bias.spec.ts delete mode 100644 src/webgpu/api/operation/rendering/depth_clip_clamp.spec.ts delete mode 100644 src/webgpu/api/operation/rendering/draw.spec.ts delete mode 100644 src/webgpu/api/operation/rendering/indirect_draw.spec.ts delete mode 100644 src/webgpu/api/operation/rendering/robust_access_index.spec.ts delete mode 100644 src/webgpu/api/operation/rendering/stencil.spec.ts delete mode 100644 src/webgpu/api/operation/resource_init/buffer.spec.ts delete mode 100644 src/webgpu/api/operation/resource_init/check_texture/by_copy.ts delete mode 100644 src/webgpu/api/operation/resource_init/check_texture/by_ds_test.ts delete mode 100644 src/webgpu/api/operation/resource_init/check_texture/by_sampling.ts delete mode 100644 src/webgpu/api/operation/resource_init/check_texture/texture_zero_init_test.ts delete mode 100644 src/webgpu/api/operation/resource_init/texture_zero.spec.ts delete mode 100644 src/webgpu/api/operation/sampling/anisotropy.spec.ts delete mode 100644 src/webgpu/api/operation/sampling/filter_mode.spec.ts delete mode 100644 src/webgpu/api/operation/sampling/lod_clamp.spec.ts delete mode 100644 src/webgpu/api/operation/shader_module/compilation_info.spec.ts delete mode 100644 src/webgpu/api/operation/storage_texture/read_only.spec.ts delete mode 100644 src/webgpu/api/operation/storage_texture/read_write.spec.ts delete mode 100644 src/webgpu/api/operation/texture_view/format_reinterpretation.spec.ts delete mode 100644 src/webgpu/api/operation/texture_view/read.spec.ts delete mode 100644 src/webgpu/api/operation/texture_view/write.spec.ts delete mode 100644 src/webgpu/api/operation/threading/README.txt delete mode 100644 src/webgpu/api/operation/uncapturederror.spec.ts delete mode 100644 src/webgpu/api/operation/vertex_state/correctness.spec.ts delete mode 100644 src/webgpu/api/operation/vertex_state/index_format.spec.ts delete mode 100644 src/webgpu/api/regression/README.txt delete mode 100644 src/webgpu/api/validation/README.txt delete mode 100644 src/webgpu/api/validation/buffer/create.spec.ts delete mode 100644 src/webgpu/api/validation/buffer/destroy.spec.ts delete mode 100644 src/webgpu/api/validation/buffer/mapping.spec.ts delete mode 100644 src/webgpu/api/validation/buffer/threading.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/features/README.txt delete mode 100644 src/webgpu/api/validation/capability_checks/features/query_types.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/features/texture_formats.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/README.txt delete mode 100644 src/webgpu/api/validation/capability_checks/limits/limit_utils.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxBindGroups.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxBindGroupsPlusVertexBuffers.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxBindingsPerBindGroup.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxBufferSize.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxColorAttachmentBytesPerSample.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxColorAttachments.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxComputeInvocationsPerWorkgroup.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeX.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeY.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeZ.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupsPerDimension.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxDynamicStorageBuffersPerPipelineLayout.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxDynamicUniformBuffersPerPipelineLayout.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxInterStageShaderComponents.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxInterStageShaderVariables.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxSampledTexturesPerShaderStage.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxSamplersPerShaderStage.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxStorageBufferBindingSize.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxStorageBuffersPerShaderStage.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxStorageTexturesPerShaderStage.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxTextureArrayLayers.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxTextureDimension1D.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxTextureDimension2D.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxTextureDimension3D.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxUniformBufferBindingSize.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxUniformBuffersPerShaderStage.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxVertexAttributes.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxVertexBufferArrayStride.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/maxVertexBuffers.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/minStorageBufferOffsetAlignment.spec.ts delete mode 100644 src/webgpu/api/validation/capability_checks/limits/minUniformBufferOffsetAlignment.spec.ts delete mode 100644 src/webgpu/api/validation/compute_pipeline.spec.ts delete mode 100644 src/webgpu/api/validation/createBindGroup.spec.ts delete mode 100644 src/webgpu/api/validation/createBindGroupLayout.spec.ts delete mode 100644 src/webgpu/api/validation/createPipelineLayout.spec.ts delete mode 100644 src/webgpu/api/validation/createSampler.spec.ts delete mode 100644 src/webgpu/api/validation/createTexture.spec.ts delete mode 100644 src/webgpu/api/validation/createView.spec.ts delete mode 100644 src/webgpu/api/validation/debugMarker.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/beginComputePass.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/beginRenderPass.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/clearBuffer.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/compute_pass.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/copyBufferToBuffer.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/copyTextureToTexture.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/debug.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/index_access.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/render/draw.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/render/dynamic_state.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/render/indirect_draw.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/render/render.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/render/setIndexBuffer.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/render/setPipeline.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/render/setVertexBuffer.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/render/state_tracking.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/render_pass.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/cmds/setBindGroup.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/createRenderBundleEncoder.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/encoder_open_state.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/encoder_state.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/queries/begin_end.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/queries/common.ts delete mode 100644 src/webgpu/api/validation/encoding/queries/general.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/queries/resolveQuerySet.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/render_bundle.spec.ts delete mode 100644 src/webgpu/api/validation/error_scope.spec.ts delete mode 100644 src/webgpu/api/validation/getBindGroupLayout.spec.ts delete mode 100644 src/webgpu/api/validation/gpu_external_texture_expiration.spec.ts delete mode 100644 src/webgpu/api/validation/image_copy/README.txt delete mode 100644 src/webgpu/api/validation/image_copy/buffer_related.spec.ts delete mode 100644 src/webgpu/api/validation/image_copy/buffer_texture_copies.spec.ts delete mode 100644 src/webgpu/api/validation/image_copy/image_copy.ts delete mode 100644 src/webgpu/api/validation/image_copy/layout_related.spec.ts delete mode 100644 src/webgpu/api/validation/image_copy/texture_related.spec.ts delete mode 100644 src/webgpu/api/validation/layout_shader_compat.spec.ts delete mode 100644 src/webgpu/api/validation/query_set/create.spec.ts delete mode 100644 src/webgpu/api/validation/query_set/destroy.spec.ts delete mode 100644 src/webgpu/api/validation/queue/README.txt delete mode 100644 src/webgpu/api/validation/queue/buffer_mapped.spec.ts delete mode 100644 src/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.ts delete mode 100644 src/webgpu/api/validation/queue/destroyed/buffer.spec.ts delete mode 100644 src/webgpu/api/validation/queue/destroyed/query_set.spec.ts delete mode 100644 src/webgpu/api/validation/queue/destroyed/texture.spec.ts delete mode 100644 src/webgpu/api/validation/queue/submit.spec.ts delete mode 100644 src/webgpu/api/validation/queue/writeBuffer.spec.ts delete mode 100644 src/webgpu/api/validation/queue/writeTexture.spec.ts delete mode 100644 src/webgpu/api/validation/render_pass/README.txt delete mode 100644 src/webgpu/api/validation/render_pass/attachment_compatibility.spec.ts delete mode 100644 src/webgpu/api/validation/render_pass/render_pass_descriptor.spec.ts delete mode 100644 src/webgpu/api/validation/render_pass/resolve.spec.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/common.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/depth_stencil_state.spec.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/fragment_state.spec.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/inter_stage.spec.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/misc.spec.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/multisample_state.spec.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/overrides.spec.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/primitive_state.spec.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/resource_compatibility.spec.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/shader_module.spec.ts delete mode 100644 src/webgpu/api/validation/render_pipeline/vertex_state.spec.ts delete mode 100644 src/webgpu/api/validation/resource_usages/buffer/README.txt delete mode 100644 src/webgpu/api/validation/resource_usages/buffer/in_pass_encoder.spec.ts delete mode 100644 src/webgpu/api/validation/resource_usages/buffer/in_pass_misc.spec.ts delete mode 100644 src/webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.ts delete mode 100644 src/webgpu/api/validation/resource_usages/texture/in_render_common.spec.ts delete mode 100644 src/webgpu/api/validation/resource_usages/texture/in_render_misc.spec.ts delete mode 100644 src/webgpu/api/validation/shader_module/entry_point.spec.ts delete mode 100644 src/webgpu/api/validation/shader_module/overrides.spec.ts delete mode 100644 src/webgpu/api/validation/state/device_lost/README.txt delete mode 100644 src/webgpu/api/validation/state/device_lost/destroy.spec.ts delete mode 100644 src/webgpu/api/validation/texture/bgra8unorm_storage.spec.ts delete mode 100644 src/webgpu/api/validation/texture/destroy.spec.ts delete mode 100644 src/webgpu/api/validation/texture/float32_filterable.spec.ts delete mode 100644 src/webgpu/api/validation/texture/rg11b10ufloat_renderable.spec.ts delete mode 100644 src/webgpu/api/validation/utils.ts delete mode 100644 src/webgpu/api/validation/validation_test.ts delete mode 100644 src/webgpu/capability_info.ts delete mode 100644 src/webgpu/compat/README.md delete mode 100644 src/webgpu/compat/api/validation/createBindGroup.spec.ts delete mode 100644 src/webgpu/compat/api/validation/createBindGroupLayout.spec.ts delete mode 100644 src/webgpu/compat/api/validation/encoding/cmds/copyTextureToBuffer.spec.ts delete mode 100644 src/webgpu/compat/api/validation/encoding/cmds/copyTextureToTexture.spec.ts delete mode 100644 src/webgpu/compat/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.ts delete mode 100644 src/webgpu/compat/api/validation/render_pipeline/depth_stencil_state.spec.ts delete mode 100644 src/webgpu/compat/api/validation/render_pipeline/fragment_state.spec.ts delete mode 100644 src/webgpu/compat/api/validation/render_pipeline/unsupported_wgsl.spec.ts delete mode 100644 src/webgpu/compat/api/validation/render_pipeline/vertex_state.spec.ts delete mode 100644 src/webgpu/compat/api/validation/texture/createTexture.spec.ts delete mode 100644 src/webgpu/compat/api/validation/texture/cubeArray.spec.ts delete mode 100644 src/webgpu/compat/compatibility_test.ts delete mode 100644 src/webgpu/constants.ts delete mode 100644 src/webgpu/error_test.ts delete mode 100644 src/webgpu/examples.spec.ts delete mode 100644 src/webgpu/format_info.ts delete mode 100644 src/webgpu/gpu_test.ts delete mode 100644 src/webgpu/idl/README.txt delete mode 100644 src/webgpu/idl/constants/flags.spec.ts delete mode 100644 src/webgpu/idl/constructable.spec.ts delete mode 100644 src/webgpu/idl/exposed.html.ts delete mode 100644 src/webgpu/idl/idl_test.ts delete mode 100644 src/webgpu/inter_stage.ts delete mode 100644 src/webgpu/listing.ts delete mode 100644 src/webgpu/listing_meta.json delete mode 100644 src/webgpu/multisample_info.ts delete mode 100644 src/webgpu/print_environment.spec.ts delete mode 100644 src/webgpu/shader/README.txt delete mode 100644 src/webgpu/shader/execution/README.txt delete mode 100644 src/webgpu/shader/execution/expression/access/array/index.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/access/matrix/index.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/access/structure/index.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/access/vector/components.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/access/vector/index.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_addition.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_addition.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_comparison.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_comparison.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_data.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_division.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_division.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_matrix_addition.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_matrix_addition.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_matrix_matrix_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_matrix_matrix_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_matrix_scalar_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_matrix_scalar_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_matrix_subtraction.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_matrix_subtraction.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_matrix_vector_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_matrix_vector_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_remainder.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_remainder.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_subtraction.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/af_subtraction.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/ai_arithmetic.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/ai_arithmetic.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/ai_comparison.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/binary.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/bitwise.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/bitwise_shift.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/bool_logical.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_addition.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_addition.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_comparison.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_comparison.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_division.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_division.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_matrix_addition.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_matrix_addition.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_matrix_matrix_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_matrix_matrix_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_matrix_scalar_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_matrix_scalar_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_matrix_subtraction.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_matrix_subtraction.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_matrix_vector_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_matrix_vector_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_remainder.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_remainder.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_subtraction.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f16_subtraction.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_addition.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_addition.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_comparison.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_comparison.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_division.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_division.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_matrix_addition.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_matrix_addition.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_matrix_matrix_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_matrix_matrix_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_matrix_scalar_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_matrix_scalar_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_matrix_subtraction.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_matrix_subtraction.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_matrix_vector_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_matrix_vector_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_multiplication.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_multiplication.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_remainder.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_remainder.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_subtraction.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/f32_subtraction.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/i32_arithmetic.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/i32_arithmetic.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/i32_comparison.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/i32_comparison.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/u32_arithmetic.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/u32_arithmetic.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/u32_comparison.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/binary/u32_comparison.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/abs.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/abs.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/acos.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/acos.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/acosh.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/acosh.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/all.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/any.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/arrayLength.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/asin.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/asin.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/asinh.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/asinh.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atan.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atan.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atan2.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atan2.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atanh.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atanh.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicAdd.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicAnd.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicCompareExchangeWeak.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicExchange.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicLoad.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicMax.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicMin.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicOr.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicStore.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicSub.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/atomicXor.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/atomics/harness.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/bitcast.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/bitcast.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/builtin.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/ceil.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/ceil.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/clamp.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/clamp.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/cos.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/cos.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/cosh.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/cosh.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/countLeadingZeros.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/countOneBits.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/countTrailingZeros.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/cross.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/cross.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/degrees.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/degrees.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/derivatives.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/derivatives.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/determinant.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/determinant.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/distance.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/distance.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/dot.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/dot.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/dot4I8Packed.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/dot4U8Packed.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/dpdx.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/dpdxCoarse.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/dpdxFine.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/dpdy.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/dpdyCoarse.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/dpdyFine.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/exp.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/exp.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/exp2.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/exp2.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/extractBits.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/faceForward.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/faceForward.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/firstLeadingBit.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/firstTrailingBit.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/floor.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/floor.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/fma.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/fma.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/fract.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/fract.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/frexp.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/frexp.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/fwidth.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/fwidth.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/fwidth.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/fwidthCoarse.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/fwidthFine.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/insertBits.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/inversesqrt.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/inversesqrt.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/ldexp.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/ldexp.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/length.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/length.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/log.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/log.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/log2.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/log2.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/max.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/max.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/min.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/min.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/mix.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/mix.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/modf.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/modf.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/normalize.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/normalize.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pack2x16float.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pack2x16float.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pack2x16snorm.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pack2x16unorm.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pack4x8snorm.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pack4x8unorm.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pack4xI8.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pack4xI8Clamp.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pack4xU8.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pack4xU8Clamp.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pow.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/pow.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/quantizeToF16.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/quantizeToF16.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/radians.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/radians.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/reflect.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/reflect.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/refract.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/refract.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/reverseBits.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/round.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/round.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/saturate.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/saturate.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/select.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/sign.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/sign.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/sin.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/sin.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/sinh.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/sinh.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/smoothstep.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/smoothstep.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/sqrt.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/sqrt.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/step.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/step.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/storageBarrier.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/subgroupAdd.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/subgroupAll.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/subgroupAny.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/subgroupBallot.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/subgroupBroadcast.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/subgroupMul.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/subgroup_util.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/tan.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/tan.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/tanh.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/tanh.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureDimensions.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureGather.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureLoad.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureNumLayers.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureNumLevels.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureNumSamples.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureSample.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureSampleBaseClampToEdge.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureSampleBias.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureSampleCompare.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureSampleGrad.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureSampleLevel.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/textureStore.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/texture_utils.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/transpose.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/transpose.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/trunc.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/trunc.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack2x16float.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack2x16float.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack2x16snorm.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack2x16snorm.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack2x16unorm.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack2x16unorm.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack4xI8.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/unpack4xU8.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/utils.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/builtin/workgroupUniformLoad.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/call/user/ptr_params.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/case.ts delete mode 100644 src/webgpu/shader/execution/expression/case_cache.ts delete mode 100644 src/webgpu/shader/execution/expression/constructor/non_zero.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/constructor/zero_value.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/expectation.ts delete mode 100644 src/webgpu/shader/execution/expression/expression.ts delete mode 100644 src/webgpu/shader/execution/expression/interval_filter.ts delete mode 100644 src/webgpu/shader/execution/expression/precedence.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/address_of_and_indirection.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/af_arithmetic.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/af_arithmetic.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/af_assignment.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/af_assignment.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/ai_arithmetic.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/ai_arithmetic.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/ai_assignment.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/ai_assignment.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/ai_complement.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/bool_conversion.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/bool_conversion.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/bool_logical.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/f16_arithmetic.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/f16_arithmetic.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/f16_conversion.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/f16_conversion.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/f32_arithmetic.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/f32_arithmetic.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/f32_conversion.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/f32_conversion.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/i32_arithmetic.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/i32_arithmetic.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/i32_complement.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/i32_conversion.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/i32_conversion.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/u32_complement.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/u32_conversion.cache.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/u32_conversion.spec.ts delete mode 100644 src/webgpu/shader/execution/expression/unary/unary.ts delete mode 100644 src/webgpu/shader/execution/float_parse.spec.ts delete mode 100644 src/webgpu/shader/execution/flow_control/call.spec.ts delete mode 100644 src/webgpu/shader/execution/flow_control/complex.spec.ts delete mode 100644 src/webgpu/shader/execution/flow_control/eval_order.spec.ts delete mode 100644 src/webgpu/shader/execution/flow_control/for.spec.ts delete mode 100644 src/webgpu/shader/execution/flow_control/harness.ts delete mode 100644 src/webgpu/shader/execution/flow_control/if.spec.ts delete mode 100644 src/webgpu/shader/execution/flow_control/loop.spec.ts delete mode 100644 src/webgpu/shader/execution/flow_control/phony.spec.ts delete mode 100644 src/webgpu/shader/execution/flow_control/return.spec.ts delete mode 100644 src/webgpu/shader/execution/flow_control/switch.spec.ts delete mode 100644 src/webgpu/shader/execution/flow_control/while.spec.ts delete mode 100644 src/webgpu/shader/execution/limits.spec.ts delete mode 100644 src/webgpu/shader/execution/memory_layout.spec.ts delete mode 100644 src/webgpu/shader/execution/memory_model/adjacent.spec.ts delete mode 100644 src/webgpu/shader/execution/memory_model/atomicity.spec.ts delete mode 100644 src/webgpu/shader/execution/memory_model/barrier.spec.ts delete mode 100644 src/webgpu/shader/execution/memory_model/coherence.spec.ts delete mode 100644 src/webgpu/shader/execution/memory_model/memory_model_setup.ts delete mode 100644 src/webgpu/shader/execution/memory_model/texture_intra_invocation_coherence.spec.ts delete mode 100644 src/webgpu/shader/execution/memory_model/weak.spec.ts delete mode 100644 src/webgpu/shader/execution/padding.spec.ts delete mode 100644 src/webgpu/shader/execution/robust_access.spec.ts delete mode 100644 src/webgpu/shader/execution/robust_access_vertex.spec.ts delete mode 100644 src/webgpu/shader/execution/shader_io/compute_builtins.spec.ts delete mode 100644 src/webgpu/shader/execution/shader_io/fragment_builtins.spec.ts delete mode 100644 src/webgpu/shader/execution/shader_io/shared_structs.spec.ts delete mode 100644 src/webgpu/shader/execution/shader_io/user_io.spec.ts delete mode 100644 src/webgpu/shader/execution/shader_io/workgroup_size.spec.ts delete mode 100644 src/webgpu/shader/execution/shadow.spec.ts delete mode 100644 src/webgpu/shader/execution/stage.spec.ts delete mode 100644 src/webgpu/shader/execution/statement/compound.spec.ts delete mode 100644 src/webgpu/shader/execution/statement/discard.spec.ts delete mode 100644 src/webgpu/shader/execution/statement/increment_decrement.spec.ts delete mode 100644 src/webgpu/shader/execution/statement/phony.spec.ts delete mode 100644 src/webgpu/shader/execution/value_init.spec.ts delete mode 100644 src/webgpu/shader/execution/zero_init.spec.ts delete mode 100644 src/webgpu/shader/regression/README.txt delete mode 100644 src/webgpu/shader/types.ts delete mode 100644 src/webgpu/shader/validation/README.txt delete mode 100644 src/webgpu/shader/validation/const_assert/const_assert.spec.ts delete mode 100644 src/webgpu/shader/validation/decl/compound_statement.spec.ts delete mode 100644 src/webgpu/shader/validation/decl/const.spec.ts delete mode 100644 src/webgpu/shader/validation/decl/context_dependent_resolution.spec.ts delete mode 100644 src/webgpu/shader/validation/decl/let.spec.ts delete mode 100644 src/webgpu/shader/validation/decl/override.spec.ts delete mode 100644 src/webgpu/shader/validation/decl/util.ts delete mode 100644 src/webgpu/shader/validation/decl/var.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/access/array.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/access/matrix.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/access/structure.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/access/vector.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/binary/add_sub_mul.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/binary/and_or_xor.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/binary/bitwise_shift.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/binary/comparison.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/binary/div_rem.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/binary/parse.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/binary/result_type.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/abs.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/acos.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/acosh.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/all.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/any.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/arrayLength.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/asin.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/asinh.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/atan.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/atan2.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/atanh.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/atomics.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/barriers.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/bitcast.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/ceil.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/clamp.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/const_override_validation.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/cos.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/cosh.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/countLeadingZeros.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/countOneBits.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/countTrailingZeros.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/cross.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/degrees.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/derivatives.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/determinant.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/distance.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/dot.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/dot4I8Packed.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/dot4U8Packed.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/exp.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/exp2.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/extractBits.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/faceForward.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/firstLeadingBit.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/firstTrailingBit.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/floor.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/fma.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/fract.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/frexp.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/insertBits.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/inverseSqrt.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/ldexp.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/length.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/log.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/log2.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/max.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/min.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/mix.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/modf.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/normalize.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/pack2x16float.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/pack2x16snorm.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/pack2x16unorm.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/pack4x8snorm.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/pack4x8unorm.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/pack4xI8.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/pack4xI8Clamp.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/pack4xU8.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/pack4xU8Clamp.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/pow.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/quadBroadcast.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/quadSwap.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/quantizeToF16.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/radians.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/reflect.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/refract.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/reverseBits.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/round.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/saturate.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/select.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/shader_builtin_utils.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/sign.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/sin.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/sinh.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/smoothstep.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/sqrt.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/step.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/subgroupAdd.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/subgroupAnyAll.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/subgroupBallot.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/subgroupBitwise.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/subgroupBroadcast.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/subgroupBroadcastFirst.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/subgroupElect.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/subgroupMinMax.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/subgroupMul.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/subgroupShuffle.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/tan.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/tanh.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureDimensions.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureGather.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureGatherCompare.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureLoad.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureNumLayers.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureNumLevels.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureNumSamples.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureSample.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureSampleBaseClampToEdge.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureSampleBias.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureSampleCompare.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureSampleCompareLevel.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureSampleGrad.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureSampleLevel.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/textureStore.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/transpose.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/trunc.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/unpack2x16float.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/unpack2x16snorm.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/unpack2x16unorm.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/unpack4x8snorm.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/unpack4x8unorm.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/unpack4xI8.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/unpack4xU8.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/value_constructor.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/call/builtin/workgroupUniformLoad.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/early_evaluation.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/matrix/add_sub.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/matrix/and_or_xor.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/matrix/bitwise_shift.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/matrix/comparison.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/matrix/div_rem.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/matrix/mul.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/overload_resolution.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/precedence.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/unary/address_of_and_indirection.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/unary/arithmetic_negation.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/unary/bitwise_complement.spec.ts delete mode 100644 src/webgpu/shader/validation/expression/unary/logical_negation.spec.ts delete mode 100644 src/webgpu/shader/validation/extension/dual_source_blending.spec.ts delete mode 100644 src/webgpu/shader/validation/extension/pointer_composite_access.spec.ts delete mode 100644 src/webgpu/shader/validation/extension/readonly_and_readwrite_storage_textures.spec.ts delete mode 100644 src/webgpu/shader/validation/functions/alias_analysis.spec.ts delete mode 100644 src/webgpu/shader/validation/functions/restrictions.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/attribute.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/blankspace.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/comments.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/diagnostic.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/enable.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/identifiers.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/literal.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/must_use.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/requires.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/semicolon.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/shadow_builtins.spec.ts delete mode 100644 src/webgpu/shader/validation/parse/source.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/align.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/binding.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/builtins.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/entry_point.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/group.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/group_and_binding.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/id.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/interpolate.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/invariant.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/layout_constraints.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/locations.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/pipeline_stage.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/size.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_io/util.ts delete mode 100644 src/webgpu/shader/validation/shader_io/workgroup_size.spec.ts delete mode 100644 src/webgpu/shader/validation/shader_validation_test.ts delete mode 100644 src/webgpu/shader/validation/statement/break.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/break_if.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/compound.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/const_assert.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/continue.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/continuing.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/discard.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/for.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/if.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/increment_decrement.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/loop.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/phony.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/return.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/statement_behavior.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/switch.spec.ts delete mode 100644 src/webgpu/shader/validation/statement/test_types.ts delete mode 100644 src/webgpu/shader/validation/statement/while.spec.ts delete mode 100644 src/webgpu/shader/validation/types/alias.spec.ts delete mode 100644 src/webgpu/shader/validation/types/array.spec.ts delete mode 100644 src/webgpu/shader/validation/types/atomics.spec.ts delete mode 100644 src/webgpu/shader/validation/types/enumerant.spec.ts delete mode 100644 src/webgpu/shader/validation/types/matrix.spec.ts delete mode 100644 src/webgpu/shader/validation/types/pointer.spec.ts delete mode 100644 src/webgpu/shader/validation/types/ref.spec.ts delete mode 100644 src/webgpu/shader/validation/types/struct.spec.ts delete mode 100644 src/webgpu/shader/validation/types/textures.spec.ts delete mode 100644 src/webgpu/shader/validation/types/vector.spec.ts delete mode 100644 src/webgpu/shader/validation/uniformity/uniformity.spec.ts delete mode 100644 src/webgpu/shader/values.ts delete mode 100644 src/webgpu/util/binary_stream.ts delete mode 100644 src/webgpu/util/check_contents.ts delete mode 100644 src/webgpu/util/color_space_conversion.ts delete mode 100644 src/webgpu/util/command_buffer_maker.ts delete mode 100644 src/webgpu/util/compare.ts delete mode 100644 src/webgpu/util/constants.ts delete mode 100644 src/webgpu/util/conversion.ts delete mode 100644 src/webgpu/util/copy_to_texture.ts delete mode 100644 src/webgpu/util/create_elements.ts delete mode 100644 src/webgpu/util/device_pool.ts delete mode 100644 src/webgpu/util/floating_point.ts delete mode 100644 src/webgpu/util/math.ts delete mode 100644 src/webgpu/util/memory.ts delete mode 100644 src/webgpu/util/pretty_diff_tables.ts delete mode 100644 src/webgpu/util/prng.ts delete mode 100644 src/webgpu/util/reinterpret.ts delete mode 100644 src/webgpu/util/shader.ts delete mode 100644 src/webgpu/util/texture.ts delete mode 100644 src/webgpu/util/texture/base.ts delete mode 100644 src/webgpu/util/texture/color_space_conversions.spec.ts delete mode 100644 src/webgpu/util/texture/data_generation.ts delete mode 100644 src/webgpu/util/texture/layout.ts delete mode 100644 src/webgpu/util/texture/subresource.ts delete mode 100644 src/webgpu/util/texture/texel_data.spec.ts delete mode 100644 src/webgpu/util/texture/texel_data.ts delete mode 100644 src/webgpu/util/texture/texel_view.ts delete mode 100644 src/webgpu/util/texture/texture_ok.spec.ts delete mode 100644 src/webgpu/util/texture/texture_ok.ts delete mode 100644 src/webgpu/util/unions.ts delete mode 100644 src/webgpu/web_platform/README.txt delete mode 100644 src/webgpu/web_platform/canvas/README.txt delete mode 100644 src/webgpu/web_platform/canvas/configure.spec.ts delete mode 100644 src/webgpu/web_platform/canvas/context_creation.spec.ts delete mode 100644 src/webgpu/web_platform/canvas/getCurrentTexture.spec.ts delete mode 100644 src/webgpu/web_platform/canvas/getPreferredCanvasFormat.spec.ts delete mode 100644 src/webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.ts delete mode 100644 src/webgpu/web_platform/copyToTexture/ImageBitmap.spec.ts delete mode 100644 src/webgpu/web_platform/copyToTexture/ImageData.spec.ts delete mode 100644 src/webgpu/web_platform/copyToTexture/README.txt delete mode 100644 src/webgpu/web_platform/copyToTexture/canvas.spec.ts delete mode 100644 src/webgpu/web_platform/copyToTexture/image.spec.ts delete mode 100644 src/webgpu/web_platform/copyToTexture/util.ts delete mode 100644 src/webgpu/web_platform/copyToTexture/video.spec.ts delete mode 100644 src/webgpu/web_platform/external_texture/README.txt delete mode 100644 src/webgpu/web_platform/external_texture/video.spec.ts delete mode 100644 src/webgpu/web_platform/reftests/.eslintrc.json delete mode 100644 src/webgpu/web_platform/reftests/README.txt delete mode 100644 src/webgpu/web_platform/reftests/canvas_clear.html.ts delete mode 100644 src/webgpu/web_platform/reftests/canvas_colorspace.html.ts delete mode 100644 src/webgpu/web_platform/reftests/canvas_complex.html.ts delete mode 100644 src/webgpu/web_platform/reftests/canvas_composite_alpha.html.ts delete mode 100644 src/webgpu/web_platform/reftests/canvas_display_after_device_lost.html.ts delete mode 100644 src/webgpu/web_platform/reftests/canvas_image_rendering.html.ts delete mode 100644 src/webgpu/web_platform/reftests/create-pattern-data-url.ts delete mode 100644 src/webgpu/web_platform/reftests/delay_get_texture.html.ts delete mode 100644 src/webgpu/web_platform/reftests/gpu_ref_test.ts delete mode 100644 src/webgpu/web_platform/reftests/ref/canvas_colorspace-ref.html.ts delete mode 100644 src/webgpu/web_platform/reftests/resize_observer.html.ts delete mode 100644 src/webgpu/web_platform/util.ts delete mode 100644 src/webgpu/web_platform/worker/worker.spec.ts delete mode 100644 src/webgpu/web_platform/worker/worker.ts delete mode 100644 src/webgpu/web_platform/worker/worker_launcher.ts delete mode 100644 src/webgpu/webworker/.gitignore delete mode 100644 standalone/index.html delete mode 100644 standalone/third_party/jquery/LICENSE.txt delete mode 100644 standalone/third_party/jquery/jquery-3.3.1.min.js delete mode 100644 standalone/third_party/normalize.min.css delete mode 100644 standalone/webgpu-logo-notext.svg create mode 100644 stress/adapter/device_allocation.spec.js create mode 100644 stress/adapter/device_allocation.spec.js.map create mode 100644 stress/compute/compute_pass.spec.js create mode 100644 stress/compute/compute_pass.spec.js.map create mode 100644 stress/device/bind_group_allocation.spec.js create mode 100644 stress/device/bind_group_allocation.spec.js.map create mode 100644 stress/device/bind_group_layout_allocation.spec.js create mode 100644 stress/device/bind_group_layout_allocation.spec.js.map create mode 100644 stress/device/buffer_allocation.spec.js create mode 100644 stress/device/buffer_allocation.spec.js.map create mode 100644 stress/device/command_encoder_allocation.spec.js create mode 100644 stress/device/command_encoder_allocation.spec.js.map create mode 100644 stress/device/compute_pipeline_allocation.spec.js create mode 100644 stress/device/compute_pipeline_allocation.spec.js.map create mode 100644 stress/device/pipeline_layout_allocation.spec.js create mode 100644 stress/device/pipeline_layout_allocation.spec.js.map create mode 100644 stress/device/query_set_allocation.spec.js create mode 100644 stress/device/query_set_allocation.spec.js.map create mode 100644 stress/device/render_bundle_allocation.spec.js create mode 100644 stress/device/render_bundle_allocation.spec.js.map create mode 100644 stress/device/render_pipeline_allocation.spec.js create mode 100644 stress/device/render_pipeline_allocation.spec.js.map create mode 100644 stress/device/sampler_allocation.spec.js create mode 100644 stress/device/sampler_allocation.spec.js.map create mode 100644 stress/device/shader_module_allocation.spec.js create mode 100644 stress/device/shader_module_allocation.spec.js.map create mode 100644 stress/device/texture_allocation.spec.js create mode 100644 stress/device/texture_allocation.spec.js.map create mode 100644 stress/listing.js create mode 100644 stress/memory/churn.spec.js create mode 100644 stress/memory/churn.spec.js.map create mode 100644 stress/memory/oom.spec.js create mode 100644 stress/memory/oom.spec.js.map create mode 100644 stress/queries/occlusion.spec.js create mode 100644 stress/queries/occlusion.spec.js.map create mode 100644 stress/queries/resolve.spec.js create mode 100644 stress/queries/resolve.spec.js.map create mode 100644 stress/queries/timestamps.spec.js create mode 100644 stress/queries/timestamps.spec.js.map create mode 100644 stress/queue/submit.spec.js create mode 100644 stress/queue/submit.spec.js.map create mode 100644 stress/render/render_pass.spec.js create mode 100644 stress/render/render_pass.spec.js.map create mode 100644 stress/render/vertex_buffers.spec.js create mode 100644 stress/render/vertex_buffers.spec.js.map create mode 100644 stress/shaders/entry_points.spec.js create mode 100644 stress/shaders/entry_points.spec.js.map create mode 100644 stress/shaders/non_halting.spec.js create mode 100644 stress/shaders/non_halting.spec.js.map create mode 100644 stress/shaders/slow.spec.js create mode 100644 stress/shaders/slow.spec.js.map create mode 100644 stress/texture/large.spec.js create mode 100644 stress/texture/large.spec.js.map create mode 100644 stress/webworker/adapter/device_allocation.as_worker.js create mode 100644 stress/webworker/compute/compute_pass.as_worker.js create mode 100644 stress/webworker/device/bind_group_allocation.as_worker.js create mode 100644 stress/webworker/device/bind_group_layout_allocation.as_worker.js create mode 100644 stress/webworker/device/buffer_allocation.as_worker.js create mode 100644 stress/webworker/device/command_encoder_allocation.as_worker.js create mode 100644 stress/webworker/device/compute_pipeline_allocation.as_worker.js create mode 100644 stress/webworker/device/pipeline_layout_allocation.as_worker.js create mode 100644 stress/webworker/device/query_set_allocation.as_worker.js create mode 100644 stress/webworker/device/render_bundle_allocation.as_worker.js create mode 100644 stress/webworker/device/render_pipeline_allocation.as_worker.js create mode 100644 stress/webworker/device/sampler_allocation.as_worker.js create mode 100644 stress/webworker/device/shader_module_allocation.as_worker.js create mode 100644 stress/webworker/device/texture_allocation.as_worker.js create mode 100644 stress/webworker/memory/churn.as_worker.js create mode 100644 stress/webworker/memory/oom.as_worker.js create mode 100644 stress/webworker/queries/occlusion.as_worker.js create mode 100644 stress/webworker/queries/resolve.as_worker.js create mode 100644 stress/webworker/queries/timestamps.as_worker.js create mode 100644 stress/webworker/queue/submit.as_worker.js create mode 100644 stress/webworker/render/render_pass.as_worker.js create mode 100644 stress/webworker/render/vertex_buffers.as_worker.js create mode 100644 stress/webworker/shaders/entry_points.as_worker.js create mode 100644 stress/webworker/shaders/non_halting.as_worker.js create mode 100644 stress/webworker/shaders/slow.as_worker.js create mode 100644 stress/webworker/texture/large.as_worker.js delete mode 100644 tools/af_data_gen/main.cpp delete mode 100755 tools/checklist delete mode 100755 tools/dev_server delete mode 100644 tools/eslint-plugin-gpuweb-cts/index.js delete mode 100644 tools/eslint-plugin-gpuweb-cts/package.json delete mode 100644 tools/eslint-plugin-gpuweb-cts/tabs-anywhere.js delete mode 100644 tools/eslint-plugin-gpuweb-cts/trailing-space-anywhere.js delete mode 100755 tools/gen_cache delete mode 100755 tools/gen_listings_and_webworkers delete mode 100755 tools/gen_version delete mode 100644 tools/gen_wpt_cfg_chunked2sec.json delete mode 100644 tools/gen_wpt_cfg_unchunked.json delete mode 100755 tools/gen_wpt_cts_html delete mode 100755 tools/merge_listing_times delete mode 100755 tools/run_deno delete mode 100755 tools/run_node delete mode 100644 tools/run_wpt_ref_tests delete mode 100755 tools/server delete mode 100755 tools/validate delete mode 100644 tools/websocket-logger/.eslintrc.json delete mode 100644 tools/websocket-logger/.gitignore delete mode 100644 tools/websocket-logger/README.md delete mode 100644 tools/websocket-logger/main.js delete mode 100644 tools/websocket-logger/package-lock.json delete mode 100644 tools/websocket-logger/package.json delete mode 100644 tsconfig.json create mode 100644 unittests/async_expectations.spec.js create mode 100644 unittests/async_expectations.spec.js.map create mode 100644 unittests/basic.spec.js create mode 100644 unittests/basic.spec.js.map create mode 100644 unittests/check_contents.spec.js create mode 100644 unittests/check_contents.spec.js.map create mode 100644 unittests/conversion.spec.js create mode 100644 unittests/conversion.spec.js.map create mode 100644 unittests/crc32.spec.js create mode 100644 unittests/crc32.spec.js.map create mode 100644 unittests/floating_point.spec.js create mode 100644 unittests/floating_point.spec.js.map create mode 100644 unittests/getStackTrace.spec.js create mode 100644 unittests/getStackTrace.spec.js.map create mode 100644 unittests/listing.js create mode 100644 unittests/loaders_and_trees.spec.js create mode 100644 unittests/loaders_and_trees.spec.js.map create mode 100644 unittests/logger.spec.js create mode 100644 unittests/logger.spec.js.map create mode 100644 unittests/maths.spec.js create mode 100644 unittests/maths.spec.js.map create mode 100644 unittests/params_builder_and_utils.spec.js create mode 100644 unittests/params_builder_and_utils.spec.js.map create mode 100644 unittests/params_builder_toplevel.spec.js create mode 100644 unittests/params_builder_toplevel.spec.js.map create mode 100644 unittests/parse_imports.spec.js create mode 100644 unittests/parse_imports.spec.js.map create mode 100644 unittests/preprocessor.spec.js create mode 100644 unittests/preprocessor.spec.js.map create mode 100644 unittests/prng.spec.js create mode 100644 unittests/prng.spec.js.map create mode 100644 unittests/query_compare.spec.js create mode 100644 unittests/query_compare.spec.js.map create mode 100644 unittests/query_string.spec.js create mode 100644 unittests/query_string.spec.js.map create mode 100644 unittests/serialization.spec.js create mode 100644 unittests/serialization.spec.js.map create mode 100644 unittests/test_group.spec.js create mode 100644 unittests/test_group.spec.js.map create mode 100644 unittests/test_group_test.js create mode 100644 unittests/test_group_test.js.map create mode 100644 unittests/test_query.spec.js create mode 100644 unittests/test_query.spec.js.map create mode 100644 unittests/texture_ok.spec.js create mode 100644 unittests/texture_ok.spec.js.map create mode 100644 unittests/unit_test.js create mode 100644 unittests/unit_test.js.map create mode 100644 unittests/webworker/async_expectations.as_worker.js create mode 100644 unittests/webworker/basic.as_worker.js create mode 100644 unittests/webworker/check_contents.as_worker.js create mode 100644 unittests/webworker/conversion.as_worker.js create mode 100644 unittests/webworker/crc32.as_worker.js create mode 100644 unittests/webworker/floating_point.as_worker.js create mode 100644 unittests/webworker/getStackTrace.as_worker.js create mode 100644 unittests/webworker/loaders_and_trees.as_worker.js create mode 100644 unittests/webworker/logger.as_worker.js create mode 100644 unittests/webworker/maths.as_worker.js create mode 100644 unittests/webworker/params_builder_and_utils.as_worker.js create mode 100644 unittests/webworker/params_builder_toplevel.as_worker.js create mode 100644 unittests/webworker/parse_imports.as_worker.js create mode 100644 unittests/webworker/preprocessor.as_worker.js create mode 100644 unittests/webworker/prng.as_worker.js create mode 100644 unittests/webworker/query_compare.as_worker.js create mode 100644 unittests/webworker/query_string.as_worker.js create mode 100644 unittests/webworker/serialization.as_worker.js create mode 100644 unittests/webworker/test_group.as_worker.js create mode 100644 unittests/webworker/test_query.as_worker.js create mode 100644 unittests/webworker/texture_ok.as_worker.js delete mode 100644 w3c.json create mode 100644 webgpu/api/operation/adapter/info.spec.js create mode 100644 webgpu/api/operation/adapter/info.spec.js.map create mode 100644 webgpu/api/operation/adapter/requestAdapter.spec.js create mode 100644 webgpu/api/operation/adapter/requestAdapter.spec.js.map create mode 100644 webgpu/api/operation/adapter/requestDevice.spec.js create mode 100644 webgpu/api/operation/adapter/requestDevice.spec.js.map create mode 100644 webgpu/api/operation/buffers/map.spec.js create mode 100644 webgpu/api/operation/buffers/map.spec.js.map create mode 100644 webgpu/api/operation/buffers/map_ArrayBuffer.spec.js create mode 100644 webgpu/api/operation/buffers/map_ArrayBuffer.spec.js.map create mode 100644 webgpu/api/operation/buffers/map_detach.spec.js create mode 100644 webgpu/api/operation/buffers/map_detach.spec.js.map create mode 100644 webgpu/api/operation/buffers/map_oom.spec.js create mode 100644 webgpu/api/operation/buffers/map_oom.spec.js.map create mode 100644 webgpu/api/operation/buffers/mapping_test.js create mode 100644 webgpu/api/operation/buffers/mapping_test.js.map create mode 100644 webgpu/api/operation/buffers/threading.spec.js create mode 100644 webgpu/api/operation/buffers/threading.spec.js.map create mode 100644 webgpu/api/operation/command_buffer/basic.spec.js create mode 100644 webgpu/api/operation/command_buffer/basic.spec.js.map create mode 100644 webgpu/api/operation/command_buffer/clearBuffer.spec.js create mode 100644 webgpu/api/operation/command_buffer/clearBuffer.spec.js.map create mode 100644 webgpu/api/operation/command_buffer/copyBufferToBuffer.spec.js create mode 100644 webgpu/api/operation/command_buffer/copyBufferToBuffer.spec.js.map create mode 100644 webgpu/api/operation/command_buffer/copyTextureToTexture.spec.js create mode 100644 webgpu/api/operation/command_buffer/copyTextureToTexture.spec.js.map create mode 100644 webgpu/api/operation/command_buffer/image_copy.spec.js create mode 100644 webgpu/api/operation/command_buffer/image_copy.spec.js.map create mode 100644 webgpu/api/operation/command_buffer/programmable/programmable_state_test.js create mode 100644 webgpu/api/operation/command_buffer/programmable/programmable_state_test.js.map create mode 100644 webgpu/api/operation/command_buffer/programmable/state_tracking.spec.js create mode 100644 webgpu/api/operation/command_buffer/programmable/state_tracking.spec.js.map create mode 100644 webgpu/api/operation/command_buffer/queries/occlusionQuery.spec.js create mode 100644 webgpu/api/operation/command_buffer/queries/occlusionQuery.spec.js.map create mode 100644 webgpu/api/operation/command_buffer/render/dynamic_state.spec.js create mode 100644 webgpu/api/operation/command_buffer/render/dynamic_state.spec.js.map create mode 100644 webgpu/api/operation/command_buffer/render/state_tracking.spec.js create mode 100644 webgpu/api/operation/command_buffer/render/state_tracking.spec.js.map create mode 100644 webgpu/api/operation/compute/basic.spec.js create mode 100644 webgpu/api/operation/compute/basic.spec.js.map create mode 100644 webgpu/api/operation/compute_pipeline/entry_point_name.spec.js create mode 100644 webgpu/api/operation/compute_pipeline/entry_point_name.spec.js.map create mode 100644 webgpu/api/operation/compute_pipeline/overrides.spec.js create mode 100644 webgpu/api/operation/compute_pipeline/overrides.spec.js.map create mode 100644 webgpu/api/operation/device/lost.spec.js create mode 100644 webgpu/api/operation/device/lost.spec.js.map create mode 100644 webgpu/api/operation/labels.spec.js create mode 100644 webgpu/api/operation/labels.spec.js.map create mode 100644 webgpu/api/operation/memory_sync/buffer/buffer_sync_test.js create mode 100644 webgpu/api/operation/memory_sync/buffer/buffer_sync_test.js.map create mode 100644 webgpu/api/operation/memory_sync/buffer/multiple_buffers.spec.js create mode 100644 webgpu/api/operation/memory_sync/buffer/multiple_buffers.spec.js.map create mode 100644 webgpu/api/operation/memory_sync/buffer/single_buffer.spec.js create mode 100644 webgpu/api/operation/memory_sync/buffer/single_buffer.spec.js.map create mode 100644 webgpu/api/operation/memory_sync/operation_context_helper.js create mode 100644 webgpu/api/operation/memory_sync/operation_context_helper.js.map create mode 100644 webgpu/api/operation/memory_sync/texture/readonly_depth_stencil.spec.js create mode 100644 webgpu/api/operation/memory_sync/texture/readonly_depth_stencil.spec.js.map create mode 100644 webgpu/api/operation/memory_sync/texture/same_subresource.spec.js create mode 100644 webgpu/api/operation/memory_sync/texture/same_subresource.spec.js.map create mode 100644 webgpu/api/operation/memory_sync/texture/texture_sync_test.js create mode 100644 webgpu/api/operation/memory_sync/texture/texture_sync_test.js.map create mode 100644 webgpu/api/operation/onSubmittedWorkDone.spec.js create mode 100644 webgpu/api/operation/onSubmittedWorkDone.spec.js.map create mode 100644 webgpu/api/operation/pipeline/default_layout.spec.js create mode 100644 webgpu/api/operation/pipeline/default_layout.spec.js.map create mode 100644 webgpu/api/operation/queue/writeBuffer.spec.js create mode 100644 webgpu/api/operation/queue/writeBuffer.spec.js.map create mode 100644 webgpu/api/operation/reflection.spec.js create mode 100644 webgpu/api/operation/reflection.spec.js.map create mode 100644 webgpu/api/operation/render_pass/clear_value.spec.js create mode 100644 webgpu/api/operation/render_pass/clear_value.spec.js.map create mode 100644 webgpu/api/operation/render_pass/resolve.spec.js create mode 100644 webgpu/api/operation/render_pass/resolve.spec.js.map create mode 100644 webgpu/api/operation/render_pass/storeOp.spec.js create mode 100644 webgpu/api/operation/render_pass/storeOp.spec.js.map create mode 100644 webgpu/api/operation/render_pass/storeop2.spec.js create mode 100644 webgpu/api/operation/render_pass/storeop2.spec.js.map create mode 100644 webgpu/api/operation/render_pipeline/culling_tests.spec.js create mode 100644 webgpu/api/operation/render_pipeline/culling_tests.spec.js.map create mode 100644 webgpu/api/operation/render_pipeline/overrides.spec.js create mode 100644 webgpu/api/operation/render_pipeline/overrides.spec.js.map create mode 100644 webgpu/api/operation/render_pipeline/pipeline_output_targets.spec.js create mode 100644 webgpu/api/operation/render_pipeline/pipeline_output_targets.spec.js.map create mode 100644 webgpu/api/operation/render_pipeline/primitive_topology.spec.js create mode 100644 webgpu/api/operation/render_pipeline/primitive_topology.spec.js.map create mode 100644 webgpu/api/operation/render_pipeline/sample_mask.spec.js create mode 100644 webgpu/api/operation/render_pipeline/sample_mask.spec.js.map create mode 100644 webgpu/api/operation/render_pipeline/vertex_only_render_pipeline.spec.js create mode 100644 webgpu/api/operation/render_pipeline/vertex_only_render_pipeline.spec.js.map create mode 100644 webgpu/api/operation/rendering/3d_texture_slices.spec.js create mode 100644 webgpu/api/operation/rendering/3d_texture_slices.spec.js.map create mode 100644 webgpu/api/operation/rendering/basic.spec.js create mode 100644 webgpu/api/operation/rendering/basic.spec.js.map create mode 100644 webgpu/api/operation/rendering/color_target_state.spec.js create mode 100644 webgpu/api/operation/rendering/color_target_state.spec.js.map create mode 100644 webgpu/api/operation/rendering/depth.spec.js create mode 100644 webgpu/api/operation/rendering/depth.spec.js.map create mode 100644 webgpu/api/operation/rendering/depth_bias.spec.js create mode 100644 webgpu/api/operation/rendering/depth_bias.spec.js.map create mode 100644 webgpu/api/operation/rendering/depth_clip_clamp.spec.js create mode 100644 webgpu/api/operation/rendering/depth_clip_clamp.spec.js.map create mode 100644 webgpu/api/operation/rendering/draw.spec.js create mode 100644 webgpu/api/operation/rendering/draw.spec.js.map create mode 100644 webgpu/api/operation/rendering/indirect_draw.spec.js create mode 100644 webgpu/api/operation/rendering/indirect_draw.spec.js.map create mode 100644 webgpu/api/operation/rendering/robust_access_index.spec.js create mode 100644 webgpu/api/operation/rendering/robust_access_index.spec.js.map create mode 100644 webgpu/api/operation/rendering/stencil.spec.js create mode 100644 webgpu/api/operation/rendering/stencil.spec.js.map create mode 100644 webgpu/api/operation/resource_init/buffer.spec.js create mode 100644 webgpu/api/operation/resource_init/buffer.spec.js.map create mode 100644 webgpu/api/operation/resource_init/check_texture/by_copy.js create mode 100644 webgpu/api/operation/resource_init/check_texture/by_copy.js.map create mode 100644 webgpu/api/operation/resource_init/check_texture/by_ds_test.js create mode 100644 webgpu/api/operation/resource_init/check_texture/by_ds_test.js.map create mode 100644 webgpu/api/operation/resource_init/check_texture/by_sampling.js create mode 100644 webgpu/api/operation/resource_init/check_texture/by_sampling.js.map create mode 100644 webgpu/api/operation/resource_init/check_texture/texture_zero_init_test.js create mode 100644 webgpu/api/operation/resource_init/check_texture/texture_zero_init_test.js.map create mode 100644 webgpu/api/operation/resource_init/texture_zero.spec.js create mode 100644 webgpu/api/operation/resource_init/texture_zero.spec.js.map create mode 100644 webgpu/api/operation/sampling/anisotropy.spec.js create mode 100644 webgpu/api/operation/sampling/anisotropy.spec.js.map create mode 100644 webgpu/api/operation/sampling/filter_mode.spec.js create mode 100644 webgpu/api/operation/sampling/filter_mode.spec.js.map create mode 100644 webgpu/api/operation/sampling/lod_clamp.spec.js create mode 100644 webgpu/api/operation/sampling/lod_clamp.spec.js.map create mode 100644 webgpu/api/operation/shader_module/compilation_info.spec.js create mode 100644 webgpu/api/operation/shader_module/compilation_info.spec.js.map create mode 100644 webgpu/api/operation/storage_texture/read_only.spec.js create mode 100644 webgpu/api/operation/storage_texture/read_only.spec.js.map create mode 100644 webgpu/api/operation/storage_texture/read_write.spec.js create mode 100644 webgpu/api/operation/storage_texture/read_write.spec.js.map create mode 100644 webgpu/api/operation/texture_view/format_reinterpretation.spec.js create mode 100644 webgpu/api/operation/texture_view/format_reinterpretation.spec.js.map create mode 100644 webgpu/api/operation/texture_view/read.spec.js create mode 100644 webgpu/api/operation/texture_view/read.spec.js.map create mode 100644 webgpu/api/operation/texture_view/write.spec.js create mode 100644 webgpu/api/operation/texture_view/write.spec.js.map create mode 100644 webgpu/api/operation/uncapturederror.spec.js create mode 100644 webgpu/api/operation/uncapturederror.spec.js.map create mode 100644 webgpu/api/operation/vertex_state/correctness.spec.js create mode 100644 webgpu/api/operation/vertex_state/correctness.spec.js.map create mode 100644 webgpu/api/operation/vertex_state/index_format.spec.js create mode 100644 webgpu/api/operation/vertex_state/index_format.spec.js.map create mode 100644 webgpu/api/validation/buffer/create.spec.js create mode 100644 webgpu/api/validation/buffer/create.spec.js.map create mode 100644 webgpu/api/validation/buffer/destroy.spec.js create mode 100644 webgpu/api/validation/buffer/destroy.spec.js.map create mode 100644 webgpu/api/validation/buffer/mapping.spec.js create mode 100644 webgpu/api/validation/buffer/mapping.spec.js.map create mode 100644 webgpu/api/validation/buffer/threading.spec.js create mode 100644 webgpu/api/validation/buffer/threading.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/features/clip_distances.spec.js create mode 100644 webgpu/api/validation/capability_checks/features/clip_distances.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/features/query_types.spec.js create mode 100644 webgpu/api/validation/capability_checks/features/query_types.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/features/texture_formats.spec.js create mode 100644 webgpu/api/validation/capability_checks/features/texture_formats.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/limit_utils.js create mode 100644 webgpu/api/validation/capability_checks/limits/limit_utils.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxBindGroups.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxBindGroups.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxBindGroupsPlusVertexBuffers.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxBindGroupsPlusVertexBuffers.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxBindingsPerBindGroup.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxBindingsPerBindGroup.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxBufferSize.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxBufferSize.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxColorAttachmentBytesPerSample.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxColorAttachmentBytesPerSample.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxColorAttachments.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxColorAttachments.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeInvocationsPerWorkgroup.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeInvocationsPerWorkgroup.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeX.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeX.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeY.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeY.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeZ.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeZ.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupsPerDimension.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupsPerDimension.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxDynamicStorageBuffersPerPipelineLayout.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxDynamicStorageBuffersPerPipelineLayout.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxDynamicUniformBuffersPerPipelineLayout.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxDynamicUniformBuffersPerPipelineLayout.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxInterStageShaderComponents.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxInterStageShaderComponents.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxInterStageShaderVariables.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxInterStageShaderVariables.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxSampledTexturesPerShaderStage.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxSampledTexturesPerShaderStage.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxSamplersPerShaderStage.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxSamplersPerShaderStage.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxStorageBufferBindingSize.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxStorageBufferBindingSize.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxStorageBuffersPerShaderStage.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxStorageBuffersPerShaderStage.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxStorageTexturesPerShaderStage.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxStorageTexturesPerShaderStage.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxTextureArrayLayers.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxTextureArrayLayers.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxTextureDimension1D.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxTextureDimension1D.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxTextureDimension2D.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxTextureDimension2D.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxTextureDimension3D.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxTextureDimension3D.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxUniformBufferBindingSize.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxUniformBufferBindingSize.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxUniformBuffersPerShaderStage.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxUniformBuffersPerShaderStage.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxVertexAttributes.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxVertexAttributes.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxVertexBufferArrayStride.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxVertexBufferArrayStride.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/maxVertexBuffers.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/maxVertexBuffers.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/minStorageBufferOffsetAlignment.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/minStorageBufferOffsetAlignment.spec.js.map create mode 100644 webgpu/api/validation/capability_checks/limits/minUniformBufferOffsetAlignment.spec.js create mode 100644 webgpu/api/validation/capability_checks/limits/minUniformBufferOffsetAlignment.spec.js.map create mode 100644 webgpu/api/validation/compute_pipeline.spec.js create mode 100644 webgpu/api/validation/compute_pipeline.spec.js.map create mode 100644 webgpu/api/validation/createBindGroup.spec.js create mode 100644 webgpu/api/validation/createBindGroup.spec.js.map create mode 100644 webgpu/api/validation/createBindGroupLayout.spec.js create mode 100644 webgpu/api/validation/createBindGroupLayout.spec.js.map create mode 100644 webgpu/api/validation/createPipelineLayout.spec.js create mode 100644 webgpu/api/validation/createPipelineLayout.spec.js.map create mode 100644 webgpu/api/validation/createSampler.spec.js create mode 100644 webgpu/api/validation/createSampler.spec.js.map create mode 100644 webgpu/api/validation/createTexture.spec.js create mode 100644 webgpu/api/validation/createTexture.spec.js.map create mode 100644 webgpu/api/validation/createView.spec.js create mode 100644 webgpu/api/validation/createView.spec.js.map create mode 100644 webgpu/api/validation/debugMarker.spec.js create mode 100644 webgpu/api/validation/debugMarker.spec.js.map create mode 100644 webgpu/api/validation/encoding/beginComputePass.spec.js create mode 100644 webgpu/api/validation/encoding/beginComputePass.spec.js.map create mode 100644 webgpu/api/validation/encoding/beginRenderPass.spec.js create mode 100644 webgpu/api/validation/encoding/beginRenderPass.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/clearBuffer.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/clearBuffer.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/compute_pass.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/compute_pass.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/copyBufferToBuffer.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/copyBufferToBuffer.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/copyTextureToTexture.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/copyTextureToTexture.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/debug.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/debug.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/index_access.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/index_access.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/render/draw.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/render/draw.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/render/dynamic_state.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/render/dynamic_state.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/render/indirect_draw.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/render/indirect_draw.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/render/render.js create mode 100644 webgpu/api/validation/encoding/cmds/render/render.js.map create mode 100644 webgpu/api/validation/encoding/cmds/render/setIndexBuffer.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/render/setIndexBuffer.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/render/setPipeline.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/render/setPipeline.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/render/setVertexBuffer.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/render/setVertexBuffer.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/render/state_tracking.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/render/state_tracking.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/render_pass.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/render_pass.spec.js.map create mode 100644 webgpu/api/validation/encoding/cmds/setBindGroup.spec.js create mode 100644 webgpu/api/validation/encoding/cmds/setBindGroup.spec.js.map create mode 100644 webgpu/api/validation/encoding/createRenderBundleEncoder.spec.js create mode 100644 webgpu/api/validation/encoding/createRenderBundleEncoder.spec.js.map create mode 100644 webgpu/api/validation/encoding/encoder_open_state.spec.js create mode 100644 webgpu/api/validation/encoding/encoder_open_state.spec.js.map create mode 100644 webgpu/api/validation/encoding/encoder_state.spec.js create mode 100644 webgpu/api/validation/encoding/encoder_state.spec.js.map create mode 100644 webgpu/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.js create mode 100644 webgpu/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.js.map create mode 100644 webgpu/api/validation/encoding/queries/begin_end.spec.js create mode 100644 webgpu/api/validation/encoding/queries/begin_end.spec.js.map create mode 100644 webgpu/api/validation/encoding/queries/common.js create mode 100644 webgpu/api/validation/encoding/queries/common.js.map create mode 100644 webgpu/api/validation/encoding/queries/general.spec.js create mode 100644 webgpu/api/validation/encoding/queries/general.spec.js.map create mode 100644 webgpu/api/validation/encoding/queries/resolveQuerySet.spec.js create mode 100644 webgpu/api/validation/encoding/queries/resolveQuerySet.spec.js.map create mode 100644 webgpu/api/validation/encoding/render_bundle.spec.js create mode 100644 webgpu/api/validation/encoding/render_bundle.spec.js.map create mode 100644 webgpu/api/validation/error_scope.spec.js create mode 100644 webgpu/api/validation/error_scope.spec.js.map create mode 100644 webgpu/api/validation/getBindGroupLayout.spec.js create mode 100644 webgpu/api/validation/getBindGroupLayout.spec.js.map create mode 100644 webgpu/api/validation/gpu_external_texture_expiration.spec.js create mode 100644 webgpu/api/validation/gpu_external_texture_expiration.spec.js.map create mode 100644 webgpu/api/validation/image_copy/buffer_related.spec.js create mode 100644 webgpu/api/validation/image_copy/buffer_related.spec.js.map create mode 100644 webgpu/api/validation/image_copy/buffer_texture_copies.spec.js create mode 100644 webgpu/api/validation/image_copy/buffer_texture_copies.spec.js.map create mode 100644 webgpu/api/validation/image_copy/image_copy.js create mode 100644 webgpu/api/validation/image_copy/image_copy.js.map create mode 100644 webgpu/api/validation/image_copy/layout_related.spec.js create mode 100644 webgpu/api/validation/image_copy/layout_related.spec.js.map create mode 100644 webgpu/api/validation/image_copy/texture_related.spec.js create mode 100644 webgpu/api/validation/image_copy/texture_related.spec.js.map create mode 100644 webgpu/api/validation/layout_shader_compat.spec.js create mode 100644 webgpu/api/validation/layout_shader_compat.spec.js.map create mode 100644 webgpu/api/validation/query_set/create.spec.js create mode 100644 webgpu/api/validation/query_set/create.spec.js.map create mode 100644 webgpu/api/validation/query_set/destroy.spec.js create mode 100644 webgpu/api/validation/query_set/destroy.spec.js.map create mode 100644 webgpu/api/validation/queue/buffer_mapped.spec.js create mode 100644 webgpu/api/validation/queue/buffer_mapped.spec.js.map create mode 100644 webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.js create mode 100644 webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.js.map create mode 100644 webgpu/api/validation/queue/destroyed/buffer.spec.js create mode 100644 webgpu/api/validation/queue/destroyed/buffer.spec.js.map create mode 100644 webgpu/api/validation/queue/destroyed/query_set.spec.js create mode 100644 webgpu/api/validation/queue/destroyed/query_set.spec.js.map create mode 100644 webgpu/api/validation/queue/destroyed/texture.spec.js create mode 100644 webgpu/api/validation/queue/destroyed/texture.spec.js.map create mode 100644 webgpu/api/validation/queue/submit.spec.js create mode 100644 webgpu/api/validation/queue/submit.spec.js.map create mode 100644 webgpu/api/validation/queue/writeBuffer.spec.js create mode 100644 webgpu/api/validation/queue/writeBuffer.spec.js.map create mode 100644 webgpu/api/validation/queue/writeTexture.spec.js create mode 100644 webgpu/api/validation/queue/writeTexture.spec.js.map create mode 100644 webgpu/api/validation/render_pass/attachment_compatibility.spec.js create mode 100644 webgpu/api/validation/render_pass/attachment_compatibility.spec.js.map create mode 100644 webgpu/api/validation/render_pass/render_pass_descriptor.spec.js create mode 100644 webgpu/api/validation/render_pass/render_pass_descriptor.spec.js.map create mode 100644 webgpu/api/validation/render_pass/resolve.spec.js create mode 100644 webgpu/api/validation/render_pass/resolve.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/common.js create mode 100644 webgpu/api/validation/render_pipeline/common.js.map create mode 100644 webgpu/api/validation/render_pipeline/depth_stencil_state.spec.js create mode 100644 webgpu/api/validation/render_pipeline/depth_stencil_state.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/float32_blendable.spec.js create mode 100644 webgpu/api/validation/render_pipeline/float32_blendable.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/fragment_state.spec.js create mode 100644 webgpu/api/validation/render_pipeline/fragment_state.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/inter_stage.spec.js create mode 100644 webgpu/api/validation/render_pipeline/inter_stage.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/misc.spec.js create mode 100644 webgpu/api/validation/render_pipeline/misc.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/multisample_state.spec.js create mode 100644 webgpu/api/validation/render_pipeline/multisample_state.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/overrides.spec.js create mode 100644 webgpu/api/validation/render_pipeline/overrides.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/primitive_state.spec.js create mode 100644 webgpu/api/validation/render_pipeline/primitive_state.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/resource_compatibility.spec.js create mode 100644 webgpu/api/validation/render_pipeline/resource_compatibility.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/shader_module.spec.js create mode 100644 webgpu/api/validation/render_pipeline/shader_module.spec.js.map create mode 100644 webgpu/api/validation/render_pipeline/vertex_state.spec.js create mode 100644 webgpu/api/validation/render_pipeline/vertex_state.spec.js.map create mode 100644 webgpu/api/validation/resource_usages/buffer/in_pass_encoder.spec.js create mode 100644 webgpu/api/validation/resource_usages/buffer/in_pass_encoder.spec.js.map create mode 100644 webgpu/api/validation/resource_usages/buffer/in_pass_misc.spec.js create mode 100644 webgpu/api/validation/resource_usages/buffer/in_pass_misc.spec.js.map create mode 100644 webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.js create mode 100644 webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.js.map create mode 100644 webgpu/api/validation/resource_usages/texture/in_render_common.spec.js create mode 100644 webgpu/api/validation/resource_usages/texture/in_render_common.spec.js.map create mode 100644 webgpu/api/validation/resource_usages/texture/in_render_misc.spec.js create mode 100644 webgpu/api/validation/resource_usages/texture/in_render_misc.spec.js.map create mode 100644 webgpu/api/validation/shader_module/entry_point.spec.js create mode 100644 webgpu/api/validation/shader_module/entry_point.spec.js.map create mode 100644 webgpu/api/validation/shader_module/overrides.spec.js create mode 100644 webgpu/api/validation/shader_module/overrides.spec.js.map create mode 100644 webgpu/api/validation/state/device_lost/destroy.spec.js create mode 100644 webgpu/api/validation/state/device_lost/destroy.spec.js.map create mode 100644 webgpu/api/validation/texture/bgra8unorm_storage.spec.js create mode 100644 webgpu/api/validation/texture/bgra8unorm_storage.spec.js.map create mode 100644 webgpu/api/validation/texture/destroy.spec.js create mode 100644 webgpu/api/validation/texture/destroy.spec.js.map create mode 100644 webgpu/api/validation/texture/float32_filterable.spec.js create mode 100644 webgpu/api/validation/texture/float32_filterable.spec.js.map create mode 100644 webgpu/api/validation/texture/rg11b10ufloat_renderable.spec.js create mode 100644 webgpu/api/validation/texture/rg11b10ufloat_renderable.spec.js.map create mode 100644 webgpu/api/validation/utils.js create mode 100644 webgpu/api/validation/utils.js.map create mode 100644 webgpu/api/validation/validation_test.js create mode 100644 webgpu/api/validation/validation_test.js.map create mode 100644 webgpu/capability_info.js create mode 100644 webgpu/capability_info.js.map create mode 100644 webgpu/compat/api/validation/createBindGroup.spec.js create mode 100644 webgpu/compat/api/validation/createBindGroup.spec.js.map create mode 100644 webgpu/compat/api/validation/createBindGroupLayout.spec.js create mode 100644 webgpu/compat/api/validation/createBindGroupLayout.spec.js.map create mode 100644 webgpu/compat/api/validation/encoding/cmds/copyTextureToBuffer.spec.js create mode 100644 webgpu/compat/api/validation/encoding/cmds/copyTextureToBuffer.spec.js.map create mode 100644 webgpu/compat/api/validation/encoding/cmds/copyTextureToTexture.spec.js create mode 100644 webgpu/compat/api/validation/encoding/cmds/copyTextureToTexture.spec.js.map create mode 100644 webgpu/compat/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.js create mode 100644 webgpu/compat/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.js.map create mode 100644 webgpu/compat/api/validation/render_pipeline/depth_stencil_state.spec.js create mode 100644 webgpu/compat/api/validation/render_pipeline/depth_stencil_state.spec.js.map create mode 100644 webgpu/compat/api/validation/render_pipeline/fragment_state.spec.js create mode 100644 webgpu/compat/api/validation/render_pipeline/fragment_state.spec.js.map create mode 100644 webgpu/compat/api/validation/render_pipeline/unsupported_wgsl.spec.js create mode 100644 webgpu/compat/api/validation/render_pipeline/unsupported_wgsl.spec.js.map create mode 100644 webgpu/compat/api/validation/render_pipeline/vertex_state.spec.js create mode 100644 webgpu/compat/api/validation/render_pipeline/vertex_state.spec.js.map create mode 100644 webgpu/compat/api/validation/texture/createTexture.spec.js create mode 100644 webgpu/compat/api/validation/texture/createTexture.spec.js.map create mode 100644 webgpu/compat/api/validation/texture/cubeArray.spec.js create mode 100644 webgpu/compat/api/validation/texture/cubeArray.spec.js.map create mode 100644 webgpu/compat/compatibility_test.js create mode 100644 webgpu/compat/compatibility_test.js.map create mode 100644 webgpu/constants.js create mode 100644 webgpu/constants.js.map create mode 100644 webgpu/error_test.js create mode 100644 webgpu/error_test.js.map create mode 100644 webgpu/examples.spec.js create mode 100644 webgpu/examples.spec.js.map create mode 100644 webgpu/format_info.js create mode 100644 webgpu/format_info.js.map create mode 100644 webgpu/gpu_test.js create mode 100644 webgpu/gpu_test.js.map create mode 100644 webgpu/idl/constants/flags.spec.js create mode 100644 webgpu/idl/constants/flags.spec.js.map create mode 100644 webgpu/idl/constructable.spec.js create mode 100644 webgpu/idl/constructable.spec.js.map create mode 100644 webgpu/idl/exposed.html.js create mode 100644 webgpu/idl/exposed.html.js.map rename {src/webgpu => webgpu}/idl/exposed.http.html (100%) rename {src/webgpu => webgpu}/idl/exposed.https.html (100%) create mode 100644 webgpu/idl/idl_test.js create mode 100644 webgpu/idl/idl_test.js.map create mode 100644 webgpu/inter_stage.js create mode 100644 webgpu/inter_stage.js.map create mode 100644 webgpu/listing.js create mode 100644 webgpu/multisample_info.js create mode 100644 webgpu/multisample_info.js.map create mode 100644 webgpu/print_environment.spec.js create mode 100644 webgpu/print_environment.spec.js.map create mode 100644 webgpu/shader/execution/expression/access/array/index.spec.js create mode 100644 webgpu/shader/execution/expression/access/array/index.spec.js.map create mode 100644 webgpu/shader/execution/expression/access/matrix/index.spec.js create mode 100644 webgpu/shader/execution/expression/access/matrix/index.spec.js.map create mode 100644 webgpu/shader/execution/expression/access/structure/index.spec.js create mode 100644 webgpu/shader/execution/expression/access/structure/index.spec.js.map create mode 100644 webgpu/shader/execution/expression/access/vector/components.spec.js create mode 100644 webgpu/shader/execution/expression/access/vector/components.spec.js.map create mode 100644 webgpu/shader/execution/expression/access/vector/index.spec.js create mode 100644 webgpu/shader/execution/expression/access/vector/index.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_addition.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_addition.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_addition.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_addition.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_comparison.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_comparison.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_comparison.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_comparison.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_data.js create mode 100644 webgpu/shader/execution/expression/binary/af_data.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_division.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_division.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_division.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_division.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_addition.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_addition.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_addition.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_addition.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_matrix_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_matrix_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_matrix_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_matrix_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_scalar_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_scalar_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_scalar_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_scalar_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_subtraction.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_subtraction.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_subtraction.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_subtraction.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_vector_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_vector_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_vector_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_matrix_vector_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_remainder.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_remainder.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_remainder.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_remainder.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_subtraction.cache.js create mode 100644 webgpu/shader/execution/expression/binary/af_subtraction.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/af_subtraction.spec.js create mode 100644 webgpu/shader/execution/expression/binary/af_subtraction.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/ai_arithmetic.cache.js create mode 100644 webgpu/shader/execution/expression/binary/ai_arithmetic.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/ai_arithmetic.spec.js create mode 100644 webgpu/shader/execution/expression/binary/ai_arithmetic.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/ai_comparison.spec.js create mode 100644 webgpu/shader/execution/expression/binary/ai_comparison.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/binary.js create mode 100644 webgpu/shader/execution/expression/binary/binary.js.map create mode 100644 webgpu/shader/execution/expression/binary/bitwise.spec.js create mode 100644 webgpu/shader/execution/expression/binary/bitwise.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/bitwise_shift.spec.js create mode 100644 webgpu/shader/execution/expression/binary/bitwise_shift.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/bool_logical.spec.js create mode 100644 webgpu/shader/execution/expression/binary/bool_logical.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_addition.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_addition.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_addition.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_addition.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_comparison.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_comparison.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_comparison.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_comparison.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_division.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_division.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_division.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_division.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_addition.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_addition.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_addition.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_addition.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_matrix_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_matrix_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_matrix_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_matrix_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_scalar_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_scalar_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_scalar_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_scalar_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_subtraction.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_subtraction.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_subtraction.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_subtraction.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_vector_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_vector_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_vector_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_matrix_vector_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_remainder.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_remainder.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_remainder.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_remainder.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_subtraction.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f16_subtraction.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f16_subtraction.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f16_subtraction.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_addition.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_addition.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_addition.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_addition.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_comparison.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_comparison.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_comparison.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_comparison.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_division.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_division.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_division.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_division.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_addition.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_addition.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_addition.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_addition.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_matrix_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_matrix_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_matrix_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_matrix_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_scalar_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_scalar_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_scalar_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_scalar_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_subtraction.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_subtraction.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_subtraction.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_subtraction.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_vector_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_vector_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_vector_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_matrix_vector_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_multiplication.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_multiplication.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_multiplication.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_multiplication.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_remainder.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_remainder.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_remainder.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_remainder.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_subtraction.cache.js create mode 100644 webgpu/shader/execution/expression/binary/f32_subtraction.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/f32_subtraction.spec.js create mode 100644 webgpu/shader/execution/expression/binary/f32_subtraction.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/i32_arithmetic.cache.js create mode 100644 webgpu/shader/execution/expression/binary/i32_arithmetic.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/i32_arithmetic.spec.js create mode 100644 webgpu/shader/execution/expression/binary/i32_arithmetic.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/i32_comparison.cache.js create mode 100644 webgpu/shader/execution/expression/binary/i32_comparison.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/i32_comparison.spec.js create mode 100644 webgpu/shader/execution/expression/binary/i32_comparison.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/u32_arithmetic.cache.js create mode 100644 webgpu/shader/execution/expression/binary/u32_arithmetic.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/u32_arithmetic.spec.js create mode 100644 webgpu/shader/execution/expression/binary/u32_arithmetic.spec.js.map create mode 100644 webgpu/shader/execution/expression/binary/u32_comparison.cache.js create mode 100644 webgpu/shader/execution/expression/binary/u32_comparison.cache.js.map create mode 100644 webgpu/shader/execution/expression/binary/u32_comparison.spec.js create mode 100644 webgpu/shader/execution/expression/binary/u32_comparison.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/abs.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/abs.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/abs.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/abs.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/acos.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/acos.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/acos.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/acos.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/acosh.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/acosh.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/acosh.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/acosh.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/all.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/all.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/any.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/any.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/arrayLength.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/arrayLength.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/asin.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/asin.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/asin.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/asin.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/asinh.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/asinh.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/asinh.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/asinh.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atan.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atan.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atan.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atan.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atan2.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atan2.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atan2.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atan2.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atanh.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atanh.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atanh.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atanh.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicAdd.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicAdd.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicAnd.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicAnd.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicCompareExchangeWeak.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicCompareExchangeWeak.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicExchange.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicExchange.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicLoad.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicLoad.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicMax.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicMax.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicMin.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicMin.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicOr.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicOr.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicStore.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicStore.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicSub.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicSub.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicXor.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/atomicXor.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/harness.js create mode 100644 webgpu/shader/execution/expression/call/builtin/atomics/harness.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/bitcast.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/bitcast.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/bitcast.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/bitcast.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/builtin.js create mode 100644 webgpu/shader/execution/expression/call/builtin/builtin.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/ceil.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/ceil.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/ceil.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/ceil.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/clamp.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/clamp.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/clamp.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/clamp.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/cos.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/cos.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/cos.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/cos.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/cosh.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/cosh.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/cosh.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/cosh.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/countLeadingZeros.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/countLeadingZeros.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/countOneBits.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/countOneBits.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/countTrailingZeros.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/countTrailingZeros.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/cross.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/cross.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/cross.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/cross.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/degrees.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/degrees.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/degrees.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/degrees.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/derivatives.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/derivatives.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/derivatives.js create mode 100644 webgpu/shader/execution/expression/call/builtin/derivatives.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/determinant.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/determinant.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/determinant.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/determinant.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/distance.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/distance.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/distance.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/distance.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/dot.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/dot.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/dot.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/dot.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/dot4I8Packed.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/dot4I8Packed.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/dot4U8Packed.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/dot4U8Packed.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdx.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdx.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdxCoarse.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdxCoarse.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdxFine.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdxFine.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdy.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdy.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdyCoarse.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdyCoarse.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdyFine.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/dpdyFine.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/exp.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/exp.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/exp.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/exp.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/exp2.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/exp2.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/exp2.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/exp2.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/extractBits.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/extractBits.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/faceForward.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/faceForward.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/faceForward.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/faceForward.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/firstLeadingBit.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/firstLeadingBit.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/firstTrailingBit.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/firstTrailingBit.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/floor.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/floor.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/floor.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/floor.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/fma.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/fma.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/fma.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/fma.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/fract.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/fract.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/fract.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/fract.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/frexp.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/frexp.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/frexp.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/frexp.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/fwidth.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/fwidth.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/fwidth.js create mode 100644 webgpu/shader/execution/expression/call/builtin/fwidth.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/fwidth.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/fwidth.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/fwidthCoarse.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/fwidthCoarse.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/fwidthFine.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/fwidthFine.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/insertBits.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/insertBits.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/inversesqrt.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/inversesqrt.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/inversesqrt.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/inversesqrt.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/ldexp.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/ldexp.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/ldexp.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/ldexp.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/length.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/length.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/length.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/length.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/log.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/log.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/log.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/log.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/log2.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/log2.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/log2.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/log2.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/max.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/max.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/max.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/max.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/min.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/min.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/min.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/min.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/mix.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/mix.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/mix.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/mix.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/modf.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/modf.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/modf.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/modf.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/normalize.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/normalize.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/normalize.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/normalize.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pack2x16float.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pack2x16float.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pack2x16float.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pack2x16float.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pack2x16snorm.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pack2x16snorm.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pack2x16unorm.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pack2x16unorm.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4x8snorm.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4x8snorm.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4x8unorm.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4x8unorm.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4xI8.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4xI8.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4xI8Clamp.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4xI8Clamp.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4xU8.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4xU8.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4xU8Clamp.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pack4xU8Clamp.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pow.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pow.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/pow.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/pow.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/quadBroadcast.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/quadBroadcast.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/quadSwap.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/quadSwap.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/quantizeToF16.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/quantizeToF16.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/quantizeToF16.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/quantizeToF16.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/radians.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/radians.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/radians.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/radians.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/reflect.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/reflect.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/reflect.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/reflect.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/refract.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/refract.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/refract.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/refract.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/reverseBits.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/reverseBits.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/round.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/round.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/round.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/round.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/saturate.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/saturate.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/saturate.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/saturate.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/select.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/select.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/sign.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/sign.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/sign.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/sign.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/sin.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/sin.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/sin.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/sin.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/sinh.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/sinh.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/sinh.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/sinh.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/smoothstep.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/smoothstep.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/smoothstep.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/smoothstep.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/sqrt.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/sqrt.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/sqrt.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/sqrt.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/step.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/step.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/step.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/step.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/storageBarrier.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/storageBarrier.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupAdd.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupAdd.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupAll.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupAll.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupAny.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupAny.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupBallot.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupBallot.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupBitwise.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupBitwise.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupBroadcast.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupBroadcast.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupMul.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroupMul.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroup_util.js create mode 100644 webgpu/shader/execution/expression/call/builtin/subgroup_util.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/tan.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/tan.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/tan.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/tan.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/tanh.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/tanh.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/tanh.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/tanh.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureDimensions.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureDimensions.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureGather.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureGather.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureLoad.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureLoad.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureNumLayers.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureNumLayers.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureNumLevels.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureNumLevels.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureNumSamples.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureNumSamples.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSample.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSample.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleBaseClampToEdge.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleBaseClampToEdge.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleBias.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleBias.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleCompare.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleCompare.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleGrad.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleGrad.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleLevel.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureSampleLevel.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/textureStore.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/textureStore.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/texture_utils.js create mode 100644 webgpu/shader/execution/expression/call/builtin/texture_utils.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/transpose.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/transpose.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/transpose.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/transpose.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/trunc.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/trunc.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/trunc.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/trunc.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16float.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16float.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16float.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16float.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16snorm.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16snorm.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16snorm.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16snorm.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16unorm.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16unorm.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16unorm.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack2x16unorm.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.cache.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.cache.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4xI8.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4xI8.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4xU8.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/unpack4xU8.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/utils.js create mode 100644 webgpu/shader/execution/expression/call/builtin/utils.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/builtin/workgroupUniformLoad.spec.js create mode 100644 webgpu/shader/execution/expression/call/builtin/workgroupUniformLoad.spec.js.map create mode 100644 webgpu/shader/execution/expression/call/user/ptr_params.spec.js create mode 100644 webgpu/shader/execution/expression/call/user/ptr_params.spec.js.map create mode 100644 webgpu/shader/execution/expression/case.js create mode 100644 webgpu/shader/execution/expression/case.js.map create mode 100644 webgpu/shader/execution/expression/case_cache.js create mode 100644 webgpu/shader/execution/expression/case_cache.js.map create mode 100644 webgpu/shader/execution/expression/constructor/non_zero.spec.js create mode 100644 webgpu/shader/execution/expression/constructor/non_zero.spec.js.map create mode 100644 webgpu/shader/execution/expression/constructor/zero_value.spec.js create mode 100644 webgpu/shader/execution/expression/constructor/zero_value.spec.js.map create mode 100644 webgpu/shader/execution/expression/expectation.js create mode 100644 webgpu/shader/execution/expression/expectation.js.map create mode 100644 webgpu/shader/execution/expression/expression.js create mode 100644 webgpu/shader/execution/expression/expression.js.map create mode 100644 webgpu/shader/execution/expression/interval_filter.js create mode 100644 webgpu/shader/execution/expression/interval_filter.js.map create mode 100644 webgpu/shader/execution/expression/precedence.spec.js create mode 100644 webgpu/shader/execution/expression/precedence.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/address_of_and_indirection.spec.js create mode 100644 webgpu/shader/execution/expression/unary/address_of_and_indirection.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/af_arithmetic.cache.js create mode 100644 webgpu/shader/execution/expression/unary/af_arithmetic.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/af_arithmetic.spec.js create mode 100644 webgpu/shader/execution/expression/unary/af_arithmetic.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/af_assignment.cache.js create mode 100644 webgpu/shader/execution/expression/unary/af_assignment.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/af_assignment.spec.js create mode 100644 webgpu/shader/execution/expression/unary/af_assignment.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/ai_arithmetic.cache.js create mode 100644 webgpu/shader/execution/expression/unary/ai_arithmetic.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/ai_arithmetic.spec.js create mode 100644 webgpu/shader/execution/expression/unary/ai_arithmetic.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/ai_assignment.cache.js create mode 100644 webgpu/shader/execution/expression/unary/ai_assignment.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/ai_assignment.spec.js create mode 100644 webgpu/shader/execution/expression/unary/ai_assignment.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/ai_complement.spec.js create mode 100644 webgpu/shader/execution/expression/unary/ai_complement.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/bool_conversion.cache.js create mode 100644 webgpu/shader/execution/expression/unary/bool_conversion.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/bool_conversion.spec.js create mode 100644 webgpu/shader/execution/expression/unary/bool_conversion.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/bool_logical.spec.js create mode 100644 webgpu/shader/execution/expression/unary/bool_logical.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/f16_arithmetic.cache.js create mode 100644 webgpu/shader/execution/expression/unary/f16_arithmetic.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/f16_arithmetic.spec.js create mode 100644 webgpu/shader/execution/expression/unary/f16_arithmetic.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/f16_conversion.cache.js create mode 100644 webgpu/shader/execution/expression/unary/f16_conversion.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/f16_conversion.spec.js create mode 100644 webgpu/shader/execution/expression/unary/f16_conversion.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/f32_arithmetic.cache.js create mode 100644 webgpu/shader/execution/expression/unary/f32_arithmetic.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/f32_arithmetic.spec.js create mode 100644 webgpu/shader/execution/expression/unary/f32_arithmetic.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/f32_conversion.cache.js create mode 100644 webgpu/shader/execution/expression/unary/f32_conversion.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/f32_conversion.spec.js create mode 100644 webgpu/shader/execution/expression/unary/f32_conversion.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/i32_arithmetic.cache.js create mode 100644 webgpu/shader/execution/expression/unary/i32_arithmetic.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/i32_arithmetic.spec.js create mode 100644 webgpu/shader/execution/expression/unary/i32_arithmetic.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/i32_complement.spec.js create mode 100644 webgpu/shader/execution/expression/unary/i32_complement.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/i32_conversion.cache.js create mode 100644 webgpu/shader/execution/expression/unary/i32_conversion.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/i32_conversion.spec.js create mode 100644 webgpu/shader/execution/expression/unary/i32_conversion.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/u32_complement.spec.js create mode 100644 webgpu/shader/execution/expression/unary/u32_complement.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/u32_conversion.cache.js create mode 100644 webgpu/shader/execution/expression/unary/u32_conversion.cache.js.map create mode 100644 webgpu/shader/execution/expression/unary/u32_conversion.spec.js create mode 100644 webgpu/shader/execution/expression/unary/u32_conversion.spec.js.map create mode 100644 webgpu/shader/execution/expression/unary/unary.js create mode 100644 webgpu/shader/execution/expression/unary/unary.js.map create mode 100644 webgpu/shader/execution/float_parse.spec.js create mode 100644 webgpu/shader/execution/float_parse.spec.js.map create mode 100644 webgpu/shader/execution/flow_control/call.spec.js create mode 100644 webgpu/shader/execution/flow_control/call.spec.js.map create mode 100644 webgpu/shader/execution/flow_control/complex.spec.js create mode 100644 webgpu/shader/execution/flow_control/complex.spec.js.map create mode 100644 webgpu/shader/execution/flow_control/eval_order.spec.js create mode 100644 webgpu/shader/execution/flow_control/eval_order.spec.js.map create mode 100644 webgpu/shader/execution/flow_control/for.spec.js create mode 100644 webgpu/shader/execution/flow_control/for.spec.js.map create mode 100644 webgpu/shader/execution/flow_control/harness.js create mode 100644 webgpu/shader/execution/flow_control/harness.js.map create mode 100644 webgpu/shader/execution/flow_control/if.spec.js create mode 100644 webgpu/shader/execution/flow_control/if.spec.js.map create mode 100644 webgpu/shader/execution/flow_control/loop.spec.js create mode 100644 webgpu/shader/execution/flow_control/loop.spec.js.map create mode 100644 webgpu/shader/execution/flow_control/phony.spec.js create mode 100644 webgpu/shader/execution/flow_control/phony.spec.js.map create mode 100644 webgpu/shader/execution/flow_control/return.spec.js create mode 100644 webgpu/shader/execution/flow_control/return.spec.js.map create mode 100644 webgpu/shader/execution/flow_control/switch.spec.js create mode 100644 webgpu/shader/execution/flow_control/switch.spec.js.map create mode 100644 webgpu/shader/execution/flow_control/while.spec.js create mode 100644 webgpu/shader/execution/flow_control/while.spec.js.map create mode 100644 webgpu/shader/execution/limits.spec.js create mode 100644 webgpu/shader/execution/limits.spec.js.map create mode 100644 webgpu/shader/execution/memory_layout.spec.js create mode 100644 webgpu/shader/execution/memory_layout.spec.js.map create mode 100644 webgpu/shader/execution/memory_model/adjacent.spec.js create mode 100644 webgpu/shader/execution/memory_model/adjacent.spec.js.map create mode 100644 webgpu/shader/execution/memory_model/atomicity.spec.js create mode 100644 webgpu/shader/execution/memory_model/atomicity.spec.js.map create mode 100644 webgpu/shader/execution/memory_model/barrier.spec.js create mode 100644 webgpu/shader/execution/memory_model/barrier.spec.js.map create mode 100644 webgpu/shader/execution/memory_model/coherence.spec.js create mode 100644 webgpu/shader/execution/memory_model/coherence.spec.js.map create mode 100644 webgpu/shader/execution/memory_model/memory_model_setup.js create mode 100644 webgpu/shader/execution/memory_model/memory_model_setup.js.map create mode 100644 webgpu/shader/execution/memory_model/texture_intra_invocation_coherence.spec.js create mode 100644 webgpu/shader/execution/memory_model/texture_intra_invocation_coherence.spec.js.map create mode 100644 webgpu/shader/execution/memory_model/weak.spec.js create mode 100644 webgpu/shader/execution/memory_model/weak.spec.js.map create mode 100644 webgpu/shader/execution/padding.spec.js create mode 100644 webgpu/shader/execution/padding.spec.js.map create mode 100644 webgpu/shader/execution/robust_access.spec.js create mode 100644 webgpu/shader/execution/robust_access.spec.js.map create mode 100644 webgpu/shader/execution/robust_access_vertex.spec.js create mode 100644 webgpu/shader/execution/robust_access_vertex.spec.js.map create mode 100644 webgpu/shader/execution/shader_io/compute_builtins.spec.js create mode 100644 webgpu/shader/execution/shader_io/compute_builtins.spec.js.map create mode 100644 webgpu/shader/execution/shader_io/fragment_builtins.spec.js create mode 100644 webgpu/shader/execution/shader_io/fragment_builtins.spec.js.map create mode 100644 webgpu/shader/execution/shader_io/shared_structs.spec.js create mode 100644 webgpu/shader/execution/shader_io/shared_structs.spec.js.map create mode 100644 webgpu/shader/execution/shader_io/user_io.spec.js create mode 100644 webgpu/shader/execution/shader_io/user_io.spec.js.map create mode 100644 webgpu/shader/execution/shader_io/vertex_builtins.spec.js create mode 100644 webgpu/shader/execution/shader_io/vertex_builtins.spec.js.map create mode 100644 webgpu/shader/execution/shader_io/workgroup_size.spec.js create mode 100644 webgpu/shader/execution/shader_io/workgroup_size.spec.js.map create mode 100644 webgpu/shader/execution/shadow.spec.js create mode 100644 webgpu/shader/execution/shadow.spec.js.map create mode 100644 webgpu/shader/execution/stage.spec.js create mode 100644 webgpu/shader/execution/stage.spec.js.map create mode 100644 webgpu/shader/execution/statement/compound.spec.js create mode 100644 webgpu/shader/execution/statement/compound.spec.js.map create mode 100644 webgpu/shader/execution/statement/discard.spec.js create mode 100644 webgpu/shader/execution/statement/discard.spec.js.map create mode 100644 webgpu/shader/execution/statement/increment_decrement.spec.js create mode 100644 webgpu/shader/execution/statement/increment_decrement.spec.js.map create mode 100644 webgpu/shader/execution/statement/phony.spec.js create mode 100644 webgpu/shader/execution/statement/phony.spec.js.map create mode 100644 webgpu/shader/execution/value_init.spec.js create mode 100644 webgpu/shader/execution/value_init.spec.js.map create mode 100644 webgpu/shader/execution/zero_init.spec.js create mode 100644 webgpu/shader/execution/zero_init.spec.js.map create mode 100644 webgpu/shader/types.js create mode 100644 webgpu/shader/types.js.map create mode 100644 webgpu/shader/validation/const_assert/const_assert.spec.js create mode 100644 webgpu/shader/validation/const_assert/const_assert.spec.js.map create mode 100644 webgpu/shader/validation/decl/compound_statement.spec.js create mode 100644 webgpu/shader/validation/decl/compound_statement.spec.js.map create mode 100644 webgpu/shader/validation/decl/const.spec.js create mode 100644 webgpu/shader/validation/decl/const.spec.js.map create mode 100644 webgpu/shader/validation/decl/context_dependent_resolution.spec.js create mode 100644 webgpu/shader/validation/decl/context_dependent_resolution.spec.js.map create mode 100644 webgpu/shader/validation/decl/let.spec.js create mode 100644 webgpu/shader/validation/decl/let.spec.js.map create mode 100644 webgpu/shader/validation/decl/override.spec.js create mode 100644 webgpu/shader/validation/decl/override.spec.js.map create mode 100644 webgpu/shader/validation/decl/util.js create mode 100644 webgpu/shader/validation/decl/util.js.map create mode 100644 webgpu/shader/validation/decl/var.spec.js create mode 100644 webgpu/shader/validation/decl/var.spec.js.map create mode 100644 webgpu/shader/validation/expression/access/array.spec.js create mode 100644 webgpu/shader/validation/expression/access/array.spec.js.map create mode 100644 webgpu/shader/validation/expression/access/matrix.spec.js create mode 100644 webgpu/shader/validation/expression/access/matrix.spec.js.map create mode 100644 webgpu/shader/validation/expression/access/structure.spec.js create mode 100644 webgpu/shader/validation/expression/access/structure.spec.js.map create mode 100644 webgpu/shader/validation/expression/access/vector.spec.js create mode 100644 webgpu/shader/validation/expression/access/vector.spec.js.map create mode 100644 webgpu/shader/validation/expression/binary/add_sub_mul.spec.js create mode 100644 webgpu/shader/validation/expression/binary/add_sub_mul.spec.js.map create mode 100644 webgpu/shader/validation/expression/binary/and_or_xor.spec.js create mode 100644 webgpu/shader/validation/expression/binary/and_or_xor.spec.js.map create mode 100644 webgpu/shader/validation/expression/binary/bitwise_shift.spec.js create mode 100644 webgpu/shader/validation/expression/binary/bitwise_shift.spec.js.map create mode 100644 webgpu/shader/validation/expression/binary/comparison.spec.js create mode 100644 webgpu/shader/validation/expression/binary/comparison.spec.js.map create mode 100644 webgpu/shader/validation/expression/binary/div_rem.spec.js create mode 100644 webgpu/shader/validation/expression/binary/div_rem.spec.js.map create mode 100644 webgpu/shader/validation/expression/binary/parse.spec.js create mode 100644 webgpu/shader/validation/expression/binary/parse.spec.js.map create mode 100644 webgpu/shader/validation/expression/binary/result_type.js create mode 100644 webgpu/shader/validation/expression/binary/result_type.js.map create mode 100644 webgpu/shader/validation/expression/binary/short_circuiting_and_or.spec.js create mode 100644 webgpu/shader/validation/expression/binary/short_circuiting_and_or.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/abs.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/abs.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/acos.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/acos.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/acosh.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/acosh.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/all.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/all.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/any.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/any.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/arrayLength.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/arrayLength.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/asin.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/asin.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/asinh.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/asinh.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/atan.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/atan.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/atan2.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/atan2.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/atanh.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/atanh.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/atomics.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/atomics.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/barriers.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/barriers.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/bitcast.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/bitcast.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/ceil.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/ceil.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/clamp.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/clamp.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/const_override_validation.js create mode 100644 webgpu/shader/validation/expression/call/builtin/const_override_validation.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/cos.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/cos.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/cosh.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/cosh.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/countLeadingZeros.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/countLeadingZeros.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/countOneBits.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/countOneBits.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/countTrailingZeros.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/countTrailingZeros.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/cross.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/cross.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/degrees.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/degrees.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/derivatives.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/derivatives.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/determinant.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/determinant.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/distance.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/distance.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/dot.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/dot.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/dot4I8Packed.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/dot4I8Packed.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/dot4U8Packed.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/dot4U8Packed.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/exp.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/exp.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/exp2.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/exp2.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/extractBits.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/extractBits.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/faceForward.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/faceForward.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/firstLeadingBit.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/firstLeadingBit.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/firstTrailingBit.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/firstTrailingBit.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/floor.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/floor.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/fma.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/fma.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/fract.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/fract.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/frexp.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/frexp.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/insertBits.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/insertBits.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/inverseSqrt.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/inverseSqrt.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/ldexp.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/ldexp.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/length.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/length.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/log.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/log.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/log2.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/log2.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/max.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/max.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/min.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/min.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/mix.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/mix.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/modf.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/modf.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/normalize.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/normalize.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/pack2x16float.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/pack2x16float.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/pack2x16snorm.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/pack2x16snorm.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/pack2x16unorm.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/pack2x16unorm.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4x8snorm.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4x8snorm.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4x8unorm.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4x8unorm.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4xI8.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4xI8.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4xI8Clamp.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4xI8Clamp.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4xU8.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4xU8.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4xU8Clamp.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/pack4xU8Clamp.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/pow.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/pow.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/quadBroadcast.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/quadBroadcast.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/quadSwap.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/quadSwap.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/quantizeToF16.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/quantizeToF16.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/radians.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/radians.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/reflect.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/reflect.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/refract.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/refract.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/reverseBits.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/reverseBits.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/round.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/round.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/saturate.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/saturate.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/select.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/select.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/shader_builtin_utils.js create mode 100644 webgpu/shader/validation/expression/call/builtin/shader_builtin_utils.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/sign.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/sign.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/sin.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/sin.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/sinh.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/sinh.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/smoothstep.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/smoothstep.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/sqrt.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/sqrt.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/step.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/step.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupAdd.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupAdd.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupAnyAll.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupAnyAll.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupBallot.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupBallot.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupBitwise.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupBitwise.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupBroadcast.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupBroadcast.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupBroadcastFirst.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupBroadcastFirst.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupElect.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupElect.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupMinMax.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupMinMax.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupMul.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupMul.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupShuffle.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/subgroupShuffle.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/tan.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/tan.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/tanh.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/tanh.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureDimensions.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureDimensions.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureGather.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureGather.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureGatherCompare.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureGatherCompare.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureLoad.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureLoad.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureNumLayers.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureNumLayers.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureNumLevels.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureNumLevels.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureNumSamples.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureNumSamples.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSample.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSample.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleBaseClampToEdge.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleBaseClampToEdge.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleBias.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleBias.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleCompare.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleCompare.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleCompareLevel.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleCompareLevel.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleGrad.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleGrad.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleLevel.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureSampleLevel.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/textureStore.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/textureStore.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/transpose.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/transpose.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/trunc.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/trunc.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack2x16float.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack2x16float.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack2x16snorm.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack2x16snorm.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack2x16unorm.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack2x16unorm.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack4x8snorm.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack4x8snorm.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack4x8unorm.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack4x8unorm.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack4xI8.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack4xI8.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack4xU8.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/unpack4xU8.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/value_constructor.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/value_constructor.spec.js.map create mode 100644 webgpu/shader/validation/expression/call/builtin/workgroupUniformLoad.spec.js create mode 100644 webgpu/shader/validation/expression/call/builtin/workgroupUniformLoad.spec.js.map create mode 100644 webgpu/shader/validation/expression/early_evaluation.spec.js create mode 100644 webgpu/shader/validation/expression/early_evaluation.spec.js.map create mode 100644 webgpu/shader/validation/expression/matrix/add_sub.spec.js create mode 100644 webgpu/shader/validation/expression/matrix/add_sub.spec.js.map create mode 100644 webgpu/shader/validation/expression/matrix/and_or_xor.spec.js create mode 100644 webgpu/shader/validation/expression/matrix/and_or_xor.spec.js.map create mode 100644 webgpu/shader/validation/expression/matrix/bitwise_shift.spec.js create mode 100644 webgpu/shader/validation/expression/matrix/bitwise_shift.spec.js.map create mode 100644 webgpu/shader/validation/expression/matrix/comparison.spec.js create mode 100644 webgpu/shader/validation/expression/matrix/comparison.spec.js.map create mode 100644 webgpu/shader/validation/expression/matrix/div_rem.spec.js create mode 100644 webgpu/shader/validation/expression/matrix/div_rem.spec.js.map create mode 100644 webgpu/shader/validation/expression/matrix/mul.spec.js create mode 100644 webgpu/shader/validation/expression/matrix/mul.spec.js.map create mode 100644 webgpu/shader/validation/expression/overload_resolution.spec.js create mode 100644 webgpu/shader/validation/expression/overload_resolution.spec.js.map create mode 100644 webgpu/shader/validation/expression/precedence.spec.js create mode 100644 webgpu/shader/validation/expression/precedence.spec.js.map create mode 100644 webgpu/shader/validation/expression/unary/address_of_and_indirection.spec.js create mode 100644 webgpu/shader/validation/expression/unary/address_of_and_indirection.spec.js.map create mode 100644 webgpu/shader/validation/expression/unary/arithmetic_negation.spec.js create mode 100644 webgpu/shader/validation/expression/unary/arithmetic_negation.spec.js.map create mode 100644 webgpu/shader/validation/expression/unary/bitwise_complement.spec.js create mode 100644 webgpu/shader/validation/expression/unary/bitwise_complement.spec.js.map create mode 100644 webgpu/shader/validation/expression/unary/logical_negation.spec.js create mode 100644 webgpu/shader/validation/expression/unary/logical_negation.spec.js.map create mode 100644 webgpu/shader/validation/extension/clip_distances.spec.js create mode 100644 webgpu/shader/validation/extension/clip_distances.spec.js.map create mode 100644 webgpu/shader/validation/extension/dual_source_blending.spec.js create mode 100644 webgpu/shader/validation/extension/dual_source_blending.spec.js.map create mode 100644 webgpu/shader/validation/extension/pointer_composite_access.spec.js create mode 100644 webgpu/shader/validation/extension/pointer_composite_access.spec.js.map create mode 100644 webgpu/shader/validation/extension/readonly_and_readwrite_storage_textures.spec.js create mode 100644 webgpu/shader/validation/extension/readonly_and_readwrite_storage_textures.spec.js.map create mode 100644 webgpu/shader/validation/functions/alias_analysis.spec.js create mode 100644 webgpu/shader/validation/functions/alias_analysis.spec.js.map create mode 100644 webgpu/shader/validation/functions/restrictions.spec.js create mode 100644 webgpu/shader/validation/functions/restrictions.spec.js.map create mode 100644 webgpu/shader/validation/parse/attribute.spec.js create mode 100644 webgpu/shader/validation/parse/attribute.spec.js.map create mode 100644 webgpu/shader/validation/parse/blankspace.spec.js create mode 100644 webgpu/shader/validation/parse/blankspace.spec.js.map create mode 100644 webgpu/shader/validation/parse/comments.spec.js create mode 100644 webgpu/shader/validation/parse/comments.spec.js.map create mode 100644 webgpu/shader/validation/parse/diagnostic.spec.js create mode 100644 webgpu/shader/validation/parse/diagnostic.spec.js.map create mode 100644 webgpu/shader/validation/parse/enable.spec.js create mode 100644 webgpu/shader/validation/parse/enable.spec.js.map create mode 100644 webgpu/shader/validation/parse/identifiers.spec.js create mode 100644 webgpu/shader/validation/parse/identifiers.spec.js.map create mode 100644 webgpu/shader/validation/parse/literal.spec.js create mode 100644 webgpu/shader/validation/parse/literal.spec.js.map create mode 100644 webgpu/shader/validation/parse/must_use.spec.js create mode 100644 webgpu/shader/validation/parse/must_use.spec.js.map create mode 100644 webgpu/shader/validation/parse/requires.spec.js create mode 100644 webgpu/shader/validation/parse/requires.spec.js.map create mode 100644 webgpu/shader/validation/parse/semicolon.spec.js create mode 100644 webgpu/shader/validation/parse/semicolon.spec.js.map create mode 100644 webgpu/shader/validation/parse/shadow_builtins.spec.js create mode 100644 webgpu/shader/validation/parse/shadow_builtins.spec.js.map create mode 100644 webgpu/shader/validation/parse/source.spec.js create mode 100644 webgpu/shader/validation/parse/source.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/align.spec.js create mode 100644 webgpu/shader/validation/shader_io/align.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/binding.spec.js create mode 100644 webgpu/shader/validation/shader_io/binding.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/builtins.spec.js create mode 100644 webgpu/shader/validation/shader_io/builtins.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/entry_point.spec.js create mode 100644 webgpu/shader/validation/shader_io/entry_point.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/group.spec.js create mode 100644 webgpu/shader/validation/shader_io/group.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/group_and_binding.spec.js create mode 100644 webgpu/shader/validation/shader_io/group_and_binding.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/id.spec.js create mode 100644 webgpu/shader/validation/shader_io/id.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/interpolate.spec.js create mode 100644 webgpu/shader/validation/shader_io/interpolate.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/invariant.spec.js create mode 100644 webgpu/shader/validation/shader_io/invariant.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/layout_constraints.spec.js create mode 100644 webgpu/shader/validation/shader_io/layout_constraints.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/locations.spec.js create mode 100644 webgpu/shader/validation/shader_io/locations.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/pipeline_stage.spec.js create mode 100644 webgpu/shader/validation/shader_io/pipeline_stage.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/size.spec.js create mode 100644 webgpu/shader/validation/shader_io/size.spec.js.map create mode 100644 webgpu/shader/validation/shader_io/util.js create mode 100644 webgpu/shader/validation/shader_io/util.js.map create mode 100644 webgpu/shader/validation/shader_io/workgroup_size.spec.js create mode 100644 webgpu/shader/validation/shader_io/workgroup_size.spec.js.map create mode 100644 webgpu/shader/validation/shader_validation_test.js create mode 100644 webgpu/shader/validation/shader_validation_test.js.map create mode 100644 webgpu/shader/validation/statement/break.spec.js create mode 100644 webgpu/shader/validation/statement/break.spec.js.map create mode 100644 webgpu/shader/validation/statement/break_if.spec.js create mode 100644 webgpu/shader/validation/statement/break_if.spec.js.map create mode 100644 webgpu/shader/validation/statement/compound.spec.js create mode 100644 webgpu/shader/validation/statement/compound.spec.js.map create mode 100644 webgpu/shader/validation/statement/const_assert.spec.js create mode 100644 webgpu/shader/validation/statement/const_assert.spec.js.map create mode 100644 webgpu/shader/validation/statement/continue.spec.js create mode 100644 webgpu/shader/validation/statement/continue.spec.js.map create mode 100644 webgpu/shader/validation/statement/continuing.spec.js create mode 100644 webgpu/shader/validation/statement/continuing.spec.js.map create mode 100644 webgpu/shader/validation/statement/discard.spec.js create mode 100644 webgpu/shader/validation/statement/discard.spec.js.map create mode 100644 webgpu/shader/validation/statement/for.spec.js create mode 100644 webgpu/shader/validation/statement/for.spec.js.map create mode 100644 webgpu/shader/validation/statement/if.spec.js create mode 100644 webgpu/shader/validation/statement/if.spec.js.map create mode 100644 webgpu/shader/validation/statement/increment_decrement.spec.js create mode 100644 webgpu/shader/validation/statement/increment_decrement.spec.js.map create mode 100644 webgpu/shader/validation/statement/loop.spec.js create mode 100644 webgpu/shader/validation/statement/loop.spec.js.map create mode 100644 webgpu/shader/validation/statement/phony.spec.js create mode 100644 webgpu/shader/validation/statement/phony.spec.js.map create mode 100644 webgpu/shader/validation/statement/return.spec.js create mode 100644 webgpu/shader/validation/statement/return.spec.js.map create mode 100644 webgpu/shader/validation/statement/statement_behavior.spec.js create mode 100644 webgpu/shader/validation/statement/statement_behavior.spec.js.map create mode 100644 webgpu/shader/validation/statement/switch.spec.js create mode 100644 webgpu/shader/validation/statement/switch.spec.js.map create mode 100644 webgpu/shader/validation/statement/test_types.js create mode 100644 webgpu/shader/validation/statement/test_types.js.map create mode 100644 webgpu/shader/validation/statement/while.spec.js create mode 100644 webgpu/shader/validation/statement/while.spec.js.map create mode 100644 webgpu/shader/validation/types/alias.spec.js create mode 100644 webgpu/shader/validation/types/alias.spec.js.map create mode 100644 webgpu/shader/validation/types/array.spec.js create mode 100644 webgpu/shader/validation/types/array.spec.js.map create mode 100644 webgpu/shader/validation/types/atomics.spec.js create mode 100644 webgpu/shader/validation/types/atomics.spec.js.map create mode 100644 webgpu/shader/validation/types/enumerant.spec.js create mode 100644 webgpu/shader/validation/types/enumerant.spec.js.map create mode 100644 webgpu/shader/validation/types/matrix.spec.js create mode 100644 webgpu/shader/validation/types/matrix.spec.js.map create mode 100644 webgpu/shader/validation/types/pointer.spec.js create mode 100644 webgpu/shader/validation/types/pointer.spec.js.map create mode 100644 webgpu/shader/validation/types/ref.spec.js create mode 100644 webgpu/shader/validation/types/ref.spec.js.map create mode 100644 webgpu/shader/validation/types/struct.spec.js create mode 100644 webgpu/shader/validation/types/struct.spec.js.map create mode 100644 webgpu/shader/validation/types/textures.spec.js create mode 100644 webgpu/shader/validation/types/textures.spec.js.map create mode 100644 webgpu/shader/validation/types/vector.spec.js create mode 100644 webgpu/shader/validation/types/vector.spec.js.map create mode 100644 webgpu/shader/validation/uniformity/uniformity.spec.js create mode 100644 webgpu/shader/validation/uniformity/uniformity.spec.js.map create mode 100644 webgpu/shader/values.js create mode 100644 webgpu/shader/values.js.map create mode 100644 webgpu/util/binary_stream.js create mode 100644 webgpu/util/binary_stream.js.map create mode 100644 webgpu/util/check_contents.js create mode 100644 webgpu/util/check_contents.js.map create mode 100644 webgpu/util/color_space_conversion.js create mode 100644 webgpu/util/color_space_conversion.js.map create mode 100644 webgpu/util/command_buffer_maker.js create mode 100644 webgpu/util/command_buffer_maker.js.map create mode 100644 webgpu/util/compare.js create mode 100644 webgpu/util/compare.js.map create mode 100644 webgpu/util/constants.js create mode 100644 webgpu/util/constants.js.map create mode 100644 webgpu/util/conversion.js create mode 100644 webgpu/util/conversion.js.map create mode 100644 webgpu/util/copy_to_texture.js create mode 100644 webgpu/util/copy_to_texture.js.map create mode 100644 webgpu/util/create_elements.js create mode 100644 webgpu/util/create_elements.js.map create mode 100644 webgpu/util/device_pool.js create mode 100644 webgpu/util/device_pool.js.map create mode 100644 webgpu/util/floating_point.js create mode 100644 webgpu/util/floating_point.js.map create mode 100644 webgpu/util/math.js create mode 100644 webgpu/util/math.js.map create mode 100644 webgpu/util/memory.js create mode 100644 webgpu/util/memory.js.map create mode 100644 webgpu/util/pretty_diff_tables.js create mode 100644 webgpu/util/pretty_diff_tables.js.map create mode 100644 webgpu/util/prng.js create mode 100644 webgpu/util/prng.js.map create mode 100644 webgpu/util/reinterpret.js create mode 100644 webgpu/util/reinterpret.js.map create mode 100644 webgpu/util/shader.js create mode 100644 webgpu/util/shader.js.map create mode 100644 webgpu/util/texture.js create mode 100644 webgpu/util/texture.js.map create mode 100644 webgpu/util/texture/base.js create mode 100644 webgpu/util/texture/base.js.map create mode 100644 webgpu/util/texture/color_space_conversions.spec.js create mode 100644 webgpu/util/texture/color_space_conversions.spec.js.map create mode 100644 webgpu/util/texture/data_generation.js create mode 100644 webgpu/util/texture/data_generation.js.map create mode 100644 webgpu/util/texture/layout.js create mode 100644 webgpu/util/texture/layout.js.map create mode 100644 webgpu/util/texture/subresource.js create mode 100644 webgpu/util/texture/subresource.js.map create mode 100644 webgpu/util/texture/texel_data.js create mode 100644 webgpu/util/texture/texel_data.js.map create mode 100644 webgpu/util/texture/texel_data.spec.js create mode 100644 webgpu/util/texture/texel_data.spec.js.map create mode 100644 webgpu/util/texture/texel_view.js create mode 100644 webgpu/util/texture/texel_view.js.map create mode 100644 webgpu/util/texture/texture_ok.js create mode 100644 webgpu/util/texture/texture_ok.js.map create mode 100644 webgpu/util/texture/texture_ok.spec.js create mode 100644 webgpu/util/texture/texture_ok.spec.js.map create mode 100644 webgpu/util/unions.js create mode 100644 webgpu/util/unions.js.map create mode 100644 webgpu/web_platform/canvas/configure.spec.js create mode 100644 webgpu/web_platform/canvas/configure.spec.js.map create mode 100644 webgpu/web_platform/canvas/context_creation.spec.js create mode 100644 webgpu/web_platform/canvas/context_creation.spec.js.map create mode 100644 webgpu/web_platform/canvas/getCurrentTexture.spec.js create mode 100644 webgpu/web_platform/canvas/getCurrentTexture.spec.js.map create mode 100644 webgpu/web_platform/canvas/getPreferredCanvasFormat.spec.js create mode 100644 webgpu/web_platform/canvas/getPreferredCanvasFormat.spec.js.map create mode 100644 webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.js create mode 100644 webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.js.map create mode 100644 webgpu/web_platform/copyToTexture/ImageBitmap.spec.js create mode 100644 webgpu/web_platform/copyToTexture/ImageBitmap.spec.js.map create mode 100644 webgpu/web_platform/copyToTexture/ImageData.spec.js create mode 100644 webgpu/web_platform/copyToTexture/ImageData.spec.js.map create mode 100644 webgpu/web_platform/copyToTexture/canvas.spec.js create mode 100644 webgpu/web_platform/copyToTexture/canvas.spec.js.map create mode 100644 webgpu/web_platform/copyToTexture/image.spec.js create mode 100644 webgpu/web_platform/copyToTexture/image.spec.js.map create mode 100644 webgpu/web_platform/copyToTexture/util.js create mode 100644 webgpu/web_platform/copyToTexture/util.js.map create mode 100644 webgpu/web_platform/copyToTexture/video.spec.js create mode 100644 webgpu/web_platform/copyToTexture/video.spec.js.map create mode 100644 webgpu/web_platform/external_texture/video.spec.js create mode 100644 webgpu/web_platform/external_texture/video.spec.js.map create mode 100644 webgpu/web_platform/reftests/canvas_clear.html.js create mode 100644 webgpu/web_platform/reftests/canvas_clear.html.js.map rename {src/webgpu => webgpu}/web_platform/reftests/canvas_clear.https.html (100%) create mode 100644 webgpu/web_platform/reftests/canvas_colorspace.html.js create mode 100644 webgpu/web_platform/reftests/canvas_colorspace.html.js.map rename {src/webgpu => webgpu}/web_platform/reftests/canvas_colorspace_bgra8unorm.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_colorspace_rgba16float.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_colorspace_rgba8unorm.https.html (100%) create mode 100644 webgpu/web_platform/reftests/canvas_complex.html.js create mode 100644 webgpu/web_platform/reftests/canvas_complex.html.js.map rename {src/webgpu => webgpu}/web_platform/reftests/canvas_complex_bgra8unorm_copy.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_complex_bgra8unorm_draw.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_complex_rgba16float_copy.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_complex_rgba16float_draw.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_complex_rgba16float_store.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_complex_rgba8unorm_copy.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_complex_rgba8unorm_draw.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_complex_rgba8unorm_store.https.html (100%) create mode 100644 webgpu/web_platform/reftests/canvas_composite_alpha.html.js create mode 100644 webgpu/web_platform/reftests/canvas_composite_alpha.html.js.map rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_bgra8unorm_opaque_copy.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_bgra8unorm_opaque_draw.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_bgra8unorm_premultiplied_copy.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_bgra8unorm_premultiplied_draw.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_rgba16float_opaque_copy.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_rgba16float_opaque_draw.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_rgba16float_premultiplied_copy.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_rgba16float_premultiplied_draw.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_rgba8unorm_opaque_copy.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_rgba8unorm_opaque_draw.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_rgba8unorm_premultiplied_copy.https.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/canvas_composite_alpha_rgba8unorm_premultiplied_draw.https.html (100%) create mode 100644 webgpu/web_platform/reftests/canvas_display_after_device_lost.html.js create mode 100644 webgpu/web_platform/reftests/canvas_display_after_device_lost.html.js.map rename {src/webgpu => webgpu}/web_platform/reftests/canvas_display_after_device_lost.https.html (100%) create mode 100644 webgpu/web_platform/reftests/canvas_image_rendering.html.js create mode 100644 webgpu/web_platform/reftests/canvas_image_rendering.html.js.map rename {src/webgpu => webgpu}/web_platform/reftests/canvas_image_rendering.https.html (100%) create mode 100644 webgpu/web_platform/reftests/create-pattern-data-url.js create mode 100644 webgpu/web_platform/reftests/create-pattern-data-url.js.map create mode 100644 webgpu/web_platform/reftests/delay_get_texture.html.js create mode 100644 webgpu/web_platform/reftests/delay_get_texture.html.js.map rename {src/webgpu => webgpu}/web_platform/reftests/delay_get_texture.https.html (100%) create mode 100644 webgpu/web_platform/reftests/gpu_ref_test.js create mode 100644 webgpu/web_platform/reftests/gpu_ref_test.js.map rename {src/webgpu => webgpu}/web_platform/reftests/ref/canvas_clear-ref.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/ref/canvas_colorspace-ref.html (100%) create mode 100644 webgpu/web_platform/reftests/ref/canvas_colorspace-ref.html.js create mode 100644 webgpu/web_platform/reftests/ref/canvas_colorspace-ref.html.js.map rename {src/webgpu => webgpu}/web_platform/reftests/ref/canvas_complex-ref.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/ref/canvas_composite_alpha_opaque-ref.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/ref/canvas_composite_alpha_premultiplied-ref.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/ref/canvas_display_after_device_lost-ref.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/ref/canvas_image_rendering-ref.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/ref/delay_get_texture-ref.html (100%) rename {src/webgpu => webgpu}/web_platform/reftests/ref/resize_observer-ref.html (100%) create mode 100644 webgpu/web_platform/reftests/resize_observer.html.js create mode 100644 webgpu/web_platform/reftests/resize_observer.html.js.map rename {src/webgpu => webgpu}/web_platform/reftests/resize_observer.https.html (100%) create mode 100644 webgpu/web_platform/util.js create mode 100644 webgpu/web_platform/util.js.map create mode 100644 webgpu/web_platform/worker/worker.js create mode 100644 webgpu/web_platform/worker/worker.js.map create mode 100644 webgpu/web_platform/worker/worker.spec.js create mode 100644 webgpu/web_platform/worker/worker.spec.js.map create mode 100644 webgpu/web_platform/worker/worker_launcher.js create mode 100644 webgpu/web_platform/worker/worker_launcher.js.map create mode 100644 webgpu/webworker/api/operation/adapter/info.as_worker.js create mode 100644 webgpu/webworker/api/operation/adapter/requestAdapter.as_worker.js create mode 100644 webgpu/webworker/api/operation/adapter/requestDevice.as_worker.js create mode 100644 webgpu/webworker/api/operation/buffers/map.as_worker.js create mode 100644 webgpu/webworker/api/operation/buffers/map_ArrayBuffer.as_worker.js create mode 100644 webgpu/webworker/api/operation/buffers/map_detach.as_worker.js create mode 100644 webgpu/webworker/api/operation/buffers/map_oom.as_worker.js create mode 100644 webgpu/webworker/api/operation/buffers/threading.as_worker.js create mode 100644 webgpu/webworker/api/operation/command_buffer/basic.as_worker.js create mode 100644 webgpu/webworker/api/operation/command_buffer/clearBuffer.as_worker.js create mode 100644 webgpu/webworker/api/operation/command_buffer/copyBufferToBuffer.as_worker.js create mode 100644 webgpu/webworker/api/operation/command_buffer/copyTextureToTexture.as_worker.js create mode 100644 webgpu/webworker/api/operation/command_buffer/image_copy.as_worker.js create mode 100644 webgpu/webworker/api/operation/command_buffer/programmable/state_tracking.as_worker.js create mode 100644 webgpu/webworker/api/operation/command_buffer/queries/occlusionQuery.as_worker.js create mode 100644 webgpu/webworker/api/operation/command_buffer/render/dynamic_state.as_worker.js create mode 100644 webgpu/webworker/api/operation/command_buffer/render/state_tracking.as_worker.js create mode 100644 webgpu/webworker/api/operation/compute/basic.as_worker.js create mode 100644 webgpu/webworker/api/operation/compute_pipeline/entry_point_name.as_worker.js create mode 100644 webgpu/webworker/api/operation/compute_pipeline/overrides.as_worker.js create mode 100644 webgpu/webworker/api/operation/device/lost.as_worker.js create mode 100644 webgpu/webworker/api/operation/labels.as_worker.js create mode 100644 webgpu/webworker/api/operation/memory_sync/buffer/multiple_buffers.as_worker.js create mode 100644 webgpu/webworker/api/operation/memory_sync/buffer/single_buffer.as_worker.js create mode 100644 webgpu/webworker/api/operation/memory_sync/texture/readonly_depth_stencil.as_worker.js create mode 100644 webgpu/webworker/api/operation/memory_sync/texture/same_subresource.as_worker.js create mode 100644 webgpu/webworker/api/operation/onSubmittedWorkDone.as_worker.js create mode 100644 webgpu/webworker/api/operation/pipeline/default_layout.as_worker.js create mode 100644 webgpu/webworker/api/operation/queue/writeBuffer.as_worker.js create mode 100644 webgpu/webworker/api/operation/reflection.as_worker.js create mode 100644 webgpu/webworker/api/operation/render_pass/clear_value.as_worker.js create mode 100644 webgpu/webworker/api/operation/render_pass/resolve.as_worker.js create mode 100644 webgpu/webworker/api/operation/render_pass/storeOp.as_worker.js create mode 100644 webgpu/webworker/api/operation/render_pass/storeop2.as_worker.js create mode 100644 webgpu/webworker/api/operation/render_pipeline/culling_tests.as_worker.js create mode 100644 webgpu/webworker/api/operation/render_pipeline/overrides.as_worker.js create mode 100644 webgpu/webworker/api/operation/render_pipeline/pipeline_output_targets.as_worker.js create mode 100644 webgpu/webworker/api/operation/render_pipeline/primitive_topology.as_worker.js create mode 100644 webgpu/webworker/api/operation/render_pipeline/sample_mask.as_worker.js create mode 100644 webgpu/webworker/api/operation/render_pipeline/vertex_only_render_pipeline.as_worker.js create mode 100644 webgpu/webworker/api/operation/rendering/3d_texture_slices.as_worker.js create mode 100644 webgpu/webworker/api/operation/rendering/basic.as_worker.js create mode 100644 webgpu/webworker/api/operation/rendering/color_target_state.as_worker.js create mode 100644 webgpu/webworker/api/operation/rendering/depth.as_worker.js create mode 100644 webgpu/webworker/api/operation/rendering/depth_bias.as_worker.js create mode 100644 webgpu/webworker/api/operation/rendering/depth_clip_clamp.as_worker.js create mode 100644 webgpu/webworker/api/operation/rendering/draw.as_worker.js create mode 100644 webgpu/webworker/api/operation/rendering/indirect_draw.as_worker.js create mode 100644 webgpu/webworker/api/operation/rendering/robust_access_index.as_worker.js create mode 100644 webgpu/webworker/api/operation/rendering/stencil.as_worker.js create mode 100644 webgpu/webworker/api/operation/resource_init/buffer.as_worker.js create mode 100644 webgpu/webworker/api/operation/resource_init/texture_zero.as_worker.js create mode 100644 webgpu/webworker/api/operation/sampling/anisotropy.as_worker.js create mode 100644 webgpu/webworker/api/operation/sampling/filter_mode.as_worker.js create mode 100644 webgpu/webworker/api/operation/sampling/lod_clamp.as_worker.js create mode 100644 webgpu/webworker/api/operation/shader_module/compilation_info.as_worker.js create mode 100644 webgpu/webworker/api/operation/storage_texture/read_only.as_worker.js create mode 100644 webgpu/webworker/api/operation/storage_texture/read_write.as_worker.js create mode 100644 webgpu/webworker/api/operation/texture_view/format_reinterpretation.as_worker.js create mode 100644 webgpu/webworker/api/operation/texture_view/read.as_worker.js create mode 100644 webgpu/webworker/api/operation/texture_view/write.as_worker.js create mode 100644 webgpu/webworker/api/operation/uncapturederror.as_worker.js create mode 100644 webgpu/webworker/api/operation/vertex_state/correctness.as_worker.js create mode 100644 webgpu/webworker/api/operation/vertex_state/index_format.as_worker.js create mode 100644 webgpu/webworker/api/validation/buffer/create.as_worker.js create mode 100644 webgpu/webworker/api/validation/buffer/destroy.as_worker.js create mode 100644 webgpu/webworker/api/validation/buffer/mapping.as_worker.js create mode 100644 webgpu/webworker/api/validation/buffer/threading.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/features/clip_distances.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/features/query_types.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/features/texture_formats.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxBindGroups.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxBindGroupsPlusVertexBuffers.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxBindingsPerBindGroup.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxBufferSize.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxColorAttachmentBytesPerSample.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxColorAttachments.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxComputeInvocationsPerWorkgroup.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxComputeWorkgroupSizeX.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxComputeWorkgroupSizeY.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxComputeWorkgroupSizeZ.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxComputeWorkgroupsPerDimension.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxDynamicStorageBuffersPerPipelineLayout.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxDynamicUniformBuffersPerPipelineLayout.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxInterStageShaderComponents.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxInterStageShaderVariables.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxSampledTexturesPerShaderStage.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxSamplersPerShaderStage.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxStorageBufferBindingSize.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxStorageBuffersPerShaderStage.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxStorageTexturesPerShaderStage.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxTextureArrayLayers.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxTextureDimension1D.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxTextureDimension2D.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxTextureDimension3D.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxUniformBufferBindingSize.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxUniformBuffersPerShaderStage.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxVertexAttributes.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxVertexBufferArrayStride.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/maxVertexBuffers.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/minStorageBufferOffsetAlignment.as_worker.js create mode 100644 webgpu/webworker/api/validation/capability_checks/limits/minUniformBufferOffsetAlignment.as_worker.js create mode 100644 webgpu/webworker/api/validation/compute_pipeline.as_worker.js create mode 100644 webgpu/webworker/api/validation/createBindGroup.as_worker.js create mode 100644 webgpu/webworker/api/validation/createBindGroupLayout.as_worker.js create mode 100644 webgpu/webworker/api/validation/createPipelineLayout.as_worker.js create mode 100644 webgpu/webworker/api/validation/createSampler.as_worker.js create mode 100644 webgpu/webworker/api/validation/createTexture.as_worker.js create mode 100644 webgpu/webworker/api/validation/createView.as_worker.js create mode 100644 webgpu/webworker/api/validation/debugMarker.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/beginComputePass.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/beginRenderPass.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/clearBuffer.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/compute_pass.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/copyBufferToBuffer.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/copyTextureToTexture.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/debug.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/index_access.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/render/draw.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/render/dynamic_state.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/render/indirect_draw.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/render/setIndexBuffer.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/render/setPipeline.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/render/setVertexBuffer.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/render/state_tracking.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/render_pass.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/cmds/setBindGroup.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/createRenderBundleEncoder.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/encoder_open_state.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/encoder_state.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/programmable/pipeline_bind_group_compat.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/queries/begin_end.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/queries/general.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/queries/resolveQuerySet.as_worker.js create mode 100644 webgpu/webworker/api/validation/encoding/render_bundle.as_worker.js create mode 100644 webgpu/webworker/api/validation/error_scope.as_worker.js create mode 100644 webgpu/webworker/api/validation/getBindGroupLayout.as_worker.js create mode 100644 webgpu/webworker/api/validation/gpu_external_texture_expiration.as_worker.js create mode 100644 webgpu/webworker/api/validation/image_copy/buffer_related.as_worker.js create mode 100644 webgpu/webworker/api/validation/image_copy/buffer_texture_copies.as_worker.js create mode 100644 webgpu/webworker/api/validation/image_copy/layout_related.as_worker.js create mode 100644 webgpu/webworker/api/validation/image_copy/texture_related.as_worker.js create mode 100644 webgpu/webworker/api/validation/layout_shader_compat.as_worker.js create mode 100644 webgpu/webworker/api/validation/query_set/create.as_worker.js create mode 100644 webgpu/webworker/api/validation/query_set/destroy.as_worker.js create mode 100644 webgpu/webworker/api/validation/queue/buffer_mapped.as_worker.js create mode 100644 webgpu/webworker/api/validation/queue/copyToTexture/CopyExternalImageToTexture.as_worker.js create mode 100644 webgpu/webworker/api/validation/queue/destroyed/buffer.as_worker.js create mode 100644 webgpu/webworker/api/validation/queue/destroyed/query_set.as_worker.js create mode 100644 webgpu/webworker/api/validation/queue/destroyed/texture.as_worker.js create mode 100644 webgpu/webworker/api/validation/queue/submit.as_worker.js create mode 100644 webgpu/webworker/api/validation/queue/writeBuffer.as_worker.js create mode 100644 webgpu/webworker/api/validation/queue/writeTexture.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pass/attachment_compatibility.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pass/render_pass_descriptor.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pass/resolve.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/depth_stencil_state.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/float32_blendable.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/fragment_state.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/inter_stage.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/misc.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/multisample_state.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/overrides.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/primitive_state.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/resource_compatibility.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/shader_module.as_worker.js create mode 100644 webgpu/webworker/api/validation/render_pipeline/vertex_state.as_worker.js create mode 100644 webgpu/webworker/api/validation/resource_usages/buffer/in_pass_encoder.as_worker.js create mode 100644 webgpu/webworker/api/validation/resource_usages/buffer/in_pass_misc.as_worker.js create mode 100644 webgpu/webworker/api/validation/resource_usages/texture/in_pass_encoder.as_worker.js create mode 100644 webgpu/webworker/api/validation/resource_usages/texture/in_render_common.as_worker.js create mode 100644 webgpu/webworker/api/validation/resource_usages/texture/in_render_misc.as_worker.js create mode 100644 webgpu/webworker/api/validation/shader_module/entry_point.as_worker.js create mode 100644 webgpu/webworker/api/validation/shader_module/overrides.as_worker.js create mode 100644 webgpu/webworker/api/validation/state/device_lost/destroy.as_worker.js create mode 100644 webgpu/webworker/api/validation/texture/bgra8unorm_storage.as_worker.js create mode 100644 webgpu/webworker/api/validation/texture/destroy.as_worker.js create mode 100644 webgpu/webworker/api/validation/texture/float32_filterable.as_worker.js create mode 100644 webgpu/webworker/api/validation/texture/rg11b10ufloat_renderable.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/createBindGroup.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/createBindGroupLayout.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/encoding/cmds/copyTextureToBuffer.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/encoding/cmds/copyTextureToTexture.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/encoding/programmable/pipeline_bind_group_compat.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/render_pipeline/depth_stencil_state.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/render_pipeline/fragment_state.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/render_pipeline/unsupported_wgsl.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/render_pipeline/vertex_state.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/texture/createTexture.as_worker.js create mode 100644 webgpu/webworker/compat/api/validation/texture/cubeArray.as_worker.js create mode 100644 webgpu/webworker/examples.as_worker.js create mode 100644 webgpu/webworker/idl/constants/flags.as_worker.js create mode 100644 webgpu/webworker/idl/constructable.as_worker.js create mode 100644 webgpu/webworker/print_environment.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/access/array/index.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/access/matrix/index.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/access/structure/index.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/access/vector/components.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/access/vector/index.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_addition.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_comparison.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_division.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_matrix_addition.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_matrix_matrix_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_matrix_scalar_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_matrix_subtraction.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_matrix_vector_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_remainder.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/af_subtraction.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/ai_arithmetic.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/ai_comparison.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/bitwise.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/bitwise_shift.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/bool_logical.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_addition.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_comparison.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_division.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_matrix_addition.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_matrix_matrix_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_matrix_scalar_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_matrix_subtraction.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_matrix_vector_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_remainder.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f16_subtraction.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_addition.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_comparison.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_division.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_matrix_addition.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_matrix_matrix_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_matrix_scalar_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_matrix_subtraction.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_matrix_vector_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_multiplication.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_remainder.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/f32_subtraction.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/i32_arithmetic.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/i32_comparison.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/u32_arithmetic.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/binary/u32_comparison.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/abs.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/acos.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/acosh.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/all.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/any.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/arrayLength.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/asin.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/asinh.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atan.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atan2.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atanh.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicAdd.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicAnd.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicCompareExchangeWeak.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicExchange.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicLoad.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicMax.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicMin.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicOr.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicStore.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicSub.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicXor.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/bitcast.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/ceil.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/clamp.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/cos.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/cosh.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/countLeadingZeros.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/countOneBits.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/countTrailingZeros.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/cross.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/degrees.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/determinant.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/distance.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/dot.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/dot4I8Packed.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/dot4U8Packed.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/dpdx.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/dpdxCoarse.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/dpdxFine.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/dpdy.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/dpdyCoarse.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/dpdyFine.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/exp.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/exp2.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/extractBits.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/faceForward.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/firstLeadingBit.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/firstTrailingBit.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/floor.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/fma.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/fract.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/frexp.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/fwidth.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/fwidthCoarse.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/fwidthFine.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/insertBits.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/inversesqrt.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/ldexp.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/length.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/log.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/log2.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/max.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/min.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/mix.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/modf.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/normalize.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/pack2x16float.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/pack2x16snorm.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/pack2x16unorm.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/pack4x8snorm.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/pack4x8unorm.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/pack4xI8.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/pack4xI8Clamp.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/pack4xU8.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/pack4xU8Clamp.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/pow.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/quadBroadcast.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/quadSwap.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/quantizeToF16.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/radians.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/reflect.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/refract.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/reverseBits.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/round.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/saturate.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/select.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/sign.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/sin.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/sinh.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/smoothstep.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/sqrt.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/step.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/storageBarrier.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/subgroupAdd.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/subgroupAll.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/subgroupAny.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/subgroupBallot.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/subgroupBitwise.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/subgroupBroadcast.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/subgroupMul.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/tan.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/tanh.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureDimensions.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureGather.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureGatherCompare.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureLoad.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureNumLayers.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureNumLevels.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureNumSamples.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureSample.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureSampleBaseClampToEdge.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureSampleBias.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureSampleCompare.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureSampleCompareLevel.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureSampleGrad.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureSampleLevel.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/textureStore.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/transpose.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/trunc.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/unpack2x16float.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/unpack2x16snorm.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/unpack2x16unorm.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/unpack4x8snorm.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/unpack4x8unorm.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/unpack4xI8.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/unpack4xU8.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/workgroupBarrier.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/builtin/workgroupUniformLoad.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/call/user/ptr_params.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/constructor/non_zero.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/constructor/zero_value.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/precedence.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/address_of_and_indirection.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/af_arithmetic.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/af_assignment.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/ai_arithmetic.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/ai_assignment.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/ai_complement.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/bool_conversion.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/bool_logical.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/f16_arithmetic.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/f16_conversion.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/f32_arithmetic.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/f32_conversion.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/i32_arithmetic.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/i32_complement.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/i32_conversion.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/u32_complement.as_worker.js create mode 100644 webgpu/webworker/shader/execution/expression/unary/u32_conversion.as_worker.js create mode 100644 webgpu/webworker/shader/execution/float_parse.as_worker.js create mode 100644 webgpu/webworker/shader/execution/flow_control/call.as_worker.js create mode 100644 webgpu/webworker/shader/execution/flow_control/complex.as_worker.js create mode 100644 webgpu/webworker/shader/execution/flow_control/eval_order.as_worker.js create mode 100644 webgpu/webworker/shader/execution/flow_control/for.as_worker.js create mode 100644 webgpu/webworker/shader/execution/flow_control/if.as_worker.js create mode 100644 webgpu/webworker/shader/execution/flow_control/loop.as_worker.js create mode 100644 webgpu/webworker/shader/execution/flow_control/phony.as_worker.js create mode 100644 webgpu/webworker/shader/execution/flow_control/return.as_worker.js create mode 100644 webgpu/webworker/shader/execution/flow_control/switch.as_worker.js create mode 100644 webgpu/webworker/shader/execution/flow_control/while.as_worker.js create mode 100644 webgpu/webworker/shader/execution/limits.as_worker.js create mode 100644 webgpu/webworker/shader/execution/memory_layout.as_worker.js create mode 100644 webgpu/webworker/shader/execution/memory_model/adjacent.as_worker.js create mode 100644 webgpu/webworker/shader/execution/memory_model/atomicity.as_worker.js create mode 100644 webgpu/webworker/shader/execution/memory_model/barrier.as_worker.js create mode 100644 webgpu/webworker/shader/execution/memory_model/coherence.as_worker.js create mode 100644 webgpu/webworker/shader/execution/memory_model/texture_intra_invocation_coherence.as_worker.js create mode 100644 webgpu/webworker/shader/execution/memory_model/weak.as_worker.js create mode 100644 webgpu/webworker/shader/execution/padding.as_worker.js create mode 100644 webgpu/webworker/shader/execution/robust_access.as_worker.js create mode 100644 webgpu/webworker/shader/execution/robust_access_vertex.as_worker.js create mode 100644 webgpu/webworker/shader/execution/shader_io/compute_builtins.as_worker.js create mode 100644 webgpu/webworker/shader/execution/shader_io/fragment_builtins.as_worker.js create mode 100644 webgpu/webworker/shader/execution/shader_io/shared_structs.as_worker.js create mode 100644 webgpu/webworker/shader/execution/shader_io/user_io.as_worker.js create mode 100644 webgpu/webworker/shader/execution/shader_io/vertex_builtins.as_worker.js create mode 100644 webgpu/webworker/shader/execution/shader_io/workgroup_size.as_worker.js create mode 100644 webgpu/webworker/shader/execution/shadow.as_worker.js create mode 100644 webgpu/webworker/shader/execution/stage.as_worker.js create mode 100644 webgpu/webworker/shader/execution/statement/compound.as_worker.js create mode 100644 webgpu/webworker/shader/execution/statement/discard.as_worker.js create mode 100644 webgpu/webworker/shader/execution/statement/increment_decrement.as_worker.js create mode 100644 webgpu/webworker/shader/execution/statement/phony.as_worker.js create mode 100644 webgpu/webworker/shader/execution/value_init.as_worker.js create mode 100644 webgpu/webworker/shader/execution/zero_init.as_worker.js create mode 100644 webgpu/webworker/shader/validation/const_assert/const_assert.as_worker.js create mode 100644 webgpu/webworker/shader/validation/decl/compound_statement.as_worker.js create mode 100644 webgpu/webworker/shader/validation/decl/const.as_worker.js create mode 100644 webgpu/webworker/shader/validation/decl/context_dependent_resolution.as_worker.js create mode 100644 webgpu/webworker/shader/validation/decl/let.as_worker.js create mode 100644 webgpu/webworker/shader/validation/decl/override.as_worker.js create mode 100644 webgpu/webworker/shader/validation/decl/var.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/access/array.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/access/matrix.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/access/structure.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/access/vector.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/binary/add_sub_mul.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/binary/and_or_xor.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/binary/bitwise_shift.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/binary/comparison.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/binary/div_rem.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/binary/parse.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/binary/short_circuiting_and_or.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/abs.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/acos.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/acosh.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/all.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/any.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/arrayLength.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/asin.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/asinh.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/atan.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/atan2.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/atanh.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/atomics.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/barriers.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/bitcast.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/ceil.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/clamp.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/cos.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/cosh.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/countLeadingZeros.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/countOneBits.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/countTrailingZeros.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/cross.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/degrees.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/derivatives.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/determinant.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/distance.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/dot.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/dot4I8Packed.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/dot4U8Packed.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/exp.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/exp2.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/extractBits.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/faceForward.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/firstLeadingBit.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/firstTrailingBit.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/floor.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/fma.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/fract.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/frexp.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/insertBits.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/inverseSqrt.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/ldexp.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/length.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/log.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/log2.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/max.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/min.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/mix.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/modf.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/normalize.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/pack2x16float.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/pack2x16snorm.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/pack2x16unorm.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/pack4x8snorm.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/pack4x8unorm.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/pack4xI8.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/pack4xI8Clamp.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/pack4xU8.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/pack4xU8Clamp.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/pow.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/quadBroadcast.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/quadSwap.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/quantizeToF16.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/radians.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/reflect.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/refract.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/reverseBits.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/round.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/saturate.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/select.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/sign.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/sin.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/sinh.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/smoothstep.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/sqrt.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/step.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/subgroupAdd.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/subgroupAnyAll.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/subgroupBallot.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/subgroupBitwise.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/subgroupBroadcast.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/subgroupBroadcastFirst.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/subgroupElect.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/subgroupMinMax.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/subgroupMul.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/subgroupShuffle.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/tan.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/tanh.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureDimensions.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureGather.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureGatherCompare.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureLoad.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureNumLayers.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureNumLevels.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureNumSamples.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureSample.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureSampleBaseClampToEdge.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureSampleBias.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureSampleCompare.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureSampleCompareLevel.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureSampleGrad.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureSampleLevel.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/textureStore.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/transpose.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/trunc.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/unpack2x16float.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/unpack2x16snorm.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/unpack2x16unorm.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/unpack4x8snorm.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/unpack4x8unorm.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/unpack4xI8.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/unpack4xU8.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/value_constructor.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/call/builtin/workgroupUniformLoad.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/early_evaluation.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/matrix/add_sub.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/matrix/and_or_xor.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/matrix/bitwise_shift.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/matrix/comparison.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/matrix/div_rem.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/matrix/mul.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/overload_resolution.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/precedence.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/unary/address_of_and_indirection.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/unary/arithmetic_negation.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/unary/bitwise_complement.as_worker.js create mode 100644 webgpu/webworker/shader/validation/expression/unary/logical_negation.as_worker.js create mode 100644 webgpu/webworker/shader/validation/extension/clip_distances.as_worker.js create mode 100644 webgpu/webworker/shader/validation/extension/dual_source_blending.as_worker.js create mode 100644 webgpu/webworker/shader/validation/extension/pointer_composite_access.as_worker.js create mode 100644 webgpu/webworker/shader/validation/extension/readonly_and_readwrite_storage_textures.as_worker.js create mode 100644 webgpu/webworker/shader/validation/functions/alias_analysis.as_worker.js create mode 100644 webgpu/webworker/shader/validation/functions/restrictions.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/attribute.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/blankspace.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/comments.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/diagnostic.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/enable.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/identifiers.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/literal.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/must_use.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/requires.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/semicolon.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/shadow_builtins.as_worker.js create mode 100644 webgpu/webworker/shader/validation/parse/source.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/align.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/binding.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/builtins.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/entry_point.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/group.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/group_and_binding.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/id.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/interpolate.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/invariant.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/layout_constraints.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/locations.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/pipeline_stage.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/size.as_worker.js create mode 100644 webgpu/webworker/shader/validation/shader_io/workgroup_size.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/break.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/break_if.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/compound.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/const_assert.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/continue.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/continuing.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/discard.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/for.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/if.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/increment_decrement.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/loop.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/phony.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/return.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/statement_behavior.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/switch.as_worker.js create mode 100644 webgpu/webworker/shader/validation/statement/while.as_worker.js create mode 100644 webgpu/webworker/shader/validation/types/alias.as_worker.js create mode 100644 webgpu/webworker/shader/validation/types/array.as_worker.js create mode 100644 webgpu/webworker/shader/validation/types/atomics.as_worker.js create mode 100644 webgpu/webworker/shader/validation/types/enumerant.as_worker.js create mode 100644 webgpu/webworker/shader/validation/types/matrix.as_worker.js create mode 100644 webgpu/webworker/shader/validation/types/pointer.as_worker.js create mode 100644 webgpu/webworker/shader/validation/types/ref.as_worker.js create mode 100644 webgpu/webworker/shader/validation/types/struct.as_worker.js create mode 100644 webgpu/webworker/shader/validation/types/textures.as_worker.js create mode 100644 webgpu/webworker/shader/validation/types/vector.as_worker.js create mode 100644 webgpu/webworker/shader/validation/uniformity/uniformity.as_worker.js create mode 100644 webgpu/webworker/util/texture/color_space_conversions.as_worker.js create mode 100644 webgpu/webworker/util/texture/texel_data.as_worker.js create mode 100644 webgpu/webworker/util/texture/texture_ok.as_worker.js create mode 100644 webgpu/webworker/web_platform/canvas/configure.as_worker.js create mode 100644 webgpu/webworker/web_platform/canvas/context_creation.as_worker.js create mode 100644 webgpu/webworker/web_platform/canvas/getCurrentTexture.as_worker.js create mode 100644 webgpu/webworker/web_platform/canvas/getPreferredCanvasFormat.as_worker.js create mode 100644 webgpu/webworker/web_platform/canvas/readbackFromWebGPUCanvas.as_worker.js create mode 100644 webgpu/webworker/web_platform/copyToTexture/ImageBitmap.as_worker.js create mode 100644 webgpu/webworker/web_platform/copyToTexture/ImageData.as_worker.js create mode 100644 webgpu/webworker/web_platform/copyToTexture/canvas.as_worker.js create mode 100644 webgpu/webworker/web_platform/copyToTexture/image.as_worker.js create mode 100644 webgpu/webworker/web_platform/copyToTexture/video.as_worker.js create mode 100644 webgpu/webworker/web_platform/external_texture/video.as_worker.js create mode 100644 webgpu/webworker/web_platform/worker/worker.as_worker.js diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 50eb83267b93..000000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,31 +0,0 @@ -# GPU for the Web - -This repository is being used for work in the [W3C GPU for the Web Community -Group](https://www.w3.org/community/gpu/), governed by the [W3C Community -License Agreement (CLA)](http://www.w3.org/community/about/agreements/cla/). To -make substantive contributions, you must join the CG. - -Contributions to the source code repository are subject to the terms of the -[3-Clause BSD License](./LICENSE.txt). -**Contributions will also be exported to -[web-platform-tests](https://github.com/web-platform-tests/wpt) -under the same license, and under the terms of its -[CONTRIBUTING.md](https://github.com/web-platform-tests/wpt/blob/master/CONTRIBUTING.md).** - -If you are not the sole contributor to a contribution (pull request), please identify all -contributors in the pull request comment. - -To add a contributor (other than yourself, that's automatic), mark them one per line as follows: - -``` -+@github_username -``` - -If you added a contributor by mistake, you can remove them in a comment with: - -``` --@github_username -``` - -If you are making a pull request on behalf of someone else but you had no part in designing the -feature, you can remove yourself with the above syntax. diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index 7f004ab468ec..000000000000 --- a/Gruntfile.js +++ /dev/null @@ -1,322 +0,0 @@ -/* eslint-disable node/no-unpublished-require */ -/* eslint-disable no-console */ - -const timer = require('grunt-timer'); -const { spawnSync } = require('child_process'); -const path = require('path'); - -const kAllSuites = ['webgpu', 'stress', 'manual', 'unittests', 'demo']; - -const kFilesForEslint = [ - // TS - 'src/**/*.ts', - // JS - '*.js', - '.*.js', - 'tools/**/*.js', -]; - -module.exports = function (grunt) { - timer.init(grunt); - - // Project configuration. - grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - - clean: { - out: ['gen/', 'out/', 'out-wpt/', 'out-node/'], - }, - - run: { - 'generate-version': { - cmd: 'node', - args: ['tools/gen_version'], - }, - 'generate-listings-and-webworkers': { - cmd: 'node', - args: ['tools/gen_listings_and_webworkers', 'gen/', ...kAllSuites.map(s => 'src/' + s)], - }, - validate: { - cmd: 'node', - args: ['tools/validate', ...kAllSuites.map(s => 'src/' + s)], - }, - 'generate-cache': { - // Note this generates files into the src/ directory (not the gen/ directory). - cmd: 'node', - args: ['tools/gen_cache', 'src/webgpu'], - }, - 'validate-cache': { - cmd: 'node', - args: ['tools/gen_cache', 'src/webgpu', '--validate'], - }, - 'write-out-wpt-cts-html': { - // Note this generates directly into the out-wpt/ directory rather than the gen/ directory. - cmd: 'node', - args: ['tools/gen_wpt_cts_html', 'tools/gen_wpt_cfg_unchunked.json'], - }, - 'write-out-wpt-cts-html-chunked2sec': { - // Note this generates directly into the out-wpt/ directory rather than the gen/ directory. - cmd: 'node', - args: ['tools/gen_wpt_cts_html', 'tools/gen_wpt_cfg_chunked2sec.json'], - }, - unittest: { - cmd: 'node', - args: ['tools/run_node', 'unittests:*'], - }, - 'build-out': { - cmd: 'node', - args: [ - 'node_modules/@babel/cli/bin/babel', - '--extensions=.ts,.js', - '--source-maps=true', - '--out-dir=out/', - 'src/', - // These files will be generated, instead of compiled from TypeScript. - '--ignore=src/common/internal/version.ts', - '--ignore=src/*/listing.ts', - ], - }, - 'build-out-wpt': { - cmd: 'node', - args: [ - 'node_modules/@babel/cli/bin/babel', - '--extensions=.ts,.js', - '--source-maps=false', - '--delete-dir-on-start', - '--out-dir=out-wpt/', - 'src/', - '--only=src/common/', - '--only=src/external/', - '--only=src/webgpu/', - // These files will be generated, instead of compiled from TypeScript. - '--ignore=src/common/internal/version.ts', - '--ignore=src/*/listing.ts', - // These files are only used by non-WPT builds. - '--ignore=src/common/runtime/cmdline.ts', - '--ignore=src/common/runtime/server.ts', - '--ignore=src/common/runtime/standalone.ts', - '--ignore=src/common/runtime/helper/sys.ts', - '--ignore=src/common/tools', - ], - }, - 'build-out-node': { - cmd: 'node', - args: [ - 'node_modules/typescript/lib/tsc.js', - '--project', - 'node.tsconfig.json', - '--outDir', - 'out-node/', - ], - }, - 'copy-assets': { - cmd: 'node', - args: [ - 'node_modules/@babel/cli/bin/babel', - 'src/resources/', - '--out-dir=out/resources/', - '--copy-files', - ], - }, - 'copy-assets-wpt': { - cmd: 'node', - args: [ - 'node_modules/@babel/cli/bin/babel', - 'src/resources/', - '--out-dir=out-wpt/resources/', - '--copy-files', - ], - }, - 'copy-assets-node': { - cmd: 'node', - args: [ - 'node_modules/@babel/cli/bin/babel', - 'src/resources/', - '--out-dir=out-node/resources/', - '--copy-files', - ], - }, - lint: { - cmd: 'node', - args: ['node_modules/eslint/bin/eslint', ...kFilesForEslint, '--max-warnings=0'], - }, - fix: { - cmd: 'node', - args: ['node_modules/eslint/bin/eslint', ...kFilesForEslint, '--fix'], - }, - 'autoformat-out-wpt': { - cmd: 'node', - // MAINTENANCE_TODO(gpuweb/cts#3128): This autoformat step is broken after a dependencies upgrade. - args: [ - 'node_modules/prettier/bin/prettier.cjs', - '--log-level=warn', - '--write', - 'out-wpt/**/*.js', - ], - }, - tsdoc: { - cmd: 'node', - args: ['node_modules/typedoc/bin/typedoc'], - }, - 'tsdoc-treatWarningsAsErrors': { - cmd: 'node', - args: ['node_modules/typedoc/bin/typedoc', '--treatWarningsAsErrors'], - }, - - serve: { - cmd: 'node', - args: ['node_modules/http-server/bin/http-server', '-p8080', '-a127.0.0.1', '-c-1'], - }, - }, - - copy: { - 'gen-to-out': { - // Must run after generate-common and run:build-out. - files: [ - { expand: true, dest: 'out/', cwd: 'gen', src: 'common/internal/version.js' }, - { expand: true, dest: 'out/', cwd: 'gen', src: '*/**/*.js' }, - ], - }, - 'gen-to-out-wpt': { - // Must run after generate-common and run:build-out-wpt. - files: [ - { expand: true, dest: 'out-wpt/', cwd: 'gen', src: 'common/internal/version.js' }, - { expand: true, dest: 'out-wpt/', cwd: 'gen', src: 'webgpu/**/*.js' }, - ], - }, - 'htmlfiles-to-out': { - // Must run after run:build-out. - files: [{ expand: true, dest: 'out/', cwd: 'src', src: 'webgpu/**/*.html' }], - }, - 'htmlfiles-to-out-wpt': { - // Must run after run:build-out-wpt. - files: [{ expand: true, dest: 'out-wpt/', cwd: 'src', src: 'webgpu/**/*.html' }], - }, - }, - - concurrent: { - 'write-out-wpt-cts-html-all': { - tasks: ['run:write-out-wpt-cts-html', 'run:write-out-wpt-cts-html-chunked2sec'], - }, - 'all-builds': { - tasks: ['build-standalone', 'build-wpt', 'run:build-out-node'], - }, - 'all-checks': { - tasks: [ - 'ts-check', - 'run:validate', - 'run:validate-cache', - 'run:unittest', - 'run:lint', - 'run:tsdoc-treatWarningsAsErrors', - ], - }, - 'all-builds-and-checks': { - tasks: [ - 'build-all', // Internally concurrent - 'concurrent:all-checks', - ], - }, - }, - }); - - grunt.loadNpmTasks('grunt-contrib-clean'); - grunt.loadNpmTasks('grunt-contrib-copy'); - grunt.loadNpmTasks('grunt-concurrent'); - grunt.loadNpmTasks('grunt-run'); - - const helpMessageTasks = []; - function registerTaskAndAddToHelp(name, desc, deps) { - grunt.registerTask(name, deps); - addExistingTaskToHelp(name, desc); - } - function addExistingTaskToHelp(name, desc) { - helpMessageTasks.push({ name, desc }); - } - - grunt.registerTask('ts-check', () => { - spawnSync( - path.join('node_modules', '.bin', 'tsc'), - ['--project', 'tsconfig.json', '--noEmit'], - { - shell: true, - stdio: 'inherit', - } - ); - }); - - grunt.registerTask('generate-common', 'Generate files into gen/ and src/', [ - 'run:generate-version', - 'run:generate-listings-and-webworkers', - 'run:generate-cache', - ]); - grunt.registerTask('build-standalone', 'Build out/ (no checks; run after generate-common)', [ - 'run:build-out', - 'run:copy-assets', - 'copy:gen-to-out', - 'copy:htmlfiles-to-out', - ]); - grunt.registerTask('build-wpt', 'Build out-wpt/ (no checks; run after generate-common)', [ - 'run:build-out-wpt', - 'run:copy-assets-wpt', - 'copy:gen-to-out-wpt', - 'copy:htmlfiles-to-out-wpt', - 'concurrent:write-out-wpt-cts-html-all', - 'run:autoformat-out-wpt', - ]); - grunt.registerTask('build-node', 'Build out-node/ (no checks; run after generate-common)', [ - 'run:build-out-node', - 'run:copy-assets-node', - ]); - grunt.registerTask('build-all', 'Build out*/ (no checks; run after generate-common)', [ - 'concurrent:all-builds', - 'build-done-message', - ]); - grunt.registerTask('build-done-message', () => { - grunt.log.writeln(`\ -===================================================== -==== Build completed! Continuing checks/tests... ==== -=====================================================`); - }); - - grunt.registerTask('pre', ['all']); - - registerTaskAndAddToHelp('all', 'Run all builds and checks', [ - 'clean', - 'generate-common', - 'concurrent:all-builds-and-checks', - ]); - registerTaskAndAddToHelp('standalone', 'Build standalone (out/) (no checks)', [ - 'generate-common', - 'build-standalone', - 'build-done-message', - ]); - registerTaskAndAddToHelp('wpt', 'Build for WPT (out-wpt/) (no checks)', [ - 'generate-common', - 'build-wpt', - 'build-done-message', - ]); - registerTaskAndAddToHelp('node', 'Build node (out-node/) (no checks)', [ - 'generate-common', - 'build-node', - 'build-done-message', - ]); - registerTaskAndAddToHelp('checks', 'Run all checks (and build tsdoc)', ['concurrent:all-checks']); - registerTaskAndAddToHelp('unittest', 'Just run unittests', ['run:unittest']); - registerTaskAndAddToHelp('typecheck', 'Just typecheck', ['ts-check']); - registerTaskAndAddToHelp('tsdoc', 'Just build tsdoc', ['run:tsdoc']); - - registerTaskAndAddToHelp('serve', 'Serve out/ (without building anything)', ['run:serve']); - registerTaskAndAddToHelp('lint', 'Check lint and formatting', ['run:lint']); - registerTaskAndAddToHelp('fix', 'Fix lint and formatting', ['run:fix']); - - addExistingTaskToHelp('clean', 'Delete built and generated files'); - - grunt.registerTask('default', '', () => { - console.error('\nRecommended tasks:'); - const nameColumnSize = Math.max(...helpMessageTasks.map(({ name }) => name.length)); - for (const { name, desc } of helpMessageTasks) { - console.error(`$ grunt ${name.padEnd(nameColumnSize)} # ${desc}`); - } - }); -}; diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index c7a75d7d2215..000000000000 --- a/LICENSE.txt +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2019 WebGPU CTS Contributors - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md deleted file mode 100644 index 1614f9a97934..000000000000 --- a/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# WebGPU Conformance Test Suite - -This is the conformance test suite for WebGPU. -It tests the behaviors defined by the [WebGPU specification](https://gpuweb.github.io/gpuweb/). - -The contents of this test suite are considered **normative**; implementations must pass -them to be WebGPU-conformant. Mismatches between the specification and tests are bugs. - -This test suite can be embedded inside [WPT](https://github.com/web-platform-tests/wpt) or run in standalone. - -## [Launch the standalone CTS runner / test plan viewer](https://gpuweb.github.io/cts/standalone/) - -## Contributing - -Please read the [introductory guidelines](docs/intro/README.md) before contributing. -Other documentation may be found in [`docs/`](docs/) and in the [helper index](https://gpuweb.github.io/cts/docs/tsdoc/) ([source](docs/helper_index.txt)). - -Read [CONTRIBUTING.md](CONTRIBUTING.md) on licensing. - -For realtime communication about WebGPU spec and test, join the -[#WebGPU:matrix.org room](https://app.element.io/#/room/#WebGPU:matrix.org) -on Matrix. diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index ad977bc510ee..000000000000 --- a/babel.config.js +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = function (api) { - api.cache(true); - return { - presets: ['@babel/preset-typescript'], - plugins: [ - 'const-enum', - [ - 'add-header-comment', - { - header: ['AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts'], - }, - ], - ], - compact: false, - // Keeps comments from getting hoisted to the end of the previous line of code. - // (Also keeps lines close to their original line numbers - but for WPT we - // reformat with prettier anyway.) - retainLines: true, - shouldPrintComment: val => !/eslint|prettier-ignore/.test(val), - }; -}; diff --git a/common/framework/data_cache.js b/common/framework/data_cache.js new file mode 100644 index 000000000000..b8e267d3e971 --- /dev/null +++ b/common/framework/data_cache.js @@ -0,0 +1,176 @@ +/** +* AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts +**/ /** + * Utilities to improve the performance of the CTS, by caching data that is + * expensive to build using a two-level cache (in-memory, pre-computed file). + */import { assert } from '../util/util.js'; + + + + + +/** Logger is a basic debug logger function */ + + +/** + * DataCacheNode represents a single cache entry in the LRU DataCache. + * DataCacheNode is a doubly linked list, so that least-recently-used entries can be removed, and + * cache hits can move the node to the front of the list. + */ +class DataCacheNode { + constructor(path, data) { + this.path = path; + this.data = data; + } + + /** insertAfter() re-inserts this node in the doubly-linked list after `prev` */ + insertAfter(prev) { + this.unlink(); + this.next = prev.next; + this.prev = prev; + prev.next = this; + if (this.next) { + this.next.prev = this; + } + } + + /** unlink() removes this node from the doubly-linked list */ + unlink() { + const prev = this.prev; + const next = this.next; + if (prev) { + prev.next = next; + } + if (next) { + next.prev = prev; + } + this.prev = null; + this.next = null; + } + + // The file path this node represents + // The deserialized data for this node + prev = null; // The previous node in the doubly-linked list + next = null; // The next node in the doubly-linked list +} + +/** DataCache is an interface to a LRU-cached data store used to hold data cached by path */ +export class DataCache { + constructor() { + this.lruHeadNode.next = this.lruTailNode; + this.lruTailNode.prev = this.lruHeadNode; + } + + /** 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 + const node = this.cache.get(cacheable.path); + if (node !== undefined) { + this.log('in-memory cache hit'); + node.insertAfter(this.lruHeadNode); + return Promise.resolve(node.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`); + const data = cacheable.deserialize(serialized); + this.addToCache(cacheable.path, data); + return data; + } + } + // Not found anywhere. Build the data, and cache for future lookup. + this.log(`cache: building (${cacheable.path})`); + const data = await cacheable.build(); + this.addToCache(cacheable.path, data); + return data; + } + + /** + * addToCache() creates a new node for `path` and `data`, inserting the new node at the front of + * the doubly-linked list. If the number of entries in the cache exceeds this.maxCount, then the + * least recently used entry is evicted + * @param path the file path for the data + * @param data the deserialized data + */ + addToCache(path, data) { + if (this.cache.size >= this.maxCount) { + const toEvict = this.lruTailNode.prev; + assert(toEvict !== null); + toEvict.unlink(); + this.cache.delete(toEvict.path); + this.log(`evicting ${toEvict.path}`); + } + const node = new DataCacheNode(path, data); + node.insertAfter(this.lruHeadNode); + this.cache.set(path, node); + this.log(`added ${path}. new count: ${this.cache.size}`); + } + + log(msg) { + if (this.debugLogger !== null) { + this.debugLogger(`DataCache: ${msg}`); + } + } + + // Max number of entries in the cache before LRU entries are evicted. + maxCount = 4; + + cache = new Map(); + lruHeadNode = new DataCacheNode('', null); // placeholder node (no path or data) + lruTailNode = new DataCacheNode('', null); // placeholder node (no path or data) + 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`. + */ +//# sourceMappingURL=data_cache.js.map \ No newline at end of file diff --git a/common/framework/data_cache.js.map b/common/framework/data_cache.js.map new file mode 100644 index 000000000000..9bdb420bf920 --- /dev/null +++ b/common/framework/data_cache.js.map @@ -0,0 +1 @@ +{"version":3,"file":"data_cache.js","names":["assert","DataCacheNode","constructor","path","data","insertAfter","prev","unlink","next","DataCache","lruHeadNode","lruTailNode","setStore","dataStore","setDebugLogger","logger","debugLogger","fetch","cacheable","node","cache","get","undefined","log","Promise","resolve","unavailableFiles","has","serialized","load","err","add","deserialize","addToCache","build","size","maxCount","toEvict","delete","set","msg","Map","Set","dataCache","isBuildingDataCache","getIsBuildingDataCache","setIsBuildingDataCache","value"],"sources":["../../../src/common/framework/data_cache.ts"],"sourcesContent":["/**\n * Utilities to improve the performance of the CTS, by caching data that is\n * expensive to build using a two-level cache (in-memory, pre-computed file).\n */\n\nimport { assert } from '../util/util.js';\n\ninterface DataStore {\n load(path: string): Promise;\n}\n\n/** Logger is a basic debug logger function */\nexport type Logger = (s: string) => void;\n\n/**\n * DataCacheNode represents a single cache entry in the LRU DataCache.\n * DataCacheNode is a doubly linked list, so that least-recently-used entries can be removed, and\n * cache hits can move the node to the front of the list.\n */\nclass DataCacheNode {\n public constructor(path: string, data: unknown) {\n this.path = path;\n this.data = data;\n }\n\n /** insertAfter() re-inserts this node in the doubly-linked list after `prev` */\n public insertAfter(prev: DataCacheNode) {\n this.unlink();\n this.next = prev.next;\n this.prev = prev;\n prev.next = this;\n if (this.next) {\n this.next.prev = this;\n }\n }\n\n /** unlink() removes this node from the doubly-linked list */\n public unlink() {\n const prev = this.prev;\n const next = this.next;\n if (prev) {\n prev.next = next;\n }\n if (next) {\n next.prev = prev;\n }\n this.prev = null;\n this.next = null;\n }\n\n public readonly path: string; // The file path this node represents\n public readonly data: unknown; // The deserialized data for this node\n public prev: DataCacheNode | null = null; // The previous node in the doubly-linked list\n public next: DataCacheNode | null = null; // The next node in the doubly-linked list\n}\n\n/** DataCache is an interface to a LRU-cached data store used to hold data cached by path */\nexport class DataCache {\n public constructor() {\n this.lruHeadNode.next = this.lruTailNode;\n this.lruTailNode.prev = this.lruHeadNode;\n }\n\n /** setDataStore() sets the backing data store used by the data cache */\n public setStore(dataStore: DataStore) {\n this.dataStore = dataStore;\n }\n\n /** setDebugLogger() sets the verbose logger */\n public setDebugLogger(logger: Logger) {\n this.debugLogger = logger;\n }\n\n /**\n * fetch() retrieves cacheable data from the data cache, first checking the\n * in-memory cache, then the data store (if specified), then resorting to\n * building the data and storing it in the cache.\n */\n public async fetch(cacheable: Cacheable): Promise {\n {\n // First check the in-memory cache\n const node = this.cache.get(cacheable.path);\n if (node !== undefined) {\n this.log('in-memory cache hit');\n node.insertAfter(this.lruHeadNode);\n return Promise.resolve(node.data as Data);\n }\n }\n this.log('in-memory cache miss');\n // In in-memory cache miss.\n // Next, try the data store.\n if (this.dataStore !== null && !this.unavailableFiles.has(cacheable.path)) {\n let serialized: Uint8Array | undefined;\n try {\n serialized = await this.dataStore.load(cacheable.path);\n this.log('loaded serialized');\n } catch (err) {\n // not found in data store\n this.log(`failed to load (${cacheable.path}): ${err}`);\n this.unavailableFiles.add(cacheable.path);\n }\n if (serialized !== undefined) {\n this.log(`deserializing`);\n const data = cacheable.deserialize(serialized);\n this.addToCache(cacheable.path, data);\n return data;\n }\n }\n // Not found anywhere. Build the data, and cache for future lookup.\n this.log(`cache: building (${cacheable.path})`);\n const data = await cacheable.build();\n this.addToCache(cacheable.path, data);\n return data;\n }\n\n /**\n * addToCache() creates a new node for `path` and `data`, inserting the new node at the front of\n * the doubly-linked list. If the number of entries in the cache exceeds this.maxCount, then the\n * least recently used entry is evicted\n * @param path the file path for the data\n * @param data the deserialized data\n */\n private addToCache(path: string, data: unknown) {\n if (this.cache.size >= this.maxCount) {\n const toEvict = this.lruTailNode.prev;\n assert(toEvict !== null);\n toEvict.unlink();\n this.cache.delete(toEvict.path);\n this.log(`evicting ${toEvict.path}`);\n }\n const node = new DataCacheNode(path, data);\n node.insertAfter(this.lruHeadNode);\n this.cache.set(path, node);\n this.log(`added ${path}. new count: ${this.cache.size}`);\n }\n\n private log(msg: string) {\n if (this.debugLogger !== null) {\n this.debugLogger(`DataCache: ${msg}`);\n }\n }\n\n // Max number of entries in the cache before LRU entries are evicted.\n private readonly maxCount = 4;\n\n private cache = new Map();\n private lruHeadNode = new DataCacheNode('', null); // placeholder node (no path or data)\n private lruTailNode = new DataCacheNode('', null); // placeholder node (no path or data)\n private unavailableFiles = new Set();\n private dataStore: DataStore | null = null;\n private debugLogger: Logger | null = null;\n}\n\n/** The data cache */\nexport const dataCache = new DataCache();\n\n/** true if the current process is building the cache */\nlet isBuildingDataCache = false;\n\n/** @returns true if the data cache is currently being built */\nexport function getIsBuildingDataCache() {\n return isBuildingDataCache;\n}\n\n/** Sets whether the data cache is currently being built */\nexport function setIsBuildingDataCache(value = true) {\n isBuildingDataCache = value;\n}\n\n/**\n * Cacheable is the interface to something that can be stored into the\n * DataCache.\n * The 'npm run gen_cache' tool will look for module-scope variables of this\n * interface, with the name `d`.\n */\nexport interface Cacheable {\n /** the globally unique path for the cacheable data */\n readonly path: string;\n\n /**\n * build() builds the cacheable data.\n * This is assumed to be an expensive operation and will only happen if the\n * cache does not already contain the built data.\n */\n build(): Promise;\n\n /**\n * serialize() encodes `data` to a binary representation so that it can be stored in a cache file.\n */\n serialize(data: Data): Uint8Array;\n\n /**\n * deserialize() is the inverse of serialize(), decoding the binary representation back to a Data\n * object.\n */\n deserialize(binary: Uint8Array): Data;\n}\n"],"mappings":";;IAAA;AACA;AACA;AACA,GAEA,SAASA,MAAM,QAAQ,iBAAiB;;;;;;AAMxC;;;AAGA;AACA;AACA;AACA;AACA;AACA,MAAMC,aAAa,CAAC;EACXC,WAAWA,CAACC,IAAY,EAAEC,IAAa,EAAE;IAC9C,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,IAAI,GAAGA,IAAI;EAClB;;EAEA;EACOC,WAAWA,CAACC,IAAmB,EAAE;IACtC,IAAI,CAACC,MAAM,CAAC,CAAC;IACb,IAAI,CAACC,IAAI,GAAGF,IAAI,CAACE,IAAI;IACrB,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChBA,IAAI,CAACE,IAAI,GAAG,IAAI;IAChB,IAAI,IAAI,CAACA,IAAI,EAAE;MACb,IAAI,CAACA,IAAI,CAACF,IAAI,GAAG,IAAI;IACvB;EACF;;EAEA;EACOC,MAAMA,CAAA,EAAG;IACd,MAAMD,IAAI,GAAG,IAAI,CAACA,IAAI;IACtB,MAAME,IAAI,GAAG,IAAI,CAACA,IAAI;IACtB,IAAIF,IAAI,EAAE;MACRA,IAAI,CAACE,IAAI,GAAGA,IAAI;IAClB;IACA,IAAIA,IAAI,EAAE;MACRA,IAAI,CAACF,IAAI,GAAGA,IAAI;IAClB;IACA,IAAI,CAACA,IAAI,GAAG,IAAI;IAChB,IAAI,CAACE,IAAI,GAAG,IAAI;EAClB;;EAE8B;EACC;EACxBF,IAAI,GAAyB,IAAI,CAAC,CAAC;EACnCE,IAAI,GAAyB,IAAI,CAAC,CAAC;AAC5C;;AAEA;AACA,OAAO,MAAMC,SAAS,CAAC;EACdP,WAAWA,CAAA,EAAG;IACnB,IAAI,CAACQ,WAAW,CAACF,IAAI,GAAG,IAAI,CAACG,WAAW;IACxC,IAAI,CAACA,WAAW,CAACL,IAAI,GAAG,IAAI,CAACI,WAAW;EAC1C;;EAEA;EACOE,QAAQA,CAACC,SAAoB,EAAE;IACpC,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC5B;;EAEA;EACOC,cAAcA,CAACC,MAAc,EAAE;IACpC,IAAI,CAACC,WAAW,GAAGD,MAAM;EAC3B;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAaE,KAAKA,CAAOC,SAA0B,EAAiB;IAClE;MACE;MACA,MAAMC,IAAI,GAAG,IAAI,CAACC,KAAK,CAACC,GAAG,CAACH,SAAS,CAACf,IAAI,CAAC;MAC3C,IAAIgB,IAAI,KAAKG,SAAS,EAAE;QACtB,IAAI,CAACC,GAAG,CAAC,qBAAqB,CAAC;QAC/BJ,IAAI,CAACd,WAAW,CAAC,IAAI,CAACK,WAAW,CAAC;QAClC,OAAOc,OAAO,CAACC,OAAO,CAACN,IAAI,CAACf,IAAY,CAAC;MAC3C;IACF;IACA,IAAI,CAACmB,GAAG,CAAC,sBAAsB,CAAC;IAChC;IACA;IACA,IAAI,IAAI,CAACV,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,CAACa,gBAAgB,CAACC,GAAG,CAACT,SAAS,CAACf,IAAI,CAAC,EAAE;MACzE,IAAIyB,UAAkC;MACtC,IAAI;QACFA,UAAU,GAAG,MAAM,IAAI,CAACf,SAAS,CAACgB,IAAI,CAACX,SAAS,CAACf,IAAI,CAAC;QACtD,IAAI,CAACoB,GAAG,CAAC,mBAAmB,CAAC;MAC/B,CAAC,CAAC,OAAOO,GAAG,EAAE;QACZ;QACA,IAAI,CAACP,GAAG,CAAE,mBAAkBL,SAAS,CAACf,IAAK,MAAK2B,GAAI,EAAC,CAAC;QACtD,IAAI,CAACJ,gBAAgB,CAACK,GAAG,CAACb,SAAS,CAACf,IAAI,CAAC;MAC3C;MACA,IAAIyB,UAAU,KAAKN,SAAS,EAAE;QAC5B,IAAI,CAACC,GAAG,CAAE,eAAc,CAAC;QACzB,MAAMnB,IAAI,GAAGc,SAAS,CAACc,WAAW,CAACJ,UAAU,CAAC;QAC9C,IAAI,CAACK,UAAU,CAACf,SAAS,CAACf,IAAI,EAAEC,IAAI,CAAC;QACrC,OAAOA,IAAI;MACb;IACF;IACA;IACA,IAAI,CAACmB,GAAG,CAAE,oBAAmBL,SAAS,CAACf,IAAK,GAAE,CAAC;IAC/C,MAAMC,IAAI,GAAG,MAAMc,SAAS,CAACgB,KAAK,CAAC,CAAC;IACpC,IAAI,CAACD,UAAU,CAACf,SAAS,CAACf,IAAI,EAAEC,IAAI,CAAC;IACrC,OAAOA,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACU6B,UAAUA,CAAC9B,IAAY,EAAEC,IAAa,EAAE;IAC9C,IAAI,IAAI,CAACgB,KAAK,CAACe,IAAI,IAAI,IAAI,CAACC,QAAQ,EAAE;MACpC,MAAMC,OAAO,GAAG,IAAI,CAAC1B,WAAW,CAACL,IAAI;MACrCN,MAAM,CAACqC,OAAO,KAAK,IAAI,CAAC;MACxBA,OAAO,CAAC9B,MAAM,CAAC,CAAC;MAChB,IAAI,CAACa,KAAK,CAACkB,MAAM,CAACD,OAAO,CAAClC,IAAI,CAAC;MAC/B,IAAI,CAACoB,GAAG,CAAE,YAAWc,OAAO,CAAClC,IAAK,EAAC,CAAC;IACtC;IACA,MAAMgB,IAAI,GAAG,IAAIlB,aAAa,CAACE,IAAI,EAAEC,IAAI,CAAC;IAC1Ce,IAAI,CAACd,WAAW,CAAC,IAAI,CAACK,WAAW,CAAC;IAClC,IAAI,CAACU,KAAK,CAACmB,GAAG,CAACpC,IAAI,EAAEgB,IAAI,CAAC;IAC1B,IAAI,CAACI,GAAG,CAAE,SAAQpB,IAAK,gBAAe,IAAI,CAACiB,KAAK,CAACe,IAAK,EAAC,CAAC;EAC1D;;EAEQZ,GAAGA,CAACiB,GAAW,EAAE;IACvB,IAAI,IAAI,CAACxB,WAAW,KAAK,IAAI,EAAE;MAC7B,IAAI,CAACA,WAAW,CAAE,cAAawB,GAAI,EAAC,CAAC;IACvC;EACF;;EAEA;EACiBJ,QAAQ,GAAG,CAAC;;EAErBhB,KAAK,GAAG,IAAIqB,GAAG,CAAwB,CAAC;EACxC/B,WAAW,GAAG,IAAIT,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;EAC3CU,WAAW,GAAG,IAAIV,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;EAC3CyB,gBAAgB,GAAG,IAAIgB,GAAG,CAAS,CAAC;EACpC7B,SAAS,GAAqB,IAAI;EAClCG,WAAW,GAAkB,IAAI;AAC3C;;AAEA;AACA,OAAO,MAAM2B,SAAS,GAAG,IAAIlC,SAAS,CAAC,CAAC;;AAExC;AACA,IAAImC,mBAAmB,GAAG,KAAK;;AAE/B;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACvC,OAAOD,mBAAmB;AAC5B;;AAEA;AACA,OAAO,SAASE,sBAAsBA,CAACC,KAAK,GAAG,IAAI,EAAE;EACnDH,mBAAmB,GAAGG,KAAK;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA"} \ No newline at end of file diff --git a/common/framework/fixture.js b/common/framework/fixture.js new file mode 100644 index 000000000000..e3b4365964f4 --- /dev/null +++ b/common/framework/fixture.js @@ -0,0 +1,399 @@ +/** +* AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts +**/import { assert, unreachable } from '../util/util.js'; + +export class SkipTestCase extends Error {} +export class UnexpectedPassError extends Error {} + +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;} + + /** + * 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 if ('destroyAsync' in o) { + await o.destroyAsync(); + } else if ('close' in o) { + o.close(); + } else { + // HTMLVideoElement + o.src = ''; + o.srcObject = null; + } + } + } + + /** + * Tracks an object to be cleaned up after the test finishes. + * + * Usually when creating buffers/textures/query sets, you can use the helpers in GPUTest instead. + */ + trackForCleanup(o) { + if (o instanceof Promise) { + this.eventualAsyncExpectation(() => + o.then( + (o) => this.trackForCleanup(o), + () => {} + ) + ); + return o; + } + + if (o instanceof GPUDevice) { + this.objectsToCleanUp.push({ + async destroyAsync() { + o.destroy(); + await o.lost; + } + }); + } else { + 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; + } + + /** Call requestDevice() and track the device for cleanup. */ + requestDeviceTracked(adapter, desc = undefined) { + + return this.trackForCleanup(adapter.requestDevice(desc)); + } + + /** Log a debug message. */ + debug(msg) { + this.rec.debug(new Error(msg)); + } + + /** + * Log an info message. + * **Use sparingly. Use `debug()` instead if logs are only needed with debug logging enabled.** + */ + info(msg) { + this.rec.info(new Error(msg)); + } + + /** Throws an exception marking the subcase as skipped. */ + skip(msg) { + throw new SkipTestCase(msg); + } + + /** Throws an exception marking the subcase as skipped if condition is true */ + skipIf(cond, msg = '') { + if (cond) { + this.skip(typeof msg === 'function' ? msg() : msg); + } + } + + /** 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(); + this.numOutstandingAsyncExpectations--; + 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); + } + + 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 (expectedError !== true && actualName !== expectedError) { + niceStack.message = `THREW ${actualName}, instead of ${expectedError}: ${ex}`; + this.rec.expectationFailed(niceStack); + } else { + 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 : ''; + try { + await p; + niceStack.message = 'resolved as expected' + m; + } catch (ex) { + 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, + { allowMissingStack = false, message } = {}) + { + this.eventualAsyncExpectation(async (niceStack) => { + const m = message ? ': ' + message : ''; + try { + await p; + niceStack.message = 'DID NOT REJECT' + m; + this.rec.expectationFailed(niceStack); + } catch (ex) { + this.expectErrorValue(expectedName, ex, niceStack); + if (!allowMissingStack) { + if (!(ex instanceof Error && typeof ex.stack === 'string')) { + const exMessage = ex instanceof Error ? ex.message : '?'; + niceStack.message = `rejected as expected, but missing stack (${exMessage})${m}`; + this.rec.expectationFailed(niceStack); + } + } + } + }); + } + + /** + * 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, + { allowMissingStack = false, message } = {}) + { + const m = message ? ': ' + message : ''; + try { + fn(); + 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) { + if (expectedError === false) { + this.rec.expectationFailed(new Error('threw unexpectedly' + m)); + } else { + this.expectErrorValue(expectedError, ex, new Error(m)); + if (!allowMissingStack) { + if (!(ex instanceof Error && typeof ex.stack === 'string')) { + this.rec.expectationFailed(new Error('threw as expected, but missing stack' + m)); + } + } + } + } + } + + /** Expect that a condition is true. */ + expect(cond, msg) { + if (cond) { + const m = msg ? ': ' + msg : ''; + this.rec.debug(new Error('expect OK' + m)); + } else { + this.rec.expectationFailed(new Error(msg)); + } + 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 }); + }); + } +} + + + +/** + * FixtureClass encapsulates a constructor for fixture and a corresponding + * shared state factory function. An interface version of the type is also + * defined for mixin declaration use ONLY. The interface version is necessary + * because mixin classes need a constructor with a single any[] rest + * parameter. + */ +//# sourceMappingURL=fixture.js.map \ No newline at end of file diff --git a/common/framework/fixture.js.map b/common/framework/fixture.js.map new file mode 100644 index 000000000000..e85bfc0ef577 --- /dev/null +++ b/common/framework/fixture.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fixture.js","names":["assert","unreachable","SkipTestCase","Error","UnexpectedPassError","TestCaseRecorder","SubcaseBatchState","constructor","recorder","params","init","postInit","finalize","Fixture","eventualExpectations","numOutstandingAsyncExpectations","objectsToCleanUp","MakeSharedState","sharedState","rec","_sharedState","_params","length","p","shift","ex","threw","o","WEBGL_lose_context","getExtension","loseContext","destroy","destroyAsync","close","src","srcObject","trackForCleanup","Promise","eventualAsyncExpectation","then","GPUDevice","push","lost","tryTrackForCleanup","WebGLRenderingContext","WebGL2RenderingContext","requestDeviceTracked","adapter","desc","undefined","requestDevice","debug","msg","info","skip","skipIf","cond","warn","fail","expectationFailed","immediateAsyncExpectation","fn","ret","promise","expectErrorValue","expectedError","niceStack","message","actualName","name","shouldResolve","m","shouldReject","expectedName","allowMissingStack","stack","exMessage","shouldThrow","expect","expectOK","error","mode","handleError","Array","isArray","e","eventualExpectOK"],"sources":["../../../src/common/framework/fixture.ts"],"sourcesContent":["import { TestCaseRecorder } from '../internal/logging/test_case_recorder.js';\nimport { JSONWithUndefined } from '../internal/params_utils.js';\nimport { assert, ExceptionCheckOptions, unreachable } from '../util/util.js';\n\nexport class SkipTestCase extends Error {}\nexport class UnexpectedPassError extends Error {}\n\nexport { TestCaseRecorder } from '../internal/logging/test_case_recorder.js';\n\n/** The fully-general type for params passed to a test function invocation. */\nexport type TestParams = {\n readonly [k: string]: JSONWithUndefined;\n};\n\ntype DestroyableObject =\n | { destroy(): void }\n | { destroyAsync(): Promise }\n | { close(): void }\n | { getExtension(extensionName: 'WEBGL_lose_context'): WEBGL_lose_context }\n | HTMLVideoElement;\n\nexport class SubcaseBatchState {\n constructor(\n protected readonly recorder: TestCaseRecorder,\n /** The case parameters for this test fixture shared state. Subcase params are not included. */\n public readonly params: TestParams\n ) {}\n\n /**\n * Runs before the `.before()` function.\n * @internal MAINTENANCE_TODO: Make this not visible to test code?\n */\n async init() {}\n /**\n * Runs between the `.before()` function and the subcases.\n * @internal MAINTENANCE_TODO: Make this not visible to test code?\n */\n async postInit() {}\n /**\n * Runs after all subcases finish.\n * @internal MAINTENANCE_TODO: Make this not visible to test code?\n */\n async finalize() {}\n}\n\n/**\n * A Fixture is a class used to instantiate each test sub/case at run time.\n * A new instance of the Fixture is created for every single test subcase\n * (i.e. every time the test function is run).\n */\nexport class Fixture {\n private _params: unknown;\n private _sharedState: S;\n /**\n * Interface for recording logs and test status.\n *\n * @internal\n */\n readonly rec: TestCaseRecorder;\n private eventualExpectations: Array> = [];\n private numOutstandingAsyncExpectations = 0;\n private objectsToCleanUp: DestroyableObject[] = [];\n\n public static MakeSharedState(recorder: TestCaseRecorder, params: TestParams): SubcaseBatchState {\n return new SubcaseBatchState(recorder, params);\n }\n\n /** @internal */\n constructor(sharedState: S, rec: TestCaseRecorder, params: TestParams) {\n this._sharedState = sharedState;\n this.rec = rec;\n this._params = params;\n }\n\n /**\n * Returns the (case+subcase) parameters for this test function invocation.\n */\n get params(): unknown {\n return this._params;\n }\n\n /**\n * Gets the test fixture's shared state. This object is shared between subcases\n * within the same testcase.\n */\n get sharedState(): S {\n return this._sharedState;\n }\n\n /**\n * Override this to do additional pre-test-function work in a derived fixture.\n * This has to be a member function instead of an async `createFixture` function, because\n * we need to be able to ergonomically override it in subclasses.\n *\n * @internal MAINTENANCE_TODO: Make this not visible to test code?\n */\n async init(): Promise {}\n\n /**\n * Override this to do additional post-test-function work in a derived fixture.\n *\n * Called even if init was unsuccessful.\n *\n * @internal MAINTENANCE_TODO: Make this not visible to test code?\n */\n async finalize(): Promise {\n assert(\n this.numOutstandingAsyncExpectations === 0,\n 'there were outstanding immediateAsyncExpectations (e.g. expectUncapturedError) at the end of the test'\n );\n\n // Loop to exhaust the eventualExpectations in case they chain off each other.\n while (this.eventualExpectations.length) {\n const p = this.eventualExpectations.shift()!;\n try {\n await p;\n } catch (ex) {\n this.rec.threw(ex);\n }\n }\n\n // And clean up any objects now that they're done being used.\n for (const o of this.objectsToCleanUp) {\n if ('getExtension' in o) {\n const WEBGL_lose_context = o.getExtension('WEBGL_lose_context');\n if (WEBGL_lose_context) WEBGL_lose_context.loseContext();\n } else if ('destroy' in o) {\n o.destroy();\n } else if ('destroyAsync' in o) {\n await o.destroyAsync();\n } else if ('close' in o) {\n o.close();\n } else {\n // HTMLVideoElement\n o.src = '';\n o.srcObject = null;\n }\n }\n }\n\n /**\n * Tracks an object to be cleaned up after the test finishes.\n *\n * Usually when creating buffers/textures/query sets, you can use the helpers in GPUTest instead.\n */\n trackForCleanup>(o: T): T {\n if (o instanceof Promise) {\n this.eventualAsyncExpectation(() =>\n o.then(\n o => this.trackForCleanup(o),\n () => {}\n )\n );\n return o;\n }\n\n if (o instanceof GPUDevice) {\n this.objectsToCleanUp.push({\n async destroyAsync() {\n o.destroy();\n await o.lost;\n },\n });\n } else {\n this.objectsToCleanUp.push(o);\n }\n return o;\n }\n\n /** Tracks an object, if it's destroyable, to be cleaned up after the test finishes. */\n tryTrackForCleanup(o: T): T {\n if (typeof o === 'object' && o !== null) {\n if (\n 'destroy' in o ||\n 'close' in o ||\n o instanceof WebGLRenderingContext ||\n o instanceof WebGL2RenderingContext\n ) {\n this.objectsToCleanUp.push(o as unknown as DestroyableObject);\n }\n }\n return o;\n }\n\n /** Call requestDevice() and track the device for cleanup. */\n requestDeviceTracked(adapter: GPUAdapter, desc: GPUDeviceDescriptor | undefined = undefined) {\n // eslint-disable-next-line no-restricted-syntax\n return this.trackForCleanup(adapter.requestDevice(desc));\n }\n\n /** Log a debug message. */\n debug(msg: string): void {\n this.rec.debug(new Error(msg));\n }\n\n /**\n * Log an info message.\n * **Use sparingly. Use `debug()` instead if logs are only needed with debug logging enabled.**\n */\n info(msg: string): void {\n this.rec.info(new Error(msg));\n }\n\n /** Throws an exception marking the subcase as skipped. */\n skip(msg: string): never {\n throw new SkipTestCase(msg);\n }\n\n /** Throws an exception marking the subcase as skipped if condition is true */\n skipIf(cond: boolean, msg: string | (() => string) = '') {\n if (cond) {\n this.skip(typeof msg === 'function' ? msg() : msg);\n }\n }\n\n /** Log a warning and increase the result status to \"Warn\". */\n warn(msg?: string): void {\n this.rec.warn(new Error(msg));\n }\n\n /** Log an error and increase the result status to \"ExpectFailed\". */\n fail(msg?: string): void {\n this.rec.expectationFailed(new Error(msg));\n }\n\n /**\n * Wraps an async function. Tracks its status to fail if the test tries to report a test status\n * before the async work has finished.\n */\n protected async immediateAsyncExpectation(fn: () => Promise): Promise {\n this.numOutstandingAsyncExpectations++;\n const ret = await fn();\n this.numOutstandingAsyncExpectations--;\n return ret;\n }\n\n /**\n * Wraps an async function, passing it an `Error` object recording the original stack trace.\n * The async work will be implicitly waited upon before reporting a test status.\n */\n protected eventualAsyncExpectation(fn: (niceStack: Error) => Promise): void {\n const promise = fn(new Error());\n this.eventualExpectations.push(promise);\n }\n\n private expectErrorValue(expectedError: string | true, ex: unknown, niceStack: Error): void {\n if (!(ex instanceof Error)) {\n niceStack.message = `THREW non-error value, of type ${typeof ex}: ${ex}`;\n this.rec.expectationFailed(niceStack);\n return;\n }\n const actualName = ex.name;\n if (expectedError !== true && actualName !== expectedError) {\n niceStack.message = `THREW ${actualName}, instead of ${expectedError}: ${ex}`;\n this.rec.expectationFailed(niceStack);\n } else {\n niceStack.message = `OK: threw ${actualName}: ${ex.message}`;\n this.rec.debug(niceStack);\n }\n }\n\n /** Expect that the provided promise resolves (fulfills). */\n shouldResolve(p: Promise, msg?: string): void {\n this.eventualAsyncExpectation(async niceStack => {\n const m = msg ? ': ' + msg : '';\n try {\n await p;\n niceStack.message = 'resolved as expected' + m;\n } catch (ex) {\n niceStack.message = `REJECTED${m}`;\n if (ex instanceof Error) {\n niceStack.message += '\\n' + ex.message;\n }\n this.rec.expectationFailed(niceStack);\n }\n });\n }\n\n /** Expect that the provided promise rejects, with the provided exception name. */\n shouldReject(\n expectedName: string,\n p: Promise,\n { allowMissingStack = false, message }: ExceptionCheckOptions = {}\n ): void {\n this.eventualAsyncExpectation(async niceStack => {\n const m = message ? ': ' + message : '';\n try {\n await p;\n niceStack.message = 'DID NOT REJECT' + m;\n this.rec.expectationFailed(niceStack);\n } catch (ex) {\n this.expectErrorValue(expectedName, ex, niceStack);\n if (!allowMissingStack) {\n if (!(ex instanceof Error && typeof ex.stack === 'string')) {\n const exMessage = ex instanceof Error ? ex.message : '?';\n niceStack.message = `rejected as expected, but missing stack (${exMessage})${m}`;\n this.rec.expectationFailed(niceStack);\n }\n }\n }\n });\n }\n\n /**\n * Expect that the provided function throws (if `true` or `string`) or not (if `false`).\n * If a string is provided, expect that the throw exception has that name.\n *\n * MAINTENANCE_TODO: Change to `string | false` so the exception name is always checked.\n */\n shouldThrow(\n expectedError: string | boolean,\n fn: () => void,\n { allowMissingStack = false, message }: ExceptionCheckOptions = {}\n ) {\n const m = message ? ': ' + message : '';\n try {\n fn();\n if (expectedError === false) {\n this.rec.debug(new Error('did not throw, as expected' + m));\n } else {\n this.rec.expectationFailed(new Error('unexpectedly did not throw' + m));\n }\n } catch (ex) {\n if (expectedError === false) {\n this.rec.expectationFailed(new Error('threw unexpectedly' + m));\n } else {\n this.expectErrorValue(expectedError, ex, new Error(m));\n if (!allowMissingStack) {\n if (!(ex instanceof Error && typeof ex.stack === 'string')) {\n this.rec.expectationFailed(new Error('threw as expected, but missing stack' + m));\n }\n }\n }\n }\n }\n\n /** Expect that a condition is true. */\n expect(cond: boolean, msg?: string): boolean {\n if (cond) {\n const m = msg ? ': ' + msg : '';\n this.rec.debug(new Error('expect OK' + m));\n } else {\n this.rec.expectationFailed(new Error(msg));\n }\n return cond;\n }\n\n /**\n * If the argument is an `Error`, fail (or warn). If it's `undefined`, no-op.\n * If the argument is an array, apply the above behavior on each of elements.\n */\n expectOK(\n error: Error | undefined | (Error | undefined)[],\n { mode = 'fail', niceStack }: { mode?: 'fail' | 'warn'; niceStack?: Error } = {}\n ): void {\n const handleError = (error: Error | undefined) => {\n if (error instanceof Error) {\n if (niceStack) {\n error.stack = niceStack.stack;\n }\n if (mode === 'fail') {\n this.rec.expectationFailed(error);\n } else if (mode === 'warn') {\n this.rec.warn(error);\n } else {\n unreachable();\n }\n }\n };\n\n if (Array.isArray(error)) {\n for (const e of error) {\n handleError(e);\n }\n } else {\n handleError(error);\n }\n }\n\n eventualExpectOK(\n error: Promise,\n { mode = 'fail' }: { mode?: 'fail' | 'warn' } = {}\n ) {\n this.eventualAsyncExpectation(async niceStack => {\n this.expectOK(await error, { mode, niceStack });\n });\n }\n}\n\nexport type SubcaseBatchStateFromFixture = F extends Fixture ? S : never;\n\n/**\n * FixtureClass encapsulates a constructor for fixture and a corresponding\n * shared state factory function. An interface version of the type is also\n * defined for mixin declaration use ONLY. The interface version is necessary\n * because mixin classes need a constructor with a single any[] rest\n * parameter.\n */\nexport type FixtureClass = {\n new (sharedState: SubcaseBatchStateFromFixture, log: TestCaseRecorder, params: TestParams): F;\n MakeSharedState(recorder: TestCaseRecorder, params: TestParams): SubcaseBatchStateFromFixture;\n};\nexport type FixtureClassInterface = {\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n new (...args: any[]): F;\n MakeSharedState(recorder: TestCaseRecorder, params: TestParams): SubcaseBatchStateFromFixture;\n};\nexport type FixtureClassWithMixin = FC extends FixtureClass\n ? FixtureClass\n : never;\n"],"mappings":";;GAEA,SAASA,MAAM,EAAyBC,WAAW,QAAQ,iBAAiB;;AAE5E,OAAO,MAAMC,YAAY,SAASC,KAAK,CAAC;AACxC,OAAO,MAAMC,mBAAmB,SAASD,KAAK,CAAC;;AAE/C,SAASE,gBAAgB,QAAQ,2CAA2C;;AAE5E;;;;;;;;;;;;AAYA,OAAO,MAAMC,iBAAiB,CAAC;EAC7BC,WAAWA;EACUC,QAA0B;EAC7C;EACgBC,MAAkB;EAClC,MAHmBD,QAA0B,GAA1BA,QAA0B,MAE7BC,MAAkB,GAAlBA,MAAkB,CACjC;;EAEH;AACF;AACA;AACA;EACE,MAAMC,IAAIA,CAAA,EAAG,CAAC;EACd;AACF;AACA;AACA;EACE,MAAMC,QAAQA,CAAA,EAAG,CAAC;EAClB;AACF;AACA;AACA;EACE,MAAMC,QAAQA,CAAA,EAAG,CAAC;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,OAAO,CAAkD;;;EAGpE;AACF;AACA;AACA;AACA;;EAEUC,oBAAoB,GAA4B,EAAE;EAClDC,+BAA+B,GAAG,CAAC;EACnCC,gBAAgB,GAAwB,EAAE;;EAElD,OAAcC,eAAeA,CAACT,QAA0B,EAAEC,MAAkB,EAAqB;IAC/F,OAAO,IAAIH,iBAAiB,CAACE,QAAQ,EAAEC,MAAM,CAAC;EAChD;;EAEA;EACAF,WAAWA,CAACW,WAAc,EAAEC,GAAqB,EAAEV,MAAkB,EAAE;IACrE,IAAI,CAACW,YAAY,GAAGF,WAAW;IAC/B,IAAI,CAACC,GAAG,GAAGA,GAAG;IACd,IAAI,CAACE,OAAO,GAAGZ,MAAM;EACvB;;EAEA;AACF;AACA;EACE,IAAIA,MAAMA,CAAA,EAAY;IACpB,OAAO,IAAI,CAACY,OAAO;EACrB;;EAEA;AACF;AACA;AACA;EACE,IAAIH,WAAWA,CAAA,EAAM;IACnB,OAAO,IAAI,CAACE,YAAY;EAC1B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMV,IAAIA,CAAA,EAAkB,CAAC;;EAE7B;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAME,QAAQA,CAAA,EAAkB;IAC9BZ,MAAM;MACJ,IAAI,CAACe,+BAA+B,KAAK,CAAC;MAC1C;IACF,CAAC;;IAED;IACA,OAAO,IAAI,CAACD,oBAAoB,CAACQ,MAAM,EAAE;MACvC,MAAMC,CAAC,GAAG,IAAI,CAACT,oBAAoB,CAACU,KAAK,CAAC,CAAE;MAC5C,IAAI;QACF,MAAMD,CAAC;MACT,CAAC,CAAC,OAAOE,EAAE,EAAE;QACX,IAAI,CAACN,GAAG,CAACO,KAAK,CAACD,EAAE,CAAC;MACpB;IACF;;IAEA;IACA,KAAK,MAAME,CAAC,IAAI,IAAI,CAACX,gBAAgB,EAAE;MACrC,IAAI,cAAc,IAAIW,CAAC,EAAE;QACvB,MAAMC,kBAAkB,GAAGD,CAAC,CAACE,YAAY,CAAC,oBAAoB,CAAC;QAC/D,IAAID,kBAAkB,EAAEA,kBAAkB,CAACE,WAAW,CAAC,CAAC;MAC1D,CAAC,MAAM,IAAI,SAAS,IAAIH,CAAC,EAAE;QACzBA,CAAC,CAACI,OAAO,CAAC,CAAC;MACb,CAAC,MAAM,IAAI,cAAc,IAAIJ,CAAC,EAAE;QAC9B,MAAMA,CAAC,CAACK,YAAY,CAAC,CAAC;MACxB,CAAC,MAAM,IAAI,OAAO,IAAIL,CAAC,EAAE;QACvBA,CAAC,CAACM,KAAK,CAAC,CAAC;MACX,CAAC,MAAM;QACL;QACAN,CAAC,CAACO,GAAG,GAAG,EAAE;QACVP,CAAC,CAACQ,SAAS,GAAG,IAAI;MACpB;IACF;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEC,eAAeA,CAA2DT,CAAI,EAAK;IACjF,IAAIA,CAAC,YAAYU,OAAO,EAAE;MACxB,IAAI,CAACC,wBAAwB,CAAC;MAC5BX,CAAC,CAACY,IAAI;QACJ,CAAAZ,CAAC,KAAI,IAAI,CAACS,eAAe,CAACT,CAAC,CAAC;QAC5B,MAAM,CAAC;MACT;MACF,CAAC;MACD,OAAOA,CAAC;IACV;;IAEA,IAAIA,CAAC,YAAYa,SAAS,EAAE;MAC1B,IAAI,CAACxB,gBAAgB,CAACyB,IAAI,CAAC;QACzB,MAAMT,YAAYA,CAAA,EAAG;UACnBL,CAAC,CAACI,OAAO,CAAC,CAAC;UACX,MAAMJ,CAAC,CAACe,IAAI;QACd;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAAC1B,gBAAgB,CAACyB,IAAI,CAACd,CAAC,CAAC;IAC/B;IACA,OAAOA,CAAC;EACV;;EAEA;EACAgB,kBAAkBA,CAAIhB,CAAI,EAAK;IAC7B,IAAI,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,IAAI,EAAE;MACvC;MACE,SAAS,IAAIA,CAAC;MACd,OAAO,IAAIA,CAAC;MACZA,CAAC,YAAYiB,qBAAqB;MAClCjB,CAAC,YAAYkB,sBAAsB;MACnC;QACA,IAAI,CAAC7B,gBAAgB,CAACyB,IAAI,CAACd,CAAiC,CAAC;MAC/D;IACF;IACA,OAAOA,CAAC;EACV;;EAEA;EACAmB,oBAAoBA,CAACC,OAAmB,EAAEC,IAAqC,GAAGC,SAAS,EAAE;;IAE3F,OAAO,IAAI,CAACb,eAAe,CAACW,OAAO,CAACG,aAAa,CAACF,IAAI,CAAC,CAAC;EAC1D;;EAEA;EACAG,KAAKA,CAACC,GAAW,EAAQ;IACvB,IAAI,CAACjC,GAAG,CAACgC,KAAK,CAAC,IAAIhD,KAAK,CAACiD,GAAG,CAAC,CAAC;EAChC;;EAEA;AACF;AACA;AACA;EACEC,IAAIA,CAACD,GAAW,EAAQ;IACtB,IAAI,CAACjC,GAAG,CAACkC,IAAI,CAAC,IAAIlD,KAAK,CAACiD,GAAG,CAAC,CAAC;EAC/B;;EAEA;EACAE,IAAIA,CAACF,GAAW,EAAS;IACvB,MAAM,IAAIlD,YAAY,CAACkD,GAAG,CAAC;EAC7B;;EAEA;EACAG,MAAMA,CAACC,IAAa,EAAEJ,GAA4B,GAAG,EAAE,EAAE;IACvD,IAAII,IAAI,EAAE;MACR,IAAI,CAACF,IAAI,CAAC,OAAOF,GAAG,KAAK,UAAU,GAAGA,GAAG,CAAC,CAAC,GAAGA,GAAG,CAAC;IACpD;EACF;;EAEA;EACAK,IAAIA,CAACL,GAAY,EAAQ;IACvB,IAAI,CAACjC,GAAG,CAACsC,IAAI,CAAC,IAAItD,KAAK,CAACiD,GAAG,CAAC,CAAC;EAC/B;;EAEA;EACAM,IAAIA,CAACN,GAAY,EAAQ;IACvB,IAAI,CAACjC,GAAG,CAACwC,iBAAiB,CAAC,IAAIxD,KAAK,CAACiD,GAAG,CAAC,CAAC;EAC5C;;EAEA;AACF;AACA;AACA;EACE,MAAgBQ,yBAAyBA,CAAIC,EAAoB,EAAc;IAC7E,IAAI,CAAC9C,+BAA+B,EAAE;IACtC,MAAM+C,GAAG,GAAG,MAAMD,EAAE,CAAC,CAAC;IACtB,IAAI,CAAC9C,+BAA+B,EAAE;IACtC,OAAO+C,GAAG;EACZ;;EAEA;AACF;AACA;AACA;EACYxB,wBAAwBA,CAAIuB,EAAoC,EAAQ;IAChF,MAAME,OAAO,GAAGF,EAAE,CAAC,IAAI1D,KAAK,CAAC,CAAC,CAAC;IAC/B,IAAI,CAACW,oBAAoB,CAAC2B,IAAI,CAACsB,OAAO,CAAC;EACzC;;EAEQC,gBAAgBA,CAACC,aAA4B,EAAExC,EAAW,EAAEyC,SAAgB,EAAQ;IAC1F,IAAI,EAAEzC,EAAE,YAAYtB,KAAK,CAAC,EAAE;MAC1B+D,SAAS,CAACC,OAAO,GAAI,kCAAiC,OAAO1C,EAAG,KAAIA,EAAG,EAAC;MACxE,IAAI,CAACN,GAAG,CAACwC,iBAAiB,CAACO,SAAS,CAAC;MACrC;IACF;IACA,MAAME,UAAU,GAAG3C,EAAE,CAAC4C,IAAI;IAC1B,IAAIJ,aAAa,KAAK,IAAI,IAAIG,UAAU,KAAKH,aAAa,EAAE;MAC1DC,SAAS,CAACC,OAAO,GAAI,SAAQC,UAAW,gBAAeH,aAAc,KAAIxC,EAAG,EAAC;MAC7E,IAAI,CAACN,GAAG,CAACwC,iBAAiB,CAACO,SAAS,CAAC;IACvC,CAAC,MAAM;MACLA,SAAS,CAACC,OAAO,GAAI,aAAYC,UAAW,KAAI3C,EAAE,CAAC0C,OAAQ,EAAC;MAC5D,IAAI,CAAChD,GAAG,CAACgC,KAAK,CAACe,SAAS,CAAC;IAC3B;EACF;;EAEA;EACAI,aAAaA,CAAC/C,CAAmB,EAAE6B,GAAY,EAAQ;IACrD,IAAI,CAACd,wBAAwB,CAAC,OAAM4B,SAAS,KAAI;MAC/C,MAAMK,CAAC,GAAGnB,GAAG,GAAG,IAAI,GAAGA,GAAG,GAAG,EAAE;MAC/B,IAAI;QACF,MAAM7B,CAAC;QACP2C,SAAS,CAACC,OAAO,GAAG,sBAAsB,GAAGI,CAAC;MAChD,CAAC,CAAC,OAAO9C,EAAE,EAAE;QACXyC,SAAS,CAACC,OAAO,GAAI,WAAUI,CAAE,EAAC;QAClC,IAAI9C,EAAE,YAAYtB,KAAK,EAAE;UACvB+D,SAAS,CAACC,OAAO,IAAI,IAAI,GAAG1C,EAAE,CAAC0C,OAAO;QACxC;QACA,IAAI,CAAChD,GAAG,CAACwC,iBAAiB,CAACO,SAAS,CAAC;MACvC;IACF,CAAC,CAAC;EACJ;;EAEA;EACAM,YAAYA;EACVC,YAAoB;EACpBlD,CAAmB;EACnB,EAAEmD,iBAAiB,GAAG,KAAK,EAAEP,OAAO,CAAwB,CAAC,GAAG,CAAC,CAAC;EAC5D;IACN,IAAI,CAAC7B,wBAAwB,CAAC,OAAM4B,SAAS,KAAI;MAC/C,MAAMK,CAAC,GAAGJ,OAAO,GAAG,IAAI,GAAGA,OAAO,GAAG,EAAE;MACvC,IAAI;QACF,MAAM5C,CAAC;QACP2C,SAAS,CAACC,OAAO,GAAG,gBAAgB,GAAGI,CAAC;QACxC,IAAI,CAACpD,GAAG,CAACwC,iBAAiB,CAACO,SAAS,CAAC;MACvC,CAAC,CAAC,OAAOzC,EAAE,EAAE;QACX,IAAI,CAACuC,gBAAgB,CAACS,YAAY,EAAEhD,EAAE,EAAEyC,SAAS,CAAC;QAClD,IAAI,CAACQ,iBAAiB,EAAE;UACtB,IAAI,EAAEjD,EAAE,YAAYtB,KAAK,IAAI,OAAOsB,EAAE,CAACkD,KAAK,KAAK,QAAQ,CAAC,EAAE;YAC1D,MAAMC,SAAS,GAAGnD,EAAE,YAAYtB,KAAK,GAAGsB,EAAE,CAAC0C,OAAO,GAAG,GAAG;YACxDD,SAAS,CAACC,OAAO,GAAI,4CAA2CS,SAAU,IAAGL,CAAE,EAAC;YAChF,IAAI,CAACpD,GAAG,CAACwC,iBAAiB,CAACO,SAAS,CAAC;UACvC;QACF;MACF;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEW,WAAWA;EACTZ,aAA+B;EAC/BJ,EAAc;EACd,EAAEa,iBAAiB,GAAG,KAAK,EAAEP,OAAO,CAAwB,CAAC,GAAG,CAAC,CAAC;EAClE;IACA,MAAMI,CAAC,GAAGJ,OAAO,GAAG,IAAI,GAAGA,OAAO,GAAG,EAAE;IACvC,IAAI;MACFN,EAAE,CAAC,CAAC;MACJ,IAAII,aAAa,KAAK,KAAK,EAAE;QAC3B,IAAI,CAAC9C,GAAG,CAACgC,KAAK,CAAC,IAAIhD,KAAK,CAAC,4BAA4B,GAAGoE,CAAC,CAAC,CAAC;MAC7D,CAAC,MAAM;QACL,IAAI,CAACpD,GAAG,CAACwC,iBAAiB,CAAC,IAAIxD,KAAK,CAAC,4BAA4B,GAAGoE,CAAC,CAAC,CAAC;MACzE;IACF,CAAC,CAAC,OAAO9C,EAAE,EAAE;MACX,IAAIwC,aAAa,KAAK,KAAK,EAAE;QAC3B,IAAI,CAAC9C,GAAG,CAACwC,iBAAiB,CAAC,IAAIxD,KAAK,CAAC,oBAAoB,GAAGoE,CAAC,CAAC,CAAC;MACjE,CAAC,MAAM;QACL,IAAI,CAACP,gBAAgB,CAACC,aAAa,EAAExC,EAAE,EAAE,IAAItB,KAAK,CAACoE,CAAC,CAAC,CAAC;QACtD,IAAI,CAACG,iBAAiB,EAAE;UACtB,IAAI,EAAEjD,EAAE,YAAYtB,KAAK,IAAI,OAAOsB,EAAE,CAACkD,KAAK,KAAK,QAAQ,CAAC,EAAE;YAC1D,IAAI,CAACxD,GAAG,CAACwC,iBAAiB,CAAC,IAAIxD,KAAK,CAAC,sCAAsC,GAAGoE,CAAC,CAAC,CAAC;UACnF;QACF;MACF;IACF;EACF;;EAEA;EACAO,MAAMA,CAACtB,IAAa,EAAEJ,GAAY,EAAW;IAC3C,IAAII,IAAI,EAAE;MACR,MAAMe,CAAC,GAAGnB,GAAG,GAAG,IAAI,GAAGA,GAAG,GAAG,EAAE;MAC/B,IAAI,CAACjC,GAAG,CAACgC,KAAK,CAAC,IAAIhD,KAAK,CAAC,WAAW,GAAGoE,CAAC,CAAC,CAAC;IAC5C,CAAC,MAAM;MACL,IAAI,CAACpD,GAAG,CAACwC,iBAAiB,CAAC,IAAIxD,KAAK,CAACiD,GAAG,CAAC,CAAC;IAC5C;IACA,OAAOI,IAAI;EACb;;EAEA;AACF;AACA;AACA;EACEuB,QAAQA;EACNC,KAAgD;EAChD,EAAEC,IAAI,GAAG,MAAM,EAAEf,SAAS,CAAgD,CAAC,GAAG,CAAC,CAAC;EAC1E;IACN,MAAMgB,WAAW,GAAGA,CAACF,KAAwB,KAAK;MAChD,IAAIA,KAAK,YAAY7E,KAAK,EAAE;QAC1B,IAAI+D,SAAS,EAAE;UACbc,KAAK,CAACL,KAAK,GAAGT,SAAS,CAACS,KAAK;QAC/B;QACA,IAAIM,IAAI,KAAK,MAAM,EAAE;UACnB,IAAI,CAAC9D,GAAG,CAACwC,iBAAiB,CAACqB,KAAK,CAAC;QACnC,CAAC,MAAM,IAAIC,IAAI,KAAK,MAAM,EAAE;UAC1B,IAAI,CAAC9D,GAAG,CAACsC,IAAI,CAACuB,KAAK,CAAC;QACtB,CAAC,MAAM;UACL/E,WAAW,CAAC,CAAC;QACf;MACF;IACF,CAAC;;IAED,IAAIkF,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;MACxB,KAAK,MAAMK,CAAC,IAAIL,KAAK,EAAE;QACrBE,WAAW,CAACG,CAAC,CAAC;MAChB;IACF,CAAC,MAAM;MACLH,WAAW,CAACF,KAAK,CAAC;IACpB;EACF;;EAEAM,gBAAgBA;EACdN,KAAyD;EACzD,EAAEC,IAAI,GAAG,MAAM,CAA6B,CAAC,GAAG,CAAC,CAAC;EAClD;IACA,IAAI,CAAC3C,wBAAwB,CAAC,OAAM4B,SAAS,KAAI;MAC/C,IAAI,CAACa,QAAQ,CAAC,MAAMC,KAAK,EAAE,EAAEC,IAAI,EAAEf,SAAS,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;EACJ;AACF;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA"} \ No newline at end of file diff --git a/common/framework/metadata.js b/common/framework/metadata.js new file mode 100644 index 000000000000..fd33396dfc59 --- /dev/null +++ b/common/framework/metadata.js @@ -0,0 +1,30 @@ +/** +* AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts +**/import { assert } from '../util/util.js'; /** Metadata about tests (that can't be derived at runtime). */ + + + + + + + + + + + + + +export function loadMetadataForSuite(suiteDir) { + assert(typeof require !== 'undefined', 'loadMetadataForSuite is only implemented on Node'); + + const fs = require('fs'); + + const metadataFile = `${suiteDir}/listing_meta.json`; + if (!fs.existsSync(metadataFile)) { + return null; + } + + const metadata = JSON.parse(fs.readFileSync(metadataFile, 'utf8')); + return metadata; +} +//# sourceMappingURL=metadata.js.map \ No newline at end of file diff --git a/common/framework/metadata.js.map b/common/framework/metadata.js.map new file mode 100644 index 000000000000..16feb0f7e94f --- /dev/null +++ b/common/framework/metadata.js.map @@ -0,0 +1 @@ +{"version":3,"file":"metadata.js","names":["assert","loadMetadataForSuite","suiteDir","require","fs","metadataFile","existsSync","metadata","JSON","parse","readFileSync"],"sources":["../../../src/common/framework/metadata.ts"],"sourcesContent":["import { assert } from '../util/util.js';\n\n/** Metadata about tests (that can't be derived at runtime). */\nexport type TestMetadata = {\n /**\n * Estimated average time-per-subcase, in milliseconds.\n * This is used to determine chunking granularity when exporting to WPT with\n * chunking enabled (like out-wpt/cts-chunked2sec.https.html).\n */\n subcaseMS: number;\n};\n\nexport type TestMetadataListing = {\n [testQuery: string]: TestMetadata;\n};\n\nexport function loadMetadataForSuite(suiteDir: string): TestMetadataListing | null {\n assert(typeof require !== 'undefined', 'loadMetadataForSuite is only implemented on Node');\n /* eslint-disable-next-line n/no-restricted-require */\n const fs = require('fs');\n\n const metadataFile = `${suiteDir}/listing_meta.json`;\n if (!fs.existsSync(metadataFile)) {\n return null;\n }\n\n const metadata: TestMetadataListing = JSON.parse(fs.readFileSync(metadataFile, 'utf8'));\n return metadata;\n}\n"],"mappings":";;GAAA,SAASA,MAAM,QAAQ,iBAAiB,CAAC,CAEzC;;;;;;;;;;;;;;AAcA,OAAO,SAASC,oBAAoBA,CAACC,QAAgB,EAA8B;EACjFF,MAAM,CAAC,OAAOG,OAAO,KAAK,WAAW,EAAE,kDAAkD,CAAC;;EAE1F,MAAMC,EAAE,GAAGD,OAAO,CAAC,IAAI,CAAC;;EAExB,MAAME,YAAY,GAAI,GAAEH,QAAS,oBAAmB;EACpD,IAAI,CAACE,EAAE,CAACE,UAAU,CAACD,YAAY,CAAC,EAAE;IAChC,OAAO,IAAI;EACb;;EAEA,MAAME,QAA6B,GAAGC,IAAI,CAACC,KAAK,CAACL,EAAE,CAACM,YAAY,CAACL,YAAY,EAAE,MAAM,CAAC,CAAC;EACvF,OAAOE,QAAQ;AACjB"} \ No newline at end of file diff --git a/common/framework/params_builder.js b/common/framework/params_builder.js new file mode 100644 index 000000000000..b5407cdbdefa --- /dev/null +++ b/common/framework/params_builder.js @@ -0,0 +1,390 @@ +/** +* AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts +**/import { mergeParams, mergeParamsChecked } from '../internal/params_utils.js';import { comparePublicParamsPaths, Ordering } from '../internal/query/compare.js';import { stringifyPublicParams } from '../internal/query/stringify_params.js'; + +import { assert, mapLazy, objectEquals } 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.) + */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/** + * Determines the resulting parameter object type which would be generated by an object of + * the given ParamsBuilder type. + */ + + + + + + + + + +// ================================================================ +// Implementation +// ================================================================ + +/** + * Iterable over pairs of either: + * - `[case params, Iterable]` if there are subcases. + * - `[case params, undefined]` if not. + */ + + + + +/** + * Base class for `CaseParamsBuilder` and `SubcaseParamsBuilder`. + */ +export class ParamsBuilderBase { + + + constructor(cases) { + this.cases = cases; + } + + /** + * Hidden from test files. Use `builderIterateCasesWithSubcases` to access this. + */ + + + +} + +/** + * Calls the (normally hidden) `iterateCasesWithSubcases()` method. + */ +export function builderIterateCasesWithSubcases( +builder, +caseFilter) +{ + + + + + return builder.iterateCasesWithSubcases(caseFilter); +} + +/** + * 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(caseFilter) { + for (const caseP of this.cases(caseFilter)) { + if (caseFilter) { + // this.cases() only filters out cases which conflict with caseFilter. Now that we have + // the final caseP, filter out cases which are missing keys that caseFilter requires. + const ordering = comparePublicParamsPaths(caseP, caseFilter); + if (ordering === Ordering.StrictSuperset || ordering === Ordering.Unordered) { + continue; + } + } + + yield [caseP, undefined]; + } + } + + [Symbol.iterator]() { + return this.cases(null); + } + + /** @inheritDoc */ + expandWithParams( + expander) + { + const baseGenerator = this.cases; + return new CaseParamsBuilder(function* (caseFilter) { + for (const a of baseGenerator(caseFilter)) { + for (const b of expander(a)) { + if (caseFilter) { + // If the expander generated any key-value pair that conflicts with caseFilter, skip. + const kvPairs = Object.entries(b); + if (kvPairs.some(([k, v]) => k in caseFilter && !objectEquals(caseFilter[k], v))) { + continue; + } + } + + yield mergeParamsChecked(a, b); + } + } + }); + } + + /** @inheritDoc */ + expand( + key, + expander) + { + const baseGenerator = this.cases; + return new CaseParamsBuilder(function* (caseFilter) { + for (const a of baseGenerator(caseFilter)) { + assert(!(key in a), `New key '${key}' already exists in ${JSON.stringify(a)}`); + + for (const v of expander(a)) { + // If the expander generated a value for this key that conflicts with caseFilter, skip. + if (caseFilter && key in caseFilter) { + if (!objectEquals(caseFilter[key], v)) { + continue; + } + } + yield { ...a, [key]: v }; + } + } + }); + } + + /** @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.expandWithParams(() => newParams); + } + + /** @inheritDoc */ + combine( + key, + values) + { + assertNotGenerator(values); + const mapped = mapLazy(values, (v) => ({ [key]: v })); + return this.combineWithParams(mapped); + } + + /** @inheritDoc */ + filter(pred) { + const baseGenerator = this.cases; + return new CaseParamsBuilder(function* (caseFilter) { + for (const a of baseGenerator(caseFilter)) { + if (pred(a)) yield a; + } + }); + } + + /** @inheritDoc */ + unless(pred) { + return this.filter((x) => !pred(x)); + } + + /** + * "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(caseFilter) { + for (const caseP of this.cases(caseFilter)) { + if (caseFilter) { + // this.cases() only filters out cases which conflict with caseFilter. Now that we have + // the final caseP, filter out cases which are missing keys that caseFilter requires. + const ordering = comparePublicParamsPaths(caseP, caseFilter); + if (ordering === Ordering.StrictSuperset || ordering === Ordering.Unordered) { + continue; + } + } + + const subcases = Array.from(this.subcases(caseP)); + if (subcases.length) { + yield [ + caseP, + subcases]; + + } + } + } + + /** @inheritDoc */ + expandWithParams( + expander) + { + const baseGenerator = this.subcases; + return new SubcaseParamsBuilder(this.cases, function* (base) { + for (const a of baseGenerator(base)) { + for (const b of expander(mergeParams(base, a))) { + yield mergeParamsChecked(a, b); + } + } + }); + } + + /** @inheritDoc */ + expand( + key, + expander) + { + const baseGenerator = this.subcases; + return new SubcaseParamsBuilder(this.cases, function* (base) { + for (const a of baseGenerator(base)) { + const before = mergeParams(base, a); + assert(!(key in before), () => `Key '${key}' already exists in ${JSON.stringify(before)}`); + + for (const v of expander(before)) { + yield { ...a, [key]: v }; + } + } + }); + } + + /** @inheritDoc */ + combineWithParams( + newParams) + { + assertNotGenerator(newParams); + return this.expandWithParams(() => newParams); + } + + /** @inheritDoc */ + combine( + key, + values) + { + assertNotGenerator(values); + return this.expand(key, () => values); + } + + /** @inheritDoc */ + filter(pred) { + const baseGenerator = this.subcases; + return new SubcaseParamsBuilder(this.cases, function* (base) { + for (const a of baseGenerator(base)) { + if (pred(mergeParams(base, a))) yield a; + } + }); + } + + /** @inheritDoc */ + unless(pred) { + return this.filter((x) => !pred(x)); + } +} + +/** 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' + ); + } +} +//# sourceMappingURL=params_builder.js.map \ No newline at end of file diff --git a/common/framework/params_builder.js.map b/common/framework/params_builder.js.map new file mode 100644 index 000000000000..e9c6c1574d58 --- /dev/null +++ b/common/framework/params_builder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"params_builder.js","names":["mergeParams","mergeParamsChecked","comparePublicParamsPaths","Ordering","stringifyPublicParams","assert","mapLazy","objectEquals","ParamsBuilderBase","constructor","cases","builderIterateCasesWithSubcases","builder","caseFilter","iterateCasesWithSubcases","CaseParamsBuilder","caseP","ordering","StrictSuperset","Unordered","undefined","Symbol","iterator","expandWithParams","expander","baseGenerator","a","b","kvPairs","Object","entries","some","k","v","expand","key","JSON","stringify","combineWithParams","newParams","assertNotGenerator","seenValues","Set","params","paramsStr","has","add","combine","values","mapped","filter","pred","unless","x","beginSubcases","SubcaseParamsBuilder","kUnitCaseParamsBuilder","generator","subcases","Array","from","length","base","before"],"sources":["../../../src/common/framework/params_builder.ts"],"sourcesContent":["import { Merged, mergeParams, mergeParamsChecked } from '../internal/params_utils.js';\nimport { comparePublicParamsPaths, Ordering } from '../internal/query/compare.js';\nimport { stringifyPublicParams } from '../internal/query/stringify_params.js';\nimport { DeepReadonly } from '../util/types.js';\nimport { assert, mapLazy, objectEquals } from '../util/util.js';\n\nimport { TestParams } from './fixture.js';\n\n// ================================================================\n// \"Public\" ParamsBuilder API / Documentation\n// ================================================================\n\n/**\n * Provides doc comments for the methods of CaseParamsBuilder and SubcaseParamsBuilder.\n * (Also enforces rough interface match between them.)\n */\nexport interface ParamsBuilder {\n /**\n * Expands each item in `this` into zero or more items.\n * Each item has its parameters expanded with those returned by the `expander`.\n *\n * **Note:** When only a single key is being added, use the simpler `expand` for readability.\n *\n * ```text\n * this = [ a , b , c ]\n * this.map(expander) = [ f(a) f(b) f(c) ]\n * = [[a1, a2, a3] , [ b1 ] , [] ]\n * merge and flatten = [ merge(a, a1), merge(a, a2), merge(a, a3), merge(b, b1) ]\n * ```\n */\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n expandWithParams(expander: (_: any) => any): any;\n\n /**\n * Expands each item in `this` into zero or more items. Each item has its parameters expanded\n * with one new key, `key`, and the values returned by `expander`.\n */\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n expand(key: string, expander: (_: any) => any): any;\n\n /**\n * Expands each item in `this` to multiple items, one for each item in `newParams`.\n *\n * In other words, takes the cartesian product of [ the items in `this` ] and `newParams`.\n *\n * **Note:** When only a single key is being added, use the simpler `combine` for readability.\n *\n * ```text\n * this = [ {a:1}, {b:2} ]\n * newParams = [ {x:1}, {y:2} ]\n * this.combineP(newParams) = [ {a:1,x:1}, {a:1,y:2}, {b:2,x:1}, {b:2,y:2} ]\n * ```\n */\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n combineWithParams(newParams: Iterable): any;\n\n /**\n * Expands each item in `this` to multiple items with `{ [name]: value }` for each value.\n *\n * In other words, takes the cartesian product of [ the items in `this` ]\n * and `[ {[name]: value} for each value in values ]`\n */\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n combine(key: string, newParams: Iterable): any;\n\n /**\n * Filters `this` to only items for which `pred` returns true.\n */\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n filter(pred: (_: any) => boolean): any;\n\n /**\n * Filters `this` to only items for which `pred` returns false.\n */\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n unless(pred: (_: any) => boolean): any;\n}\n\n/**\n * Determines the resulting parameter object type which would be generated by an object of\n * the given ParamsBuilder type.\n */\nexport type ParamTypeOf<\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n T extends ParamsBuilder,\n> = T extends SubcaseParamsBuilder\n ? Merged\n : T extends CaseParamsBuilder\n ? CaseP\n : never;\n\n// ================================================================\n// Implementation\n// ================================================================\n\n/**\n * Iterable over pairs of either:\n * - `[case params, Iterable]` if there are subcases.\n * - `[case params, undefined]` if not.\n */\nexport type CaseSubcaseIterable = Iterable<\n readonly [DeepReadonly, Iterable> | undefined]\n>;\n\n/**\n * Base class for `CaseParamsBuilder` and `SubcaseParamsBuilder`.\n */\nexport abstract class ParamsBuilderBase {\n protected readonly cases: (caseFilter: TestParams | null) => Generator;\n\n constructor(cases: (caseFilter: TestParams | null) => Generator) {\n this.cases = cases;\n }\n\n /**\n * Hidden from test files. Use `builderIterateCasesWithSubcases` to access this.\n */\n protected abstract iterateCasesWithSubcases(\n caseFilter: TestParams | null\n ): CaseSubcaseIterable;\n}\n\n/**\n * Calls the (normally hidden) `iterateCasesWithSubcases()` method.\n */\nexport function builderIterateCasesWithSubcases(\n builder: ParamsBuilderBase<{}, {}>,\n caseFilter: TestParams | null\n) {\n interface IterableParamsBuilder {\n iterateCasesWithSubcases(caseFilter: TestParams | null): CaseSubcaseIterable<{}, {}>;\n }\n\n return (builder as unknown as IterableParamsBuilder).iterateCasesWithSubcases(caseFilter);\n}\n\n/**\n * Builder for combinatorial test **case** parameters.\n *\n * CaseParamsBuilder is immutable. Each method call returns a new, immutable object,\n * modifying the list of cases according to the method called.\n *\n * This means, for example, that the `unit` passed into `TestBuilder.params()` can be reused.\n */\nexport class CaseParamsBuilder\n extends ParamsBuilderBase\n implements Iterable>, ParamsBuilder\n{\n *iterateCasesWithSubcases(caseFilter: TestParams | null): CaseSubcaseIterable {\n for (const caseP of this.cases(caseFilter)) {\n if (caseFilter) {\n // this.cases() only filters out cases which conflict with caseFilter. Now that we have\n // the final caseP, filter out cases which are missing keys that caseFilter requires.\n const ordering = comparePublicParamsPaths(caseP, caseFilter);\n if (ordering === Ordering.StrictSuperset || ordering === Ordering.Unordered) {\n continue;\n }\n }\n\n yield [caseP as DeepReadonly, undefined];\n }\n }\n\n [Symbol.iterator](): Iterator> {\n return this.cases(null) as Iterator>;\n }\n\n /** @inheritDoc */\n expandWithParams(\n expander: (_: CaseP) => Iterable\n ): CaseParamsBuilder> {\n const baseGenerator = this.cases;\n return new CaseParamsBuilder(function* (caseFilter) {\n for (const a of baseGenerator(caseFilter)) {\n for (const b of expander(a)) {\n if (caseFilter) {\n // If the expander generated any key-value pair that conflicts with caseFilter, skip.\n const kvPairs = Object.entries(b);\n if (kvPairs.some(([k, v]) => k in caseFilter && !objectEquals(caseFilter[k], v))) {\n continue;\n }\n }\n\n yield mergeParamsChecked(a, b);\n }\n }\n });\n }\n\n /** @inheritDoc */\n expand(\n key: NewPKey,\n expander: (_: CaseP) => Iterable\n ): CaseParamsBuilder> {\n const baseGenerator = this.cases;\n return new CaseParamsBuilder(function* (caseFilter) {\n for (const a of baseGenerator(caseFilter)) {\n assert(!(key in a), `New key '${key}' already exists in ${JSON.stringify(a)}`);\n\n for (const v of expander(a)) {\n // If the expander generated a value for this key that conflicts with caseFilter, skip.\n if (caseFilter && key in caseFilter) {\n if (!objectEquals(caseFilter[key], v)) {\n continue;\n }\n }\n yield { ...a, [key]: v } as Merged;\n }\n }\n });\n }\n\n /** @inheritDoc */\n combineWithParams(\n newParams: Iterable\n ): CaseParamsBuilder> {\n assertNotGenerator(newParams);\n const seenValues = new Set();\n for (const params of newParams) {\n const paramsStr = stringifyPublicParams(params);\n assert(!seenValues.has(paramsStr), `Duplicate entry in combine[WithParams]: ${paramsStr}`);\n seenValues.add(paramsStr);\n }\n\n return this.expandWithParams(() => newParams);\n }\n\n /** @inheritDoc */\n combine(\n key: NewPKey,\n values: Iterable\n ): CaseParamsBuilder> {\n assertNotGenerator(values);\n const mapped = mapLazy(values, v => ({ [key]: v }) as { [name in NewPKey]: NewPValue });\n return this.combineWithParams(mapped);\n }\n\n /** @inheritDoc */\n filter(pred: (_: CaseP) => boolean): CaseParamsBuilder {\n const baseGenerator = this.cases;\n return new CaseParamsBuilder(function* (caseFilter) {\n for (const a of baseGenerator(caseFilter)) {\n if (pred(a)) yield a;\n }\n });\n }\n\n /** @inheritDoc */\n unless(pred: (_: CaseP) => boolean): CaseParamsBuilder {\n return this.filter(x => !pred(x));\n }\n\n /**\n * \"Finalize\" the list of cases and begin defining subcases.\n * Returns a new SubcaseParamsBuilder. Methods called on SubcaseParamsBuilder\n * generate new subcases instead of new cases.\n */\n beginSubcases(): SubcaseParamsBuilder {\n return new SubcaseParamsBuilder(this.cases, function* () {\n yield {};\n });\n }\n}\n\n/**\n * The unit CaseParamsBuilder, representing a single case with no params: `[ {} ]`.\n *\n * `punit` is passed to every `.params()`/`.paramsSubcasesOnly()` call, so `kUnitCaseParamsBuilder`\n * is only explicitly needed if constructing a ParamsBuilder outside of a test builder.\n */\nexport const kUnitCaseParamsBuilder = new CaseParamsBuilder(function* () {\n yield {};\n});\n\n/**\n * Builder for combinatorial test _subcase_ parameters.\n *\n * SubcaseParamsBuilder is immutable. Each method call returns a new, immutable object,\n * modifying the list of subcases according to the method called.\n */\nexport class SubcaseParamsBuilder\n extends ParamsBuilderBase\n implements ParamsBuilder\n{\n protected readonly subcases: (_: CaseP) => Generator;\n\n constructor(\n cases: (caseFilter: TestParams | null) => Generator,\n generator: (_: CaseP) => Generator\n ) {\n super(cases);\n this.subcases = generator;\n }\n\n *iterateCasesWithSubcases(caseFilter: TestParams | null): CaseSubcaseIterable {\n for (const caseP of this.cases(caseFilter)) {\n if (caseFilter) {\n // this.cases() only filters out cases which conflict with caseFilter. Now that we have\n // the final caseP, filter out cases which are missing keys that caseFilter requires.\n const ordering = comparePublicParamsPaths(caseP, caseFilter);\n if (ordering === Ordering.StrictSuperset || ordering === Ordering.Unordered) {\n continue;\n }\n }\n\n const subcases = Array.from(this.subcases(caseP));\n if (subcases.length) {\n yield [\n caseP as DeepReadonly,\n subcases as DeepReadonly<(typeof subcases)[number]>[],\n ];\n }\n }\n }\n\n /** @inheritDoc */\n expandWithParams(\n expander: (_: Merged) => Iterable\n ): SubcaseParamsBuilder> {\n const baseGenerator = this.subcases;\n return new SubcaseParamsBuilder(this.cases, function* (base) {\n for (const a of baseGenerator(base)) {\n for (const b of expander(mergeParams(base, a))) {\n yield mergeParamsChecked(a, b);\n }\n }\n });\n }\n\n /** @inheritDoc */\n expand(\n key: NewPKey,\n expander: (_: Merged) => Iterable\n ): SubcaseParamsBuilder> {\n const baseGenerator = this.subcases;\n return new SubcaseParamsBuilder(this.cases, function* (base) {\n for (const a of baseGenerator(base)) {\n const before = mergeParams(base, a);\n assert(!(key in before), () => `Key '${key}' already exists in ${JSON.stringify(before)}`);\n\n for (const v of expander(before)) {\n yield { ...a, [key]: v } as Merged;\n }\n }\n });\n }\n\n /** @inheritDoc */\n combineWithParams(\n newParams: Iterable\n ): SubcaseParamsBuilder> {\n assertNotGenerator(newParams);\n return this.expandWithParams(() => newParams);\n }\n\n /** @inheritDoc */\n combine(\n key: NewPKey,\n values: Iterable\n ): SubcaseParamsBuilder> {\n assertNotGenerator(values);\n return this.expand(key, () => values);\n }\n\n /** @inheritDoc */\n filter(pred: (_: Merged) => boolean): SubcaseParamsBuilder {\n const baseGenerator = this.subcases;\n return new SubcaseParamsBuilder(this.cases, function* (base) {\n for (const a of baseGenerator(base)) {\n if (pred(mergeParams(base, a))) yield a;\n }\n });\n }\n\n /** @inheritDoc */\n unless(pred: (_: Merged) => boolean): SubcaseParamsBuilder {\n return this.filter(x => !pred(x));\n }\n}\n\n/** Assert an object is not a Generator (a thing returned from a generator function). */\nfunction assertNotGenerator(x: object) {\n if ('constructor' in x) {\n assert(\n x.constructor !== (function* () {})().constructor,\n 'Argument must not be a generator, as generators are not reusable'\n );\n }\n}\n"],"mappings":";;GAAA,SAAiBA,WAAW,EAAEC,kBAAkB,QAAQ,6BAA6B,CACrF,SAASC,wBAAwB,EAAEC,QAAQ,QAAQ,8BAA8B,CACjF,SAASC,qBAAqB,QAAQ,uCAAuC;;AAE7E,SAASC,MAAM,EAAEC,OAAO,EAAEC,YAAY,QAAQ,iBAAiB;;;;AAI/D;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA;AACA;AACA;AACA;;;;;;;;;;AAUA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,OAAO,MAAeC,iBAAiB,CAAwC;;;EAG7EC,WAAWA,CAACC,KAA0D,EAAE;IACtE,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA;AAC7CC,OAAkC;AAClCC,UAA6B;AAC7B;;;;;EAKA,OAAQD,OAAO,CAAsCE,wBAAwB,CAACD,UAAU,CAAC;AAC3F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,iBAAiB;AACpBP;;AAEV;EACE,CAACM,wBAAwBA,CAACD,UAA6B,EAAkC;IACvF,KAAK,MAAMG,KAAK,IAAI,IAAI,CAACN,KAAK,CAACG,UAAU,CAAC,EAAE;MAC1C,IAAIA,UAAU,EAAE;QACd;QACA;QACA,MAAMI,QAAQ,GAAGf,wBAAwB,CAACc,KAAK,EAAEH,UAAU,CAAC;QAC5D,IAAII,QAAQ,KAAKd,QAAQ,CAACe,cAAc,IAAID,QAAQ,KAAKd,QAAQ,CAACgB,SAAS,EAAE;UAC3E;QACF;MACF;;MAEA,MAAM,CAACH,KAAK,EAAgCI,SAAS,CAAC;IACxD;EACF;;EAEA,CAACC,MAAM,CAACC,QAAQ,IAAmC;IACjD,OAAO,IAAI,CAACZ,KAAK,CAAC,IAAI,CAAC;EACzB;;EAEA;EACAa,gBAAgBA;EACdC,QAAsC;EACE;IACxC,MAAMC,aAAa,GAAG,IAAI,CAACf,KAAK;IAChC,OAAO,IAAIK,iBAAiB,CAAC,WAAWF,UAAU,EAAE;MAClD,KAAK,MAAMa,CAAC,IAAID,aAAa,CAACZ,UAAU,CAAC,EAAE;QACzC,KAAK,MAAMc,CAAC,IAAIH,QAAQ,CAACE,CAAC,CAAC,EAAE;UAC3B,IAAIb,UAAU,EAAE;YACd;YACA,MAAMe,OAAO,GAAGC,MAAM,CAACC,OAAO,CAACH,CAAC,CAAC;YACjC,IAAIC,OAAO,CAACG,IAAI,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAKD,CAAC,IAAInB,UAAU,IAAI,CAACN,YAAY,CAACM,UAAU,CAACmB,CAAC,CAAC,EAAEC,CAAC,CAAC,CAAC,EAAE;cAChF;YACF;UACF;;UAEA,MAAMhC,kBAAkB,CAACyB,CAAC,EAAEC,CAAC,CAAC;QAChC;MACF;IACF,CAAC,CAAC;EACJ;;EAEA;EACAO,MAAMA;EACJC,GAAY;EACZX,QAA2C;EACyB;IACpE,MAAMC,aAAa,GAAG,IAAI,CAACf,KAAK;IAChC,OAAO,IAAIK,iBAAiB,CAAC,WAAWF,UAAU,EAAE;MAClD,KAAK,MAAMa,CAAC,IAAID,aAAa,CAACZ,UAAU,CAAC,EAAE;QACzCR,MAAM,CAAC,EAAE8B,GAAG,IAAIT,CAAC,CAAC,EAAG,YAAWS,GAAI,uBAAsBC,IAAI,CAACC,SAAS,CAACX,CAAC,CAAE,EAAC,CAAC;;QAE9E,KAAK,MAAMO,CAAC,IAAIT,QAAQ,CAACE,CAAC,CAAC,EAAE;UAC3B;UACA,IAAIb,UAAU,IAAIsB,GAAG,IAAItB,UAAU,EAAE;YACnC,IAAI,CAACN,YAAY,CAACM,UAAU,CAACsB,GAAG,CAAC,EAAEF,CAAC,CAAC,EAAE;cACrC;YACF;UACF;UACA,MAAM,EAAE,GAAGP,CAAC,EAAE,CAACS,GAAG,GAAGF,CAAC,CAAC,CAAoD;QAC7E;MACF;IACF,CAAC,CAAC;EACJ;;EAEA;EACAK,iBAAiBA;EACfC,SAAyB;EACe;IACxCC,kBAAkB,CAACD,SAAS,CAAC;IAC7B,MAAME,UAAU,GAAG,IAAIC,GAAG,CAAS,CAAC;IACpC,KAAK,MAAMC,MAAM,IAAIJ,SAAS,EAAE;MAC9B,MAAMK,SAAS,GAAGxC,qBAAqB,CAACuC,MAAM,CAAC;MAC/CtC,MAAM,CAAC,CAACoC,UAAU,CAACI,GAAG,CAACD,SAAS,CAAC,EAAG,2CAA0CA,SAAU,EAAC,CAAC;MAC1FH,UAAU,CAACK,GAAG,CAACF,SAAS,CAAC;IAC3B;;IAEA,OAAO,IAAI,CAACrB,gBAAgB,CAAC,MAAMgB,SAAS,CAAC;EAC/C;;EAEA;EACAQ,OAAOA;EACLZ,GAAY;EACZa,MAA2B;EACyC;IACpER,kBAAkB,CAACQ,MAAM,CAAC;IAC1B,MAAMC,MAAM,GAAG3C,OAAO,CAAC0C,MAAM,EAAE,CAAAf,CAAC,MAAK,EAAE,CAACE,GAAG,GAAGF,CAAC,CAAC,CAAC,CAAqC,CAAC;IACvF,OAAO,IAAI,CAACK,iBAAiB,CAACW,MAAM,CAAC;EACvC;;EAEA;EACAC,MAAMA,CAACC,IAA2B,EAA4B;IAC5D,MAAM1B,aAAa,GAAG,IAAI,CAACf,KAAK;IAChC,OAAO,IAAIK,iBAAiB,CAAC,WAAWF,UAAU,EAAE;MAClD,KAAK,MAAMa,CAAC,IAAID,aAAa,CAACZ,UAAU,CAAC,EAAE;QACzC,IAAIsC,IAAI,CAACzB,CAAC,CAAC,EAAE,MAAMA,CAAC;MACtB;IACF,CAAC,CAAC;EACJ;;EAEA;EACA0B,MAAMA,CAACD,IAA2B,EAA4B;IAC5D,OAAO,IAAI,CAACD,MAAM,CAAC,CAAAG,CAAC,KAAI,CAACF,IAAI,CAACE,CAAC,CAAC,CAAC;EACnC;;EAEA;AACF;AACA;AACA;AACA;EACEC,aAAaA,CAAA,EAAoC;IAC/C,OAAO,IAAIC,oBAAoB,CAAC,IAAI,CAAC7C,KAAK,EAAE,aAAa;MACvD,MAAM,CAAC,CAAC;IACV,CAAC,CAAC;EACJ;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM8C,sBAAsB,GAAG,IAAIzC,iBAAiB,CAAC,aAAa;EACvE,MAAM,CAAC,CAAC;AACV,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMwC,oBAAoB;AACvB/C;;AAEV;;;EAGEC,WAAWA;EACTC,KAA0D;EAC1D+C,SAA4C;EAC5C;IACA,KAAK,CAAC/C,KAAK,CAAC;IACZ,IAAI,CAACgD,QAAQ,GAAGD,SAAS;EAC3B;;EAEA,CAAC3C,wBAAwBA,CAACD,UAA6B,EAAwC;IAC7F,KAAK,MAAMG,KAAK,IAAI,IAAI,CAACN,KAAK,CAACG,UAAU,CAAC,EAAE;MAC1C,IAAIA,UAAU,EAAE;QACd;QACA;QACA,MAAMI,QAAQ,GAAGf,wBAAwB,CAACc,KAAK,EAAEH,UAAU,CAAC;QAC5D,IAAII,QAAQ,KAAKd,QAAQ,CAACe,cAAc,IAAID,QAAQ,KAAKd,QAAQ,CAACgB,SAAS,EAAE;UAC3E;QACF;MACF;;MAEA,MAAMuC,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACF,QAAQ,CAAC1C,KAAK,CAAC,CAAC;MACjD,IAAI0C,QAAQ,CAACG,MAAM,EAAE;QACnB,MAAM;QACJ7C,KAAK;QACL0C,QAAQ,CACT;;MACH;IACF;EACF;;EAEA;EACAnC,gBAAgBA;EACdC,QAAwD;EACH;IACrD,MAAMC,aAAa,GAAG,IAAI,CAACiC,QAAQ;IACnC,OAAO,IAAIH,oBAAoB,CAAC,IAAI,CAAC7C,KAAK,EAAE,WAAWoD,IAAI,EAAE;MAC3D,KAAK,MAAMpC,CAAC,IAAID,aAAa,CAACqC,IAAI,CAAC,EAAE;QACnC,KAAK,MAAMnC,CAAC,IAAIH,QAAQ,CAACxB,WAAW,CAAC8D,IAAI,EAAEpC,CAAC,CAAC,CAAC,EAAE;UAC9C,MAAMzB,kBAAkB,CAACyB,CAAC,EAAEC,CAAC,CAAC;QAChC;MACF;IACF,CAAC,CAAC;EACJ;;EAEA;EACAO,MAAMA;EACJC,GAAY;EACZX,QAA6D;EACoB;IACjF,MAAMC,aAAa,GAAG,IAAI,CAACiC,QAAQ;IACnC,OAAO,IAAIH,oBAAoB,CAAC,IAAI,CAAC7C,KAAK,EAAE,WAAWoD,IAAI,EAAE;MAC3D,KAAK,MAAMpC,CAAC,IAAID,aAAa,CAACqC,IAAI,CAAC,EAAE;QACnC,MAAMC,MAAM,GAAG/D,WAAW,CAAC8D,IAAI,EAAEpC,CAAC,CAAC;QACnCrB,MAAM,CAAC,EAAE8B,GAAG,IAAI4B,MAAM,CAAC,EAAE,MAAO,QAAO5B,GAAI,uBAAsBC,IAAI,CAACC,SAAS,CAAC0B,MAAM,CAAE,EAAC,CAAC;;QAE1F,KAAK,MAAM9B,CAAC,IAAIT,QAAQ,CAACuC,MAAM,CAAC,EAAE;UAChC,MAAM,EAAE,GAAGrC,CAAC,EAAE,CAACS,GAAG,GAAGF,CAAC,CAAC,CAAoD;QAC7E;MACF;IACF,CAAC,CAAC;EACJ;;EAEA;EACAK,iBAAiBA;EACfC,SAAyB;EAC4B;IACrDC,kBAAkB,CAACD,SAAS,CAAC;IAC7B,OAAO,IAAI,CAAChB,gBAAgB,CAAC,MAAMgB,SAAS,CAAC;EAC/C;;EAEA;EACAQ,OAAOA;EACLZ,GAAY;EACZa,MAA2B;EACsD;IACjFR,kBAAkB,CAACQ,MAAM,CAAC;IAC1B,OAAO,IAAI,CAACd,MAAM,CAACC,GAAG,EAAE,MAAMa,MAAM,CAAC;EACvC;;EAEA;EACAE,MAAMA,CAACC,IAA6C,EAAyC;IAC3F,MAAM1B,aAAa,GAAG,IAAI,CAACiC,QAAQ;IACnC,OAAO,IAAIH,oBAAoB,CAAC,IAAI,CAAC7C,KAAK,EAAE,WAAWoD,IAAI,EAAE;MAC3D,KAAK,MAAMpC,CAAC,IAAID,aAAa,CAACqC,IAAI,CAAC,EAAE;QACnC,IAAIX,IAAI,CAACnD,WAAW,CAAC8D,IAAI,EAAEpC,CAAC,CAAC,CAAC,EAAE,MAAMA,CAAC;MACzC;IACF,CAAC,CAAC;EACJ;;EAEA;EACA0B,MAAMA,CAACD,IAA6C,EAAyC;IAC3F,OAAO,IAAI,CAACD,MAAM,CAAC,CAAAG,CAAC,KAAI,CAACF,IAAI,CAACE,CAAC,CAAC,CAAC;EACnC;AACF;;AAEA;AACA,SAASb,kBAAkBA,CAACa,CAAS,EAAE;EACrC,IAAI,aAAa,IAAIA,CAAC,EAAE;IACtBhD,MAAM;MACJgD,CAAC,CAAC5C,WAAW,KAAM,aAAa,CAAC,CAAC,CAAE,CAAC,CAACA,WAAW;MACjD;IACF,CAAC;EACH;AACF"} \ No newline at end of file diff --git a/common/framework/resources.js b/common/framework/resources.js new file mode 100644 index 000000000000..9c475604defa --- /dev/null +++ b/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()`, ``, `