From 6a0a694de12ef50ba6179c11ee7753e24017e155 Mon Sep 17 00:00:00 2001 From: Gregg Tavares Date: Tue, 29 Oct 2024 13:18:14 -0700 Subject: [PATCH] stencil8-crash --- out/common/framework/data_cache.js | 176 + out/common/framework/data_cache.js.map | 1 + out/common/framework/fixture.js | 399 + out/common/framework/fixture.js.map | 1 + out/common/framework/metadata.js | 30 + out/common/framework/metadata.js.map | 1 + out/common/framework/params_builder.js | 390 + out/common/framework/params_builder.js.map | 1 + out/common/framework/resources.js | 111 + out/common/framework/resources.js.map | 1 + out/common/framework/test_config.js | 51 + out/common/framework/test_config.js.map | 1 + out/common/framework/test_group.js | 4 + out/common/framework/test_group.js.map | 1 + out/common/internal/file_loader.js | 108 + out/common/internal/file_loader.js.map | 1 + out/common/internal/logging/log_message.js | 82 + .../internal/logging/log_message.js.map | 1 + out/common/internal/logging/logger.js | 30 + out/common/internal/logging/logger.js.map | 1 + out/common/internal/logging/result.js | 35 + out/common/internal/logging/result.js.map | 1 + .../internal/logging/test_case_recorder.js | 185 + .../logging/test_case_recorder.js.map | 1 + out/common/internal/params_utils.js | 139 + out/common/internal/params_utils.js.map | 1 + out/common/internal/query/compare.js | 99 + out/common/internal/query/compare.js.map | 1 + .../internal/query/encode_selectively.js | 24 + .../internal/query/encode_selectively.js.map | 1 + out/common/internal/query/json_param_value.js | 115 + .../internal/query/json_param_value.js.map | 1 + out/common/internal/query/parseQuery.js | 193 + out/common/internal/query/parseQuery.js.map | 1 + out/common/internal/query/query.js | 263 + out/common/internal/query/query.js.map | 1 + out/common/internal/query/separators.js | 15 + out/common/internal/query/separators.js.map | 1 + out/common/internal/query/stringify_params.js | 45 + .../internal/query/stringify_params.js.map | 1 + out/common/internal/query/validQueryPart.js | 4 + .../internal/query/validQueryPart.js.map | 1 + out/common/internal/stack.js | 83 + out/common/internal/stack.js.map | 1 + out/common/internal/test_group.js | 746 ++ out/common/internal/test_group.js.map | 1 + out/common/internal/test_suite_listing.js | 7 + out/common/internal/test_suite_listing.js.map | 1 + out/common/internal/tree.js | 677 ++ out/common/internal/tree.js.map | 1 + out/common/internal/util.js | 11 + out/common/internal/util.js.map | 1 + out/common/internal/version.js | 3 + out/common/internal/websocket_logger.js | 58 + out/common/internal/websocket_logger.js.map | 1 + out/common/runtime/cmdline.js | 295 + out/common/runtime/cmdline.js.map | 1 + out/common/runtime/helper/options.js | 169 + out/common/runtime/helper/options.js.map | 1 + out/common/runtime/helper/sys.js | 48 + out/common/runtime/helper/sys.js.map | 1 + .../runtime/helper/test_worker-worker.js | 48 + .../runtime/helper/test_worker-worker.js.map | 1 + out/common/runtime/helper/test_worker.js | 196 + out/common/runtime/helper/test_worker.js.map | 1 + out/common/runtime/helper/utils_worker.js | 36 + out/common/runtime/helper/utils_worker.js.map | 1 + out/common/runtime/helper/wrap_for_worker.js | 55 + .../runtime/helper/wrap_for_worker.js.map | 1 + out/common/runtime/server.js | 249 + out/common/runtime/server.js.map | 1 + out/common/runtime/standalone.js | 702 ++ out/common/runtime/standalone.js.map | 1 + out/common/runtime/wpt.js | 90 + out/common/runtime/wpt.js.map | 1 + out/common/tools/checklist.js | 137 + out/common/tools/checklist.js.map | 1 + out/common/tools/crawl.js | 172 + out/common/tools/crawl.js.map | 1 + out/common/tools/dev_server.js | 224 + out/common/tools/dev_server.js.map | 1 + out/common/tools/gen_cache.js | 301 + out/common/tools/gen_cache.js.map | 1 + out/common/tools/gen_listings.js | 57 + out/common/tools/gen_listings.js.map | 1 + .../tools/gen_listings_and_webworkers.js | 91 + .../tools/gen_listings_and_webworkers.js.map | 1 + out/common/tools/gen_wpt_cts_html.js | 310 + out/common/tools/gen_wpt_cts_html.js.map | 1 + out/common/tools/image_utils.js | 59 + out/common/tools/image_utils.js.map | 1 + out/common/tools/merge_listing_times.js | 170 + out/common/tools/merge_listing_times.js.map | 1 + out/common/tools/run_wpt_ref_tests.js | 447 + out/common/tools/run_wpt_ref_tests.js.map | 1 + out/common/tools/setup-ts-in-node.js | 52 + out/common/tools/setup-ts-in-node.js.map | 1 + out/common/tools/validate.js | 54 + out/common/tools/validate.js.map | 1 + out/common/tools/version.js | 6 + out/common/tools/version.js.map | 1 + out/common/util/collect_garbage.js | 59 + out/common/util/collect_garbage.js.map | 1 + out/common/util/colors.js | 128 + out/common/util/colors.js.map | 1 + out/common/util/crc32.js | 58 + out/common/util/crc32.js.map | 1 + out/common/util/data_tables.js | 130 + out/common/util/data_tables.js.map | 1 + out/common/util/navigator_gpu.js | 86 + out/common/util/navigator_gpu.js.map | 1 + out/common/util/parse_imports.js | 37 + out/common/util/parse_imports.js.map | 1 + out/common/util/preprocessor.js | 150 + out/common/util/preprocessor.js.map | 1 + out/common/util/timeout.js | 8 + out/common/util/timeout.js.map | 1 + out/common/util/types.js | 98 + out/common/util/types.js.map | 1 + out/common/util/util.js | 479 + out/common/util/util.js.map | 1 + out/common/util/wpt_reftest_wait.js | 25 + out/common/util/wpt_reftest_wait.js.map | 1 + out/demo/a.spec.js | 9 + out/demo/a.spec.js.map | 1 + out/demo/a/b.spec.js | 7 + out/demo/a/b.spec.js.map | 1 + out/demo/a/b/c.spec.js | 81 + out/demo/a/b/c.spec.js.map | 1 + out/demo/a/b/d.spec.js | 9 + out/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 + out/demo/json.spec.js | 11 + out/demo/json.spec.js.map | 1 + out/demo/listing.js | 63 + out/demo/subcases.spec.js | 39 + out/demo/subcases.spec.js.map | 1 + out/demo/webworker/a.as_worker.js | 6 + out/demo/webworker/a/b.as_worker.js | 6 + out/demo/webworker/a/b/c.as_worker.js | 6 + out/demo/webworker/a/b/d.as_worker.js | 6 + .../in_single_child_dir/r.as_worker.js | 6 + out/demo/webworker/json.as_worker.js | 6 + out/demo/webworker/subcases.as_worker.js | 6 + out/external/petamoriken/float16/float16.d.js | 498 + .../petamoriken/float16/float16.d.js.map | 1 + out/external/petamoriken/float16/float16.js | 1326 +++ .../petamoriken/float16/float16.js.map | 1 + out/manual/listing.js | 8 + out/resources/README.md | 93 + out/resources/cache/hashes.json | 112 + .../cache/webgpu/shader/execution/abs.bin | Bin 0 -> 17976 bytes .../cache/webgpu/shader/execution/acos.bin | Bin 0 -> 26440 bytes .../cache/webgpu/shader/execution/acosh.bin | Bin 0 -> 30248 bytes .../cache/webgpu/shader/execution/asin.bin | Bin 0 -> 26440 bytes .../cache/webgpu/shader/execution/asinh.bin | Bin 0 -> 11664 bytes .../cache/webgpu/shader/execution/atan.bin | Bin 0 -> 20128 bytes .../cache/webgpu/shader/execution/atan2.bin | Bin 0 -> 51608 bytes .../cache/webgpu/shader/execution/atanh.bin | Bin 0 -> 21104 bytes .../shader/execution/binary/af_addition.bin | Bin 0 -> 237960 bytes .../shader/execution/binary/af_division.bin | Bin 0 -> 77496 bytes .../shader/execution/binary/af_logical.bin | Bin 0 -> 12456 bytes .../execution/binary/af_matrix_addition.bin | Bin 0 -> 194032 bytes .../af_matrix_matrix_multiplication.bin | Bin 0 -> 82608 bytes .../af_matrix_scalar_multiplication.bin | Bin 0 -> 302920 bytes .../binary/af_matrix_subtraction.bin | Bin 0 -> 169712 bytes .../af_matrix_vector_multiplication.bin | Bin 0 -> 152528 bytes .../execution/binary/af_multiplication.bin | Bin 0 -> 228600 bytes .../shader/execution/binary/af_remainder.bin | Bin 0 -> 77496 bytes .../execution/binary/af_subtraction.bin | Bin 0 -> 237960 bytes .../shader/execution/binary/ai_arithmetic.bin | Bin 0 -> 831992 bytes .../shader/execution/binary/f16_addition.bin | Bin 0 -> 169680 bytes .../shader/execution/binary/f16_division.bin | Bin 0 -> 120856 bytes .../shader/execution/binary/f16_logical.bin | Bin 0 -> 15912 bytes .../execution/binary/f16_matrix_addition.bin | Bin 0 -> 557464 bytes .../f16_matrix_matrix_multiplication.bin | Bin 0 -> 1481368 bytes .../f16_matrix_scalar_multiplication.bin | Bin 0 -> 906440 bytes .../binary/f16_matrix_subtraction.bin | Bin 0 -> 534232 bytes .../f16_matrix_vector_multiplication.bin | Bin 0 -> 601680 bytes .../execution/binary/f16_multiplication.bin | Bin 0 -> 171072 bytes .../shader/execution/binary/f16_remainder.bin | Bin 0 -> 118944 bytes .../execution/binary/f16_subtraction.bin | Bin 0 -> 169680 bytes .../shader/execution/binary/f32_addition.bin | Bin 0 -> 279984 bytes .../shader/execution/binary/f32_division.bin | Bin 0 -> 174960 bytes .../shader/execution/binary/f32_logical.bin | Bin 0 -> 18984 bytes .../execution/binary/f32_matrix_addition.bin | Bin 0 -> 991896 bytes .../f32_matrix_matrix_multiplication.bin | Bin 0 -> 2510560 bytes .../f32_matrix_scalar_multiplication.bin | Bin 0 -> 1534768 bytes .../binary/f32_matrix_subtraction.bin | Bin 0 -> 995984 bytes .../f32_matrix_vector_multiplication.bin | Bin 0 -> 950336 bytes .../execution/binary/f32_multiplication.bin | Bin 0 -> 257976 bytes .../shader/execution/binary/f32_remainder.bin | Bin 0 -> 171384 bytes .../execution/binary/f32_subtraction.bin | Bin 0 -> 279968 bytes .../execution/binary/i32_arithmetic.bin | Bin 0 -> 727864 bytes .../execution/binary/i32_comparison.bin | Bin 0 -> 3872 bytes .../execution/binary/u32_arithmetic.bin | Bin 0 -> 225816 bytes .../execution/binary/u32_comparison.bin | Bin 0 -> 2192 bytes .../cache/webgpu/shader/execution/bitcast.bin | Bin 0 -> 2240896 bytes .../cache/webgpu/shader/execution/ceil.bin | Bin 0 -> 16016 bytes .../cache/webgpu/shader/execution/clamp.bin | Bin 0 -> 1048136 bytes .../cache/webgpu/shader/execution/cos.bin | Bin 0 -> 20176 bytes .../cache/webgpu/shader/execution/cosh.bin | Bin 0 -> 14904 bytes .../cache/webgpu/shader/execution/cross.bin | Bin 0 -> 829096 bytes .../cache/webgpu/shader/execution/degrees.bin | Bin 0 -> 18048 bytes .../webgpu/shader/execution/derivatives.bin | Bin 0 -> 11264 bytes .../webgpu/shader/execution/determinant.bin | Bin 0 -> 21296 bytes .../webgpu/shader/execution/distance.bin | Bin 0 -> 1731496 bytes .../cache/webgpu/shader/execution/dot.bin | Bin 0 -> 469272 bytes .../cache/webgpu/shader/execution/exp.bin | Bin 0 -> 34592 bytes .../cache/webgpu/shader/execution/exp2.bin | Bin 0 -> 34592 bytes .../webgpu/shader/execution/faceForward.bin | Bin 0 -> 4214688 bytes .../cache/webgpu/shader/execution/floor.bin | Bin 0 -> 16016 bytes .../cache/webgpu/shader/execution/fma.bin | Bin 0 -> 886720 bytes .../cache/webgpu/shader/execution/fract.bin | Bin 0 -> 10024 bytes .../cache/webgpu/shader/execution/frexp.bin | Bin 0 -> 47072 bytes .../cache/webgpu/shader/execution/fwidth.bin | Bin 0 -> 5917352 bytes .../webgpu/shader/execution/inverseSqrt.bin | Bin 0 -> 78424 bytes .../cache/webgpu/shader/execution/ldexp.bin | Bin 0 -> 33096 bytes .../cache/webgpu/shader/execution/length.bin | Bin 0 -> 35696 bytes .../cache/webgpu/shader/execution/log.bin | Bin 0 -> 148848 bytes .../cache/webgpu/shader/execution/log2.bin | Bin 0 -> 148848 bytes .../cache/webgpu/shader/execution/max.bin | Bin 0 -> 37944 bytes .../cache/webgpu/shader/execution/min.bin | Bin 0 -> 37944 bytes .../cache/webgpu/shader/execution/mix.bin | Bin 0 -> 5817432 bytes .../cache/webgpu/shader/execution/modf.bin | Bin 0 -> 82448 bytes .../webgpu/shader/execution/normalize.bin | Bin 0 -> 47608 bytes .../webgpu/shader/execution/pack2x16float.bin | Bin 0 -> 1791400 bytes .../cache/webgpu/shader/execution/pow.bin | Bin 0 -> 1308224 bytes .../webgpu/shader/execution/quantizeToF16.bin | Bin 0 -> 8904 bytes .../cache/webgpu/shader/execution/radians.bin | Bin 0 -> 10992 bytes .../cache/webgpu/shader/execution/reflect.bin | Bin 0 -> 277720 bytes .../cache/webgpu/shader/execution/refract.bin | Bin 0 -> 2828888 bytes .../cache/webgpu/shader/execution/round.bin | Bin 0 -> 14816 bytes .../webgpu/shader/execution/saturate.bin | Bin 0 -> 17096 bytes .../cache/webgpu/shader/execution/sign.bin | Bin 0 -> 21224 bytes .../cache/webgpu/shader/execution/sin.bin | Bin 0 -> 20176 bytes .../cache/webgpu/shader/execution/sinh.bin | Bin 0 -> 14904 bytes .../webgpu/shader/execution/smoothstep.bin | Bin 0 -> 629408 bytes .../cache/webgpu/shader/execution/sqrt.bin | Bin 0 -> 10024 bytes .../cache/webgpu/shader/execution/step.bin | Bin 0 -> 33160 bytes .../cache/webgpu/shader/execution/tan.bin | Bin 0 -> 21776 bytes .../cache/webgpu/shader/execution/tanh.bin | Bin 0 -> 11448 bytes .../webgpu/shader/execution/transpose.bin | Bin 0 -> 129192 bytes .../cache/webgpu/shader/execution/trunc.bin | Bin 0 -> 14696 bytes .../shader/execution/unary/af_arithmetic.bin | Bin 0 -> 30376 bytes .../shader/execution/unary/af_assignment.bin | Bin 0 -> 10296 bytes .../shader/execution/unary/ai_arithmetic.bin | Bin 0 -> 3256 bytes .../shader/execution/unary/ai_assignment.bin | Bin 0 -> 6936 bytes .../execution/unary/bool_conversion.bin | Bin 0 -> 6480 bytes .../shader/execution/unary/f16_arithmetic.bin | Bin 0 -> 15208 bytes .../shader/execution/unary/f16_conversion.bin | Bin 0 -> 97912 bytes .../shader/execution/unary/f32_arithmetic.bin | Bin 0 -> 19544 bytes .../shader/execution/unary/f32_conversion.bin | Bin 0 -> 138624 bytes .../shader/execution/unary/i32_arithmetic.bin | Bin 0 -> 1648 bytes .../shader/execution/unary/i32_conversion.bin | Bin 0 -> 11856 bytes .../shader/execution/unary/u32_conversion.bin | Bin 0 -> 10680 bytes .../shader/execution/unpack2x16float.bin | Bin 0 -> 4832 bytes .../shader/execution/unpack2x16snorm.bin | Bin 0 -> 4968 bytes .../shader/execution/unpack2x16unorm.bin | Bin 0 -> 4968 bytes .../shader/execution/unpack4x8snorm.bin | Bin 0 -> 7416 bytes .../shader/execution/unpack4x8unorm.bin | Bin 0 -> 7416 bytes .../four-colors-h264-bt601-hflip.mp4 | Bin 0 -> 3174 bytes .../four-colors-h264-bt601-rotate-180.mp4 | Bin 0 -> 3113 bytes .../four-colors-h264-bt601-rotate-270.mp4 | Bin 0 -> 3211 bytes .../four-colors-h264-bt601-rotate-90.mp4 | Bin 0 -> 3204 bytes .../four-colors-h264-bt601-vflip.mp4 | Bin 0 -> 3174 bytes out/resources/four-colors-h264-bt601.mp4 | Bin 0 -> 3174 bytes out/resources/four-colors-vp8-bt601.webm | Bin 0 -> 2421 bytes out/resources/four-colors-vp9-bt601-hflip.mp4 | Bin 0 -> 2077 bytes .../four-colors-vp9-bt601-rotate-180.mp4 | Bin 0 -> 2079 bytes .../four-colors-vp9-bt601-rotate-270.mp4 | Bin 0 -> 2016 bytes .../four-colors-vp9-bt601-rotate-90.mp4 | Bin 0 -> 2079 bytes out/resources/four-colors-vp9-bt601-vflip.mp4 | Bin 0 -> 2077 bytes out/resources/four-colors-vp9-bt601.mp4 | Bin 0 -> 2077 bytes out/resources/four-colors-vp9-bt601.webm | Bin 0 -> 1847 bytes out/resources/four-colors-vp9-bt709.webm | Bin 0 -> 1789 bytes out/resources/four-colors.png | Bin 0 -> 840 bytes out/resources/webgpu.png | Bin 0 -> 33475 bytes out/stress/adapter/device_allocation.spec.js | 303 + .../adapter/device_allocation.spec.js.map | 1 + out/stress/compute/compute_pass.spec.js | 244 + out/stress/compute/compute_pass.spec.js.map | 1 + .../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 + out/stress/device/buffer_allocation.spec.js | 26 + .../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 + .../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 + out/stress/device/sampler_allocation.spec.js | 21 + .../device/sampler_allocation.spec.js.map | 1 + .../device/shader_module_allocation.spec.js | 21 + .../shader_module_allocation.spec.js.map | 1 + out/stress/device/texture_allocation.spec.js | 28 + .../device/texture_allocation.spec.js.map | 1 + out/stress/listing.js | 218 + out/stress/memory/churn.spec.js | 18 + out/stress/memory/churn.spec.js.map | 1 + out/stress/memory/oom.spec.js | 175 + out/stress/memory/oom.spec.js.map | 1 + out/stress/queries/occlusion.spec.js | 11 + out/stress/queries/occlusion.spec.js.map | 1 + out/stress/queries/resolve.spec.js | 16 + out/stress/queries/resolve.spec.js.map | 1 + out/stress/queries/timestamps.spec.js | 51 + out/stress/queries/timestamps.spec.js.map | 1 + out/stress/queue/submit.spec.js | 103 + out/stress/queue/submit.spec.js.map | 1 + out/stress/render/render_pass.spec.js | 355 + out/stress/render/render_pass.spec.js.map | 1 + out/stress/render/vertex_buffers.spec.js | 131 + out/stress/render/vertex_buffers.spec.js.map | 1 + out/stress/shaders/entry_points.spec.js | 79 + out/stress/shaders/entry_points.spec.js.map | 1 + out/stress/shaders/non_halting.spec.js | 195 + out/stress/shaders/non_halting.spec.js.map | 1 + out/stress/shaders/slow.spec.js | 192 + out/stress/shaders/slow.spec.js.map | 1 + out/stress/texture/large.spec.js | 57 + out/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 + .../webworker/memory/churn.as_worker.js | 6 + out/stress/webworker/memory/oom.as_worker.js | 6 + .../webworker/queries/occlusion.as_worker.js | 6 + .../webworker/queries/resolve.as_worker.js | 6 + .../webworker/queries/timestamps.as_worker.js | 6 + .../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 + .../webworker/shaders/slow.as_worker.js | 6 + .../webworker/texture/large.as_worker.js | 6 + out/unittests/async_expectations.spec.js | 169 + out/unittests/async_expectations.spec.js.map | 1 + out/unittests/basic.spec.js | 36 + out/unittests/basic.spec.js.map | 1 + out/unittests/check_contents.spec.js | 72 + out/unittests/check_contents.spec.js.map | 1 + out/unittests/conversion.spec.js | 699 ++ out/unittests/conversion.spec.js.map | 1 + out/unittests/crc32.spec.js | 29 + out/unittests/crc32.spec.js.map | 1 + out/unittests/floating_point.spec.js | 8319 +++++++++++++++++ out/unittests/floating_point.spec.js.map | 1 + out/unittests/getStackTrace.spec.js | 139 + out/unittests/getStackTrace.spec.js.map | 1 + out/unittests/listing.js | 113 + out/unittests/loaders_and_trees.spec.js | 979 ++ out/unittests/loaders_and_trees.spec.js.map | 1 + out/unittests/logger.spec.js | 174 + out/unittests/logger.spec.js.map | 1 + out/unittests/maths.spec.js | 1961 ++++ out/unittests/maths.spec.js.map | 1 + .../params_builder_and_utils.spec.js | 550 ++ .../params_builder_and_utils.spec.js.map | 1 + out/unittests/params_builder_toplevel.spec.js | 113 + .../params_builder_toplevel.spec.js.map | 1 + out/unittests/parse_imports.spec.js | 80 + out/unittests/parse_imports.spec.js.map | 1 + out/unittests/preprocessor.spec.js | 208 + out/unittests/preprocessor.spec.js.map | 1 + out/unittests/prng.spec.js | 150 + out/unittests/prng.spec.js.map | 1 + out/unittests/query_compare.spec.js | 145 + out/unittests/query_compare.spec.js.map | 1 + out/unittests/query_string.spec.js | 269 + out/unittests/query_string.spec.js.map | 1 + out/unittests/serialization.spec.js | 483 + out/unittests/serialization.spec.js.map | 1 + out/unittests/test_group.spec.js | 438 + out/unittests/test_group.spec.js.map | 1 + out/unittests/test_group_test.js | 35 + out/unittests/test_group_test.js.map | 1 + out/unittests/test_query.spec.js | 144 + out/unittests/test_query.spec.js.map | 1 + out/unittests/texture_ok.spec.js | 161 + out/unittests/texture_ok.spec.js.map | 1 + out/unittests/unit_test.js | 4 + out/unittests/unit_test.js.map | 1 + .../webworker/async_expectations.as_worker.js | 6 + out/unittests/webworker/basic.as_worker.js | 6 + .../webworker/check_contents.as_worker.js | 6 + .../webworker/conversion.as_worker.js | 6 + out/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 + out/unittests/webworker/logger.as_worker.js | 6 + out/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 + .../webworker/preprocessor.as_worker.js | 6 + out/unittests/webworker/prng.as_worker.js | 6 + .../webworker/query_compare.as_worker.js | 6 + .../webworker/query_string.as_worker.js | 6 + .../webworker/serialization.as_worker.js | 6 + .../webworker/test_group.as_worker.js | 6 + .../webworker/test_query.as_worker.js | 6 + .../webworker/texture_ok.as_worker.js | 6 + out/webgpu/api/operation/adapter/info.spec.js | 42 + .../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 + out/webgpu/api/operation/buffers/map.spec.js | 511 + .../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 + .../api/operation/buffers/map_oom.spec.js | 51 + .../api/operation/buffers/map_oom.spec.js.map | 1 + .../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 + .../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 + out/webgpu/api/operation/device/lost.spec.js | 93 + .../api/operation/device/lost.spec.js.map | 1 + out/webgpu/api/operation/labels.spec.js | 305 + out/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 + out/webgpu/api/operation/reflection.spec.js | 285 + .../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 + .../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 + .../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 + .../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 + .../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 + .../api/validation/buffer/create.spec.js | 114 + .../api/validation/buffer/create.spec.js.map | 1 + .../api/validation/buffer/destroy.spec.js | 102 + .../api/validation/buffer/destroy.spec.js.map | 1 + .../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/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 + .../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 + .../api/validation/createSampler.spec.js | 69 + .../api/validation/createSampler.spec.js.map | 1 + .../api/validation/createTexture.spec.js | 1140 +++ .../api/validation/createTexture.spec.js.map | 1 + out/webgpu/api/validation/createView.spec.js | 342 + .../api/validation/createView.spec.js.map | 1 + out/webgpu/api/validation/debugMarker.spec.js | 98 + .../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 + out/webgpu/api/validation/error_scope.spec.js | 200 + .../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 + .../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/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 + .../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 + out/webgpu/api/validation/utils.js | 276 + out/webgpu/api/validation/utils.js.map | 1 + out/webgpu/api/validation/validation_test.js | 444 + .../api/validation/validation_test.js.map | 1 + out/webgpu/capability_info.js | 844 ++ out/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 + out/webgpu/compat/compatibility_test.js | 30 + out/webgpu/compat/compatibility_test.js.map | 1 + out/webgpu/constants.js | 66 + out/webgpu/constants.js.map | 1 + out/webgpu/error_test.js | 111 + out/webgpu/error_test.js.map | 1 + out/webgpu/examples.spec.js | 276 + out/webgpu/examples.spec.js.map | 1 + out/webgpu/format_info.js | 1854 ++++ out/webgpu/format_info.js.map | 1 + out/webgpu/gpu_test.js | 1887 ++++ out/webgpu/gpu_test.js.map | 1 + out/webgpu/idl/constants/flags.spec.js | 80 + out/webgpu/idl/constants/flags.spec.js.map | 1 + out/webgpu/idl/constructable.spec.js | 55 + out/webgpu/idl/constructable.spec.js.map | 1 + out/webgpu/idl/exposed.html.js | 53 + out/webgpu/idl/exposed.html.js.map | 1 + out/webgpu/idl/exposed.http.html | 13 + out/webgpu/idl/exposed.https.html | 13 + out/webgpu/idl/idl_test.js | 42 + out/webgpu/idl/idl_test.js.map | 1 + out/webgpu/inter_stage.js | 95 + out/webgpu/inter_stage.js.map | 1 + out/webgpu/listing.js | 5947 ++++++++++++ out/webgpu/multisample_info.js | 76 + out/webgpu/multisample_info.js.map | 1 + out/webgpu/print_environment.spec.js | 81 + out/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/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/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 + .../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 + .../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 + out/webgpu/shader/execution/limits.spec.js | 440 + .../shader/execution/limits.spec.js.map | 1 + .../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 + out/webgpu/shader/execution/padding.spec.js | 407 + .../shader/execution/padding.spec.js.map | 1 + .../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/workgroup_size.spec.js | 150 + .../shader_io/workgroup_size.spec.js.map | 1 + out/webgpu/shader/execution/shadow.spec.js | 407 + .../shader/execution/shadow.spec.js.map | 1 + out/webgpu/shader/execution/stage.spec.js | 133 + out/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 + .../shader/execution/value_init.spec.js | 330 + .../shader/execution/value_init.spec.js.map | 1 + out/webgpu/shader/execution/zero_init.spec.js | 547 ++ .../shader/execution/zero_init.spec.js.map | 1 + out/webgpu/shader/types.js | 411 + out/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 + .../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 + out/webgpu/shader/validation/decl/let.spec.js | 237 + .../shader/validation/decl/let.spec.js.map | 1 + .../shader/validation/decl/override.spec.js | 228 + .../validation/decl/override.spec.js.map | 1 + out/webgpu/shader/validation/decl/util.js | 164 + out/webgpu/shader/validation/decl/util.js.map | 1 + out/webgpu/shader/validation/decl/var.spec.js | 862 ++ .../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 + .../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/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 + .../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 + .../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 + .../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 + .../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 + .../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 + .../shader/validation/types/alias.spec.js | 246 + .../shader/validation/types/alias.spec.js.map | 1 + .../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 + .../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 + .../shader/validation/types/ref.spec.js | 58 + .../shader/validation/types/ref.spec.js.map | 1 + .../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 + .../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 + out/webgpu/shader/values.js | 92 + out/webgpu/shader/values.js.map | 1 + out/webgpu/util/binary_stream.js | 224 + out/webgpu/util/binary_stream.js.map | 1 + out/webgpu/util/check_contents.js | 281 + out/webgpu/util/check_contents.js.map | 1 + out/webgpu/util/color_space_conversion.js | 250 + out/webgpu/util/color_space_conversion.js.map | 1 + out/webgpu/util/command_buffer_maker.js | 86 + out/webgpu/util/command_buffer_maker.js.map | 1 + out/webgpu/util/compare.js | 481 + out/webgpu/util/compare.js.map | 1 + out/webgpu/util/constants.js | 503 + out/webgpu/util/constants.js.map | 1 + out/webgpu/util/conversion.js | 2629 ++++++ out/webgpu/util/conversion.js.map | 1 + out/webgpu/util/copy_to_texture.js | 192 + out/webgpu/util/copy_to_texture.js.map | 1 + out/webgpu/util/create_elements.js | 83 + out/webgpu/util/create_elements.js.map | 1 + out/webgpu/util/device_pool.js | 427 + out/webgpu/util/device_pool.js.map | 1 + out/webgpu/util/floating_point.js | 5563 +++++++++++ out/webgpu/util/floating_point.js.map | 1 + out/webgpu/util/math.js | 2491 +++++ out/webgpu/util/math.js.map | 1 + out/webgpu/util/memory.js | 28 + out/webgpu/util/memory.js.map | 1 + out/webgpu/util/pretty_diff_tables.js | 83 + out/webgpu/util/pretty_diff_tables.js.map | 1 + out/webgpu/util/prng.js | 165 + out/webgpu/util/prng.js.map | 1 + out/webgpu/util/reinterpret.js | 119 + out/webgpu/util/reinterpret.js.map | 1 + out/webgpu/util/shader.js | 233 + out/webgpu/util/shader.js.map | 1 + out/webgpu/util/texture.js | 562 ++ out/webgpu/util/texture.js.map | 1 + out/webgpu/util/texture/base.js | 285 + out/webgpu/util/texture/base.js.map | 1 + .../texture/color_space_conversions.spec.js | 109 + .../color_space_conversions.spec.js.map | 1 + out/webgpu/util/texture/data_generation.js | 84 + .../util/texture/data_generation.js.map | 1 + out/webgpu/util/texture/layout.js | 373 + out/webgpu/util/texture/layout.js.map | 1 + out/webgpu/util/texture/subresource.js | 69 + out/webgpu/util/texture/subresource.js.map | 1 + out/webgpu/util/texture/texel_data.js | 1036 ++ out/webgpu/util/texture/texel_data.js.map | 1 + out/webgpu/util/texture/texel_data.spec.js | 385 + .../util/texture/texel_data.spec.js.map | 1 + out/webgpu/util/texture/texel_view.js | 215 + out/webgpu/util/texture/texel_view.js.map | 1 + out/webgpu/util/texture/texture_ok.js | 350 + out/webgpu/util/texture/texture_ok.js.map | 1 + out/webgpu/util/texture/texture_ok.spec.js | 157 + .../util/texture/texture_ok.spec.js.map | 1 + out/webgpu/util/unions.js | 46 + out/webgpu/util/unions.js.map | 1 + .../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 + out/webgpu/web_platform/copyToTexture/util.js | 59 + .../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 | 12 + .../reftests/canvas_colorspace.html.js | 140 + .../reftests/canvas_colorspace.html.js.map | 1 + .../canvas_colorspace_bgra8unorm.https.html | 23 + .../canvas_colorspace_rgba16float.https.html | 23 + .../canvas_colorspace_rgba8unorm.https.html | 23 + .../reftests/canvas_complex.html.js | 773 ++ .../reftests/canvas_complex.html.js.map | 1 + .../canvas_complex_bgra8unorm_copy.https.html | 24 + .../canvas_complex_bgra8unorm_draw.https.html | 24 + ...canvas_complex_rgba16float_copy.https.html | 24 + ...canvas_complex_rgba16float_draw.https.html | 24 + ...anvas_complex_rgba16float_store.https.html | 24 + .../canvas_complex_rgba8unorm_copy.https.html | 24 + .../canvas_complex_rgba8unorm_draw.https.html | 24 + ...canvas_complex_rgba8unorm_store.https.html | 24 + .../reftests/canvas_composite_alpha.html.js | 178 + .../canvas_composite_alpha.html.js.map | 1 + ...te_alpha_bgra8unorm_opaque_copy.https.html | 21 + ...te_alpha_bgra8unorm_opaque_draw.https.html | 21 + ...a_bgra8unorm_premultiplied_copy.https.html | 22 + ...a_bgra8unorm_premultiplied_draw.https.html | 22 + ...e_alpha_rgba16float_opaque_copy.https.html | 21 + ...e_alpha_rgba16float_opaque_draw.https.html | 21 + ..._rgba16float_premultiplied_copy.https.html | 22 + ..._rgba16float_premultiplied_draw.https.html | 22 + ...te_alpha_rgba8unorm_opaque_copy.https.html | 21 + ...te_alpha_rgba8unorm_opaque_draw.https.html | 21 + ...a_rgba8unorm_premultiplied_copy.https.html | 22 + ...a_rgba8unorm_premultiplied_draw.https.html | 22 + .../canvas_display_after_device_lost.html.js | 66 + ...nvas_display_after_device_lost.html.js.map | 1 + ...anvas_display_after_device_lost.https.html | 16 + .../reftests/canvas_image_rendering.html.js | 80 + .../canvas_image_rendering.html.js.map | 1 + .../canvas_image_rendering.https.html | 15 + .../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 | 10 + .../web_platform/reftests/gpu_ref_test.js | 27 + .../web_platform/reftests/gpu_ref_test.js.map | 1 + .../reftests/ref/canvas_clear-ref.html | 22 + .../reftests/ref/canvas_colorspace-ref.html | 17 + .../ref/canvas_colorspace-ref.html.js | 42 + .../ref/canvas_colorspace-ref.html.js.map | 1 + .../reftests/ref/canvas_complex-ref.html | 26 + .../canvas_composite_alpha_opaque-ref.html | 26 + ...vas_composite_alpha_premultiplied-ref.html | 26 + .../canvas_display_after_device_lost-ref.html | 26 + .../ref/canvas_image_rendering-ref.html | 25 + .../reftests/ref/delay_get_texture-ref.html | 17 + .../reftests/ref/resize_observer-ref.html | 90 + .../reftests/resize_observer.html.js | 151 + .../reftests/resize_observer.html.js.map | 1 + .../reftests/resize_observer.https.html | 24 + out/webgpu/web_platform/util.js | 609 ++ out/webgpu/web_platform/util.js.map | 1 + out/webgpu/web_platform/worker/worker.js | 103 + out/webgpu/web_platform/worker/worker.js.map | 1 + out/webgpu/web_platform/worker/worker.spec.js | 68 + .../web_platform/worker/worker.spec.js.map | 1 + .../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/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 + .../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 + out/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/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 + .../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/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 + .../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 + .../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 + 2789 files changed, 246319 insertions(+) create mode 100644 out/common/framework/data_cache.js create mode 100644 out/common/framework/data_cache.js.map create mode 100644 out/common/framework/fixture.js create mode 100644 out/common/framework/fixture.js.map create mode 100644 out/common/framework/metadata.js create mode 100644 out/common/framework/metadata.js.map create mode 100644 out/common/framework/params_builder.js create mode 100644 out/common/framework/params_builder.js.map create mode 100644 out/common/framework/resources.js create mode 100644 out/common/framework/resources.js.map create mode 100644 out/common/framework/test_config.js create mode 100644 out/common/framework/test_config.js.map create mode 100644 out/common/framework/test_group.js create mode 100644 out/common/framework/test_group.js.map create mode 100644 out/common/internal/file_loader.js create mode 100644 out/common/internal/file_loader.js.map create mode 100644 out/common/internal/logging/log_message.js create mode 100644 out/common/internal/logging/log_message.js.map create mode 100644 out/common/internal/logging/logger.js create mode 100644 out/common/internal/logging/logger.js.map create mode 100644 out/common/internal/logging/result.js create mode 100644 out/common/internal/logging/result.js.map create mode 100644 out/common/internal/logging/test_case_recorder.js create mode 100644 out/common/internal/logging/test_case_recorder.js.map create mode 100644 out/common/internal/params_utils.js create mode 100644 out/common/internal/params_utils.js.map create mode 100644 out/common/internal/query/compare.js create mode 100644 out/common/internal/query/compare.js.map create mode 100644 out/common/internal/query/encode_selectively.js create mode 100644 out/common/internal/query/encode_selectively.js.map create mode 100644 out/common/internal/query/json_param_value.js create mode 100644 out/common/internal/query/json_param_value.js.map create mode 100644 out/common/internal/query/parseQuery.js create mode 100644 out/common/internal/query/parseQuery.js.map create mode 100644 out/common/internal/query/query.js create mode 100644 out/common/internal/query/query.js.map create mode 100644 out/common/internal/query/separators.js create mode 100644 out/common/internal/query/separators.js.map create mode 100644 out/common/internal/query/stringify_params.js create mode 100644 out/common/internal/query/stringify_params.js.map create mode 100644 out/common/internal/query/validQueryPart.js create mode 100644 out/common/internal/query/validQueryPart.js.map create mode 100644 out/common/internal/stack.js create mode 100644 out/common/internal/stack.js.map create mode 100644 out/common/internal/test_group.js create mode 100644 out/common/internal/test_group.js.map create mode 100644 out/common/internal/test_suite_listing.js create mode 100644 out/common/internal/test_suite_listing.js.map create mode 100644 out/common/internal/tree.js create mode 100644 out/common/internal/tree.js.map create mode 100644 out/common/internal/util.js create mode 100644 out/common/internal/util.js.map create mode 100644 out/common/internal/version.js create mode 100644 out/common/internal/websocket_logger.js create mode 100644 out/common/internal/websocket_logger.js.map create mode 100644 out/common/runtime/cmdline.js create mode 100644 out/common/runtime/cmdline.js.map create mode 100644 out/common/runtime/helper/options.js create mode 100644 out/common/runtime/helper/options.js.map create mode 100644 out/common/runtime/helper/sys.js create mode 100644 out/common/runtime/helper/sys.js.map create mode 100644 out/common/runtime/helper/test_worker-worker.js create mode 100644 out/common/runtime/helper/test_worker-worker.js.map create mode 100644 out/common/runtime/helper/test_worker.js create mode 100644 out/common/runtime/helper/test_worker.js.map create mode 100644 out/common/runtime/helper/utils_worker.js create mode 100644 out/common/runtime/helper/utils_worker.js.map create mode 100644 out/common/runtime/helper/wrap_for_worker.js create mode 100644 out/common/runtime/helper/wrap_for_worker.js.map create mode 100644 out/common/runtime/server.js create mode 100644 out/common/runtime/server.js.map create mode 100644 out/common/runtime/standalone.js create mode 100644 out/common/runtime/standalone.js.map create mode 100644 out/common/runtime/wpt.js create mode 100644 out/common/runtime/wpt.js.map create mode 100644 out/common/tools/checklist.js create mode 100644 out/common/tools/checklist.js.map create mode 100644 out/common/tools/crawl.js create mode 100644 out/common/tools/crawl.js.map create mode 100644 out/common/tools/dev_server.js create mode 100644 out/common/tools/dev_server.js.map create mode 100644 out/common/tools/gen_cache.js create mode 100644 out/common/tools/gen_cache.js.map create mode 100644 out/common/tools/gen_listings.js create mode 100644 out/common/tools/gen_listings.js.map create mode 100644 out/common/tools/gen_listings_and_webworkers.js create mode 100644 out/common/tools/gen_listings_and_webworkers.js.map create mode 100644 out/common/tools/gen_wpt_cts_html.js create mode 100644 out/common/tools/gen_wpt_cts_html.js.map create mode 100644 out/common/tools/image_utils.js create mode 100644 out/common/tools/image_utils.js.map create mode 100644 out/common/tools/merge_listing_times.js create mode 100644 out/common/tools/merge_listing_times.js.map create mode 100644 out/common/tools/run_wpt_ref_tests.js create mode 100644 out/common/tools/run_wpt_ref_tests.js.map create mode 100644 out/common/tools/setup-ts-in-node.js create mode 100644 out/common/tools/setup-ts-in-node.js.map create mode 100644 out/common/tools/validate.js create mode 100644 out/common/tools/validate.js.map create mode 100644 out/common/tools/version.js create mode 100644 out/common/tools/version.js.map create mode 100644 out/common/util/collect_garbage.js create mode 100644 out/common/util/collect_garbage.js.map create mode 100644 out/common/util/colors.js create mode 100644 out/common/util/colors.js.map create mode 100644 out/common/util/crc32.js create mode 100644 out/common/util/crc32.js.map create mode 100644 out/common/util/data_tables.js create mode 100644 out/common/util/data_tables.js.map create mode 100644 out/common/util/navigator_gpu.js create mode 100644 out/common/util/navigator_gpu.js.map create mode 100644 out/common/util/parse_imports.js create mode 100644 out/common/util/parse_imports.js.map create mode 100644 out/common/util/preprocessor.js create mode 100644 out/common/util/preprocessor.js.map create mode 100644 out/common/util/timeout.js create mode 100644 out/common/util/timeout.js.map create mode 100644 out/common/util/types.js create mode 100644 out/common/util/types.js.map create mode 100644 out/common/util/util.js create mode 100644 out/common/util/util.js.map create mode 100644 out/common/util/wpt_reftest_wait.js create mode 100644 out/common/util/wpt_reftest_wait.js.map create mode 100644 out/demo/a.spec.js create mode 100644 out/demo/a.spec.js.map create mode 100644 out/demo/a/b.spec.js create mode 100644 out/demo/a/b.spec.js.map create mode 100644 out/demo/a/b/c.spec.js create mode 100644 out/demo/a/b/c.spec.js.map create mode 100644 out/demo/a/b/d.spec.js create mode 100644 out/demo/a/b/d.spec.js.map create mode 100644 out/demo/file_depth_2/in_single_child_dir/r.spec.js create mode 100644 out/demo/file_depth_2/in_single_child_dir/r.spec.js.map create mode 100644 out/demo/json.spec.js create mode 100644 out/demo/json.spec.js.map create mode 100644 out/demo/listing.js create mode 100644 out/demo/subcases.spec.js create mode 100644 out/demo/subcases.spec.js.map create mode 100644 out/demo/webworker/a.as_worker.js create mode 100644 out/demo/webworker/a/b.as_worker.js create mode 100644 out/demo/webworker/a/b/c.as_worker.js create mode 100644 out/demo/webworker/a/b/d.as_worker.js create mode 100644 out/demo/webworker/file_depth_2/in_single_child_dir/r.as_worker.js create mode 100644 out/demo/webworker/json.as_worker.js create mode 100644 out/demo/webworker/subcases.as_worker.js create mode 100644 out/external/petamoriken/float16/float16.d.js create mode 100644 out/external/petamoriken/float16/float16.d.js.map create mode 100644 out/external/petamoriken/float16/float16.js create mode 100644 out/external/petamoriken/float16/float16.js.map create mode 100644 out/manual/listing.js create mode 100644 out/resources/README.md create mode 100644 out/resources/cache/hashes.json create mode 100644 out/resources/cache/webgpu/shader/execution/abs.bin create mode 100644 out/resources/cache/webgpu/shader/execution/acos.bin create mode 100644 out/resources/cache/webgpu/shader/execution/acosh.bin create mode 100644 out/resources/cache/webgpu/shader/execution/asin.bin create mode 100644 out/resources/cache/webgpu/shader/execution/asinh.bin create mode 100644 out/resources/cache/webgpu/shader/execution/atan.bin create mode 100644 out/resources/cache/webgpu/shader/execution/atan2.bin create mode 100644 out/resources/cache/webgpu/shader/execution/atanh.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_addition.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_division.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_logical.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_matrix_addition.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_matrix_matrix_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_matrix_scalar_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_matrix_subtraction.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_matrix_vector_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_remainder.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/af_subtraction.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/ai_arithmetic.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_addition.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_division.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_logical.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_matrix_addition.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_matrix_subtraction.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_remainder.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f16_subtraction.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_addition.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_division.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_logical.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_matrix_addition.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_matrix_subtraction.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_multiplication.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_remainder.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/f32_subtraction.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/i32_arithmetic.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/i32_comparison.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/u32_arithmetic.bin create mode 100644 out/resources/cache/webgpu/shader/execution/binary/u32_comparison.bin create mode 100644 out/resources/cache/webgpu/shader/execution/bitcast.bin create mode 100644 out/resources/cache/webgpu/shader/execution/ceil.bin create mode 100644 out/resources/cache/webgpu/shader/execution/clamp.bin create mode 100644 out/resources/cache/webgpu/shader/execution/cos.bin create mode 100644 out/resources/cache/webgpu/shader/execution/cosh.bin create mode 100644 out/resources/cache/webgpu/shader/execution/cross.bin create mode 100644 out/resources/cache/webgpu/shader/execution/degrees.bin create mode 100644 out/resources/cache/webgpu/shader/execution/derivatives.bin create mode 100644 out/resources/cache/webgpu/shader/execution/determinant.bin create mode 100644 out/resources/cache/webgpu/shader/execution/distance.bin create mode 100644 out/resources/cache/webgpu/shader/execution/dot.bin create mode 100644 out/resources/cache/webgpu/shader/execution/exp.bin create mode 100644 out/resources/cache/webgpu/shader/execution/exp2.bin create mode 100644 out/resources/cache/webgpu/shader/execution/faceForward.bin create mode 100644 out/resources/cache/webgpu/shader/execution/floor.bin create mode 100644 out/resources/cache/webgpu/shader/execution/fma.bin create mode 100644 out/resources/cache/webgpu/shader/execution/fract.bin create mode 100644 out/resources/cache/webgpu/shader/execution/frexp.bin create mode 100644 out/resources/cache/webgpu/shader/execution/fwidth.bin create mode 100644 out/resources/cache/webgpu/shader/execution/inverseSqrt.bin create mode 100644 out/resources/cache/webgpu/shader/execution/ldexp.bin create mode 100644 out/resources/cache/webgpu/shader/execution/length.bin create mode 100644 out/resources/cache/webgpu/shader/execution/log.bin create mode 100644 out/resources/cache/webgpu/shader/execution/log2.bin create mode 100644 out/resources/cache/webgpu/shader/execution/max.bin create mode 100644 out/resources/cache/webgpu/shader/execution/min.bin create mode 100644 out/resources/cache/webgpu/shader/execution/mix.bin create mode 100644 out/resources/cache/webgpu/shader/execution/modf.bin create mode 100644 out/resources/cache/webgpu/shader/execution/normalize.bin create mode 100644 out/resources/cache/webgpu/shader/execution/pack2x16float.bin create mode 100644 out/resources/cache/webgpu/shader/execution/pow.bin create mode 100644 out/resources/cache/webgpu/shader/execution/quantizeToF16.bin create mode 100644 out/resources/cache/webgpu/shader/execution/radians.bin create mode 100644 out/resources/cache/webgpu/shader/execution/reflect.bin create mode 100644 out/resources/cache/webgpu/shader/execution/refract.bin create mode 100644 out/resources/cache/webgpu/shader/execution/round.bin create mode 100644 out/resources/cache/webgpu/shader/execution/saturate.bin create mode 100644 out/resources/cache/webgpu/shader/execution/sign.bin create mode 100644 out/resources/cache/webgpu/shader/execution/sin.bin create mode 100644 out/resources/cache/webgpu/shader/execution/sinh.bin create mode 100644 out/resources/cache/webgpu/shader/execution/smoothstep.bin create mode 100644 out/resources/cache/webgpu/shader/execution/sqrt.bin create mode 100644 out/resources/cache/webgpu/shader/execution/step.bin create mode 100644 out/resources/cache/webgpu/shader/execution/tan.bin create mode 100644 out/resources/cache/webgpu/shader/execution/tanh.bin create mode 100644 out/resources/cache/webgpu/shader/execution/transpose.bin create mode 100644 out/resources/cache/webgpu/shader/execution/trunc.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/af_arithmetic.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/af_assignment.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/ai_arithmetic.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/ai_assignment.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/bool_conversion.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/f16_arithmetic.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/f16_conversion.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/f32_arithmetic.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/f32_conversion.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/i32_arithmetic.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/i32_conversion.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unary/u32_conversion.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unpack2x16float.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unpack2x16snorm.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unpack2x16unorm.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unpack4x8snorm.bin create mode 100644 out/resources/cache/webgpu/shader/execution/unpack4x8unorm.bin create mode 100644 out/resources/four-colors-h264-bt601-hflip.mp4 create mode 100644 out/resources/four-colors-h264-bt601-rotate-180.mp4 create mode 100644 out/resources/four-colors-h264-bt601-rotate-270.mp4 create mode 100644 out/resources/four-colors-h264-bt601-rotate-90.mp4 create mode 100644 out/resources/four-colors-h264-bt601-vflip.mp4 create mode 100644 out/resources/four-colors-h264-bt601.mp4 create mode 100644 out/resources/four-colors-vp8-bt601.webm create mode 100644 out/resources/four-colors-vp9-bt601-hflip.mp4 create mode 100644 out/resources/four-colors-vp9-bt601-rotate-180.mp4 create mode 100644 out/resources/four-colors-vp9-bt601-rotate-270.mp4 create mode 100644 out/resources/four-colors-vp9-bt601-rotate-90.mp4 create mode 100644 out/resources/four-colors-vp9-bt601-vflip.mp4 create mode 100644 out/resources/four-colors-vp9-bt601.mp4 create mode 100644 out/resources/four-colors-vp9-bt601.webm create mode 100644 out/resources/four-colors-vp9-bt709.webm create mode 100644 out/resources/four-colors.png create mode 100644 out/resources/webgpu.png create mode 100644 out/stress/adapter/device_allocation.spec.js create mode 100644 out/stress/adapter/device_allocation.spec.js.map create mode 100644 out/stress/compute/compute_pass.spec.js create mode 100644 out/stress/compute/compute_pass.spec.js.map create mode 100644 out/stress/device/bind_group_allocation.spec.js create mode 100644 out/stress/device/bind_group_allocation.spec.js.map create mode 100644 out/stress/device/bind_group_layout_allocation.spec.js create mode 100644 out/stress/device/bind_group_layout_allocation.spec.js.map create mode 100644 out/stress/device/buffer_allocation.spec.js create mode 100644 out/stress/device/buffer_allocation.spec.js.map create mode 100644 out/stress/device/command_encoder_allocation.spec.js create mode 100644 out/stress/device/command_encoder_allocation.spec.js.map create mode 100644 out/stress/device/compute_pipeline_allocation.spec.js create mode 100644 out/stress/device/compute_pipeline_allocation.spec.js.map create mode 100644 out/stress/device/pipeline_layout_allocation.spec.js create mode 100644 out/stress/device/pipeline_layout_allocation.spec.js.map create mode 100644 out/stress/device/query_set_allocation.spec.js create mode 100644 out/stress/device/query_set_allocation.spec.js.map create mode 100644 out/stress/device/render_bundle_allocation.spec.js create mode 100644 out/stress/device/render_bundle_allocation.spec.js.map create mode 100644 out/stress/device/render_pipeline_allocation.spec.js create mode 100644 out/stress/device/render_pipeline_allocation.spec.js.map create mode 100644 out/stress/device/sampler_allocation.spec.js create mode 100644 out/stress/device/sampler_allocation.spec.js.map create mode 100644 out/stress/device/shader_module_allocation.spec.js create mode 100644 out/stress/device/shader_module_allocation.spec.js.map create mode 100644 out/stress/device/texture_allocation.spec.js create mode 100644 out/stress/device/texture_allocation.spec.js.map create mode 100644 out/stress/listing.js create mode 100644 out/stress/memory/churn.spec.js create mode 100644 out/stress/memory/churn.spec.js.map create mode 100644 out/stress/memory/oom.spec.js create mode 100644 out/stress/memory/oom.spec.js.map create mode 100644 out/stress/queries/occlusion.spec.js create mode 100644 out/stress/queries/occlusion.spec.js.map create mode 100644 out/stress/queries/resolve.spec.js create mode 100644 out/stress/queries/resolve.spec.js.map create mode 100644 out/stress/queries/timestamps.spec.js create mode 100644 out/stress/queries/timestamps.spec.js.map create mode 100644 out/stress/queue/submit.spec.js create mode 100644 out/stress/queue/submit.spec.js.map create mode 100644 out/stress/render/render_pass.spec.js create mode 100644 out/stress/render/render_pass.spec.js.map create mode 100644 out/stress/render/vertex_buffers.spec.js create mode 100644 out/stress/render/vertex_buffers.spec.js.map create mode 100644 out/stress/shaders/entry_points.spec.js create mode 100644 out/stress/shaders/entry_points.spec.js.map create mode 100644 out/stress/shaders/non_halting.spec.js create mode 100644 out/stress/shaders/non_halting.spec.js.map create mode 100644 out/stress/shaders/slow.spec.js create mode 100644 out/stress/shaders/slow.spec.js.map create mode 100644 out/stress/texture/large.spec.js create mode 100644 out/stress/texture/large.spec.js.map create mode 100644 out/stress/webworker/adapter/device_allocation.as_worker.js create mode 100644 out/stress/webworker/compute/compute_pass.as_worker.js create mode 100644 out/stress/webworker/device/bind_group_allocation.as_worker.js create mode 100644 out/stress/webworker/device/bind_group_layout_allocation.as_worker.js create mode 100644 out/stress/webworker/device/buffer_allocation.as_worker.js create mode 100644 out/stress/webworker/device/command_encoder_allocation.as_worker.js create mode 100644 out/stress/webworker/device/compute_pipeline_allocation.as_worker.js create mode 100644 out/stress/webworker/device/pipeline_layout_allocation.as_worker.js create mode 100644 out/stress/webworker/device/query_set_allocation.as_worker.js create mode 100644 out/stress/webworker/device/render_bundle_allocation.as_worker.js create mode 100644 out/stress/webworker/device/render_pipeline_allocation.as_worker.js create mode 100644 out/stress/webworker/device/sampler_allocation.as_worker.js create mode 100644 out/stress/webworker/device/shader_module_allocation.as_worker.js create mode 100644 out/stress/webworker/device/texture_allocation.as_worker.js create mode 100644 out/stress/webworker/memory/churn.as_worker.js create mode 100644 out/stress/webworker/memory/oom.as_worker.js create mode 100644 out/stress/webworker/queries/occlusion.as_worker.js create mode 100644 out/stress/webworker/queries/resolve.as_worker.js create mode 100644 out/stress/webworker/queries/timestamps.as_worker.js create mode 100644 out/stress/webworker/queue/submit.as_worker.js create mode 100644 out/stress/webworker/render/render_pass.as_worker.js create mode 100644 out/stress/webworker/render/vertex_buffers.as_worker.js create mode 100644 out/stress/webworker/shaders/entry_points.as_worker.js create mode 100644 out/stress/webworker/shaders/non_halting.as_worker.js create mode 100644 out/stress/webworker/shaders/slow.as_worker.js create mode 100644 out/stress/webworker/texture/large.as_worker.js create mode 100644 out/unittests/async_expectations.spec.js create mode 100644 out/unittests/async_expectations.spec.js.map create mode 100644 out/unittests/basic.spec.js create mode 100644 out/unittests/basic.spec.js.map create mode 100644 out/unittests/check_contents.spec.js create mode 100644 out/unittests/check_contents.spec.js.map create mode 100644 out/unittests/conversion.spec.js create mode 100644 out/unittests/conversion.spec.js.map create mode 100644 out/unittests/crc32.spec.js create mode 100644 out/unittests/crc32.spec.js.map create mode 100644 out/unittests/floating_point.spec.js create mode 100644 out/unittests/floating_point.spec.js.map create mode 100644 out/unittests/getStackTrace.spec.js create mode 100644 out/unittests/getStackTrace.spec.js.map create mode 100644 out/unittests/listing.js create mode 100644 out/unittests/loaders_and_trees.spec.js create mode 100644 out/unittests/loaders_and_trees.spec.js.map create mode 100644 out/unittests/logger.spec.js create mode 100644 out/unittests/logger.spec.js.map create mode 100644 out/unittests/maths.spec.js create mode 100644 out/unittests/maths.spec.js.map create mode 100644 out/unittests/params_builder_and_utils.spec.js create mode 100644 out/unittests/params_builder_and_utils.spec.js.map create mode 100644 out/unittests/params_builder_toplevel.spec.js create mode 100644 out/unittests/params_builder_toplevel.spec.js.map create mode 100644 out/unittests/parse_imports.spec.js create mode 100644 out/unittests/parse_imports.spec.js.map create mode 100644 out/unittests/preprocessor.spec.js create mode 100644 out/unittests/preprocessor.spec.js.map create mode 100644 out/unittests/prng.spec.js create mode 100644 out/unittests/prng.spec.js.map create mode 100644 out/unittests/query_compare.spec.js create mode 100644 out/unittests/query_compare.spec.js.map create mode 100644 out/unittests/query_string.spec.js create mode 100644 out/unittests/query_string.spec.js.map create mode 100644 out/unittests/serialization.spec.js create mode 100644 out/unittests/serialization.spec.js.map create mode 100644 out/unittests/test_group.spec.js create mode 100644 out/unittests/test_group.spec.js.map create mode 100644 out/unittests/test_group_test.js create mode 100644 out/unittests/test_group_test.js.map create mode 100644 out/unittests/test_query.spec.js create mode 100644 out/unittests/test_query.spec.js.map create mode 100644 out/unittests/texture_ok.spec.js create mode 100644 out/unittests/texture_ok.spec.js.map create mode 100644 out/unittests/unit_test.js create mode 100644 out/unittests/unit_test.js.map create mode 100644 out/unittests/webworker/async_expectations.as_worker.js create mode 100644 out/unittests/webworker/basic.as_worker.js create mode 100644 out/unittests/webworker/check_contents.as_worker.js create mode 100644 out/unittests/webworker/conversion.as_worker.js create mode 100644 out/unittests/webworker/crc32.as_worker.js create mode 100644 out/unittests/webworker/floating_point.as_worker.js create mode 100644 out/unittests/webworker/getStackTrace.as_worker.js create mode 100644 out/unittests/webworker/loaders_and_trees.as_worker.js create mode 100644 out/unittests/webworker/logger.as_worker.js create mode 100644 out/unittests/webworker/maths.as_worker.js create mode 100644 out/unittests/webworker/params_builder_and_utils.as_worker.js create mode 100644 out/unittests/webworker/params_builder_toplevel.as_worker.js create mode 100644 out/unittests/webworker/parse_imports.as_worker.js create mode 100644 out/unittests/webworker/preprocessor.as_worker.js create mode 100644 out/unittests/webworker/prng.as_worker.js create mode 100644 out/unittests/webworker/query_compare.as_worker.js create mode 100644 out/unittests/webworker/query_string.as_worker.js create mode 100644 out/unittests/webworker/serialization.as_worker.js create mode 100644 out/unittests/webworker/test_group.as_worker.js create mode 100644 out/unittests/webworker/test_query.as_worker.js create mode 100644 out/unittests/webworker/texture_ok.as_worker.js create mode 100644 out/webgpu/api/operation/adapter/info.spec.js create mode 100644 out/webgpu/api/operation/adapter/info.spec.js.map create mode 100644 out/webgpu/api/operation/adapter/requestAdapter.spec.js create mode 100644 out/webgpu/api/operation/adapter/requestAdapter.spec.js.map create mode 100644 out/webgpu/api/operation/adapter/requestDevice.spec.js create mode 100644 out/webgpu/api/operation/adapter/requestDevice.spec.js.map create mode 100644 out/webgpu/api/operation/buffers/map.spec.js create mode 100644 out/webgpu/api/operation/buffers/map.spec.js.map create mode 100644 out/webgpu/api/operation/buffers/map_ArrayBuffer.spec.js create mode 100644 out/webgpu/api/operation/buffers/map_ArrayBuffer.spec.js.map create mode 100644 out/webgpu/api/operation/buffers/map_detach.spec.js create mode 100644 out/webgpu/api/operation/buffers/map_detach.spec.js.map create mode 100644 out/webgpu/api/operation/buffers/map_oom.spec.js create mode 100644 out/webgpu/api/operation/buffers/map_oom.spec.js.map create mode 100644 out/webgpu/api/operation/buffers/mapping_test.js create mode 100644 out/webgpu/api/operation/buffers/mapping_test.js.map create mode 100644 out/webgpu/api/operation/buffers/threading.spec.js create mode 100644 out/webgpu/api/operation/buffers/threading.spec.js.map create mode 100644 out/webgpu/api/operation/command_buffer/basic.spec.js create mode 100644 out/webgpu/api/operation/command_buffer/basic.spec.js.map create mode 100644 out/webgpu/api/operation/command_buffer/clearBuffer.spec.js create mode 100644 out/webgpu/api/operation/command_buffer/clearBuffer.spec.js.map create mode 100644 out/webgpu/api/operation/command_buffer/copyBufferToBuffer.spec.js create mode 100644 out/webgpu/api/operation/command_buffer/copyBufferToBuffer.spec.js.map create mode 100644 out/webgpu/api/operation/command_buffer/copyTextureToTexture.spec.js create mode 100644 out/webgpu/api/operation/command_buffer/copyTextureToTexture.spec.js.map create mode 100644 out/webgpu/api/operation/command_buffer/image_copy.spec.js create mode 100644 out/webgpu/api/operation/command_buffer/image_copy.spec.js.map create mode 100644 out/webgpu/api/operation/command_buffer/programmable/programmable_state_test.js create mode 100644 out/webgpu/api/operation/command_buffer/programmable/programmable_state_test.js.map create mode 100644 out/webgpu/api/operation/command_buffer/programmable/state_tracking.spec.js create mode 100644 out/webgpu/api/operation/command_buffer/programmable/state_tracking.spec.js.map create mode 100644 out/webgpu/api/operation/command_buffer/queries/occlusionQuery.spec.js create mode 100644 out/webgpu/api/operation/command_buffer/queries/occlusionQuery.spec.js.map create mode 100644 out/webgpu/api/operation/command_buffer/render/dynamic_state.spec.js create mode 100644 out/webgpu/api/operation/command_buffer/render/dynamic_state.spec.js.map create mode 100644 out/webgpu/api/operation/command_buffer/render/state_tracking.spec.js create mode 100644 out/webgpu/api/operation/command_buffer/render/state_tracking.spec.js.map create mode 100644 out/webgpu/api/operation/compute/basic.spec.js create mode 100644 out/webgpu/api/operation/compute/basic.spec.js.map create mode 100644 out/webgpu/api/operation/compute_pipeline/entry_point_name.spec.js create mode 100644 out/webgpu/api/operation/compute_pipeline/entry_point_name.spec.js.map create mode 100644 out/webgpu/api/operation/compute_pipeline/overrides.spec.js create mode 100644 out/webgpu/api/operation/compute_pipeline/overrides.spec.js.map create mode 100644 out/webgpu/api/operation/device/lost.spec.js create mode 100644 out/webgpu/api/operation/device/lost.spec.js.map create mode 100644 out/webgpu/api/operation/labels.spec.js create mode 100644 out/webgpu/api/operation/labels.spec.js.map create mode 100644 out/webgpu/api/operation/memory_sync/buffer/buffer_sync_test.js create mode 100644 out/webgpu/api/operation/memory_sync/buffer/buffer_sync_test.js.map create mode 100644 out/webgpu/api/operation/memory_sync/buffer/multiple_buffers.spec.js create mode 100644 out/webgpu/api/operation/memory_sync/buffer/multiple_buffers.spec.js.map create mode 100644 out/webgpu/api/operation/memory_sync/buffer/single_buffer.spec.js create mode 100644 out/webgpu/api/operation/memory_sync/buffer/single_buffer.spec.js.map create mode 100644 out/webgpu/api/operation/memory_sync/operation_context_helper.js create mode 100644 out/webgpu/api/operation/memory_sync/operation_context_helper.js.map create mode 100644 out/webgpu/api/operation/memory_sync/texture/readonly_depth_stencil.spec.js create mode 100644 out/webgpu/api/operation/memory_sync/texture/readonly_depth_stencil.spec.js.map create mode 100644 out/webgpu/api/operation/memory_sync/texture/same_subresource.spec.js create mode 100644 out/webgpu/api/operation/memory_sync/texture/same_subresource.spec.js.map create mode 100644 out/webgpu/api/operation/memory_sync/texture/texture_sync_test.js create mode 100644 out/webgpu/api/operation/memory_sync/texture/texture_sync_test.js.map create mode 100644 out/webgpu/api/operation/onSubmittedWorkDone.spec.js create mode 100644 out/webgpu/api/operation/onSubmittedWorkDone.spec.js.map create mode 100644 out/webgpu/api/operation/pipeline/default_layout.spec.js create mode 100644 out/webgpu/api/operation/pipeline/default_layout.spec.js.map create mode 100644 out/webgpu/api/operation/queue/writeBuffer.spec.js create mode 100644 out/webgpu/api/operation/queue/writeBuffer.spec.js.map create mode 100644 out/webgpu/api/operation/reflection.spec.js create mode 100644 out/webgpu/api/operation/reflection.spec.js.map create mode 100644 out/webgpu/api/operation/render_pass/clear_value.spec.js create mode 100644 out/webgpu/api/operation/render_pass/clear_value.spec.js.map create mode 100644 out/webgpu/api/operation/render_pass/resolve.spec.js create mode 100644 out/webgpu/api/operation/render_pass/resolve.spec.js.map create mode 100644 out/webgpu/api/operation/render_pass/storeOp.spec.js create mode 100644 out/webgpu/api/operation/render_pass/storeOp.spec.js.map create mode 100644 out/webgpu/api/operation/render_pass/storeop2.spec.js create mode 100644 out/webgpu/api/operation/render_pass/storeop2.spec.js.map create mode 100644 out/webgpu/api/operation/render_pipeline/culling_tests.spec.js create mode 100644 out/webgpu/api/operation/render_pipeline/culling_tests.spec.js.map create mode 100644 out/webgpu/api/operation/render_pipeline/overrides.spec.js create mode 100644 out/webgpu/api/operation/render_pipeline/overrides.spec.js.map create mode 100644 out/webgpu/api/operation/render_pipeline/pipeline_output_targets.spec.js create mode 100644 out/webgpu/api/operation/render_pipeline/pipeline_output_targets.spec.js.map create mode 100644 out/webgpu/api/operation/render_pipeline/primitive_topology.spec.js create mode 100644 out/webgpu/api/operation/render_pipeline/primitive_topology.spec.js.map create mode 100644 out/webgpu/api/operation/render_pipeline/sample_mask.spec.js create mode 100644 out/webgpu/api/operation/render_pipeline/sample_mask.spec.js.map create mode 100644 out/webgpu/api/operation/render_pipeline/vertex_only_render_pipeline.spec.js create mode 100644 out/webgpu/api/operation/render_pipeline/vertex_only_render_pipeline.spec.js.map create mode 100644 out/webgpu/api/operation/rendering/3d_texture_slices.spec.js create mode 100644 out/webgpu/api/operation/rendering/3d_texture_slices.spec.js.map create mode 100644 out/webgpu/api/operation/rendering/basic.spec.js create mode 100644 out/webgpu/api/operation/rendering/basic.spec.js.map create mode 100644 out/webgpu/api/operation/rendering/color_target_state.spec.js create mode 100644 out/webgpu/api/operation/rendering/color_target_state.spec.js.map create mode 100644 out/webgpu/api/operation/rendering/depth.spec.js create mode 100644 out/webgpu/api/operation/rendering/depth.spec.js.map create mode 100644 out/webgpu/api/operation/rendering/depth_bias.spec.js create mode 100644 out/webgpu/api/operation/rendering/depth_bias.spec.js.map create mode 100644 out/webgpu/api/operation/rendering/depth_clip_clamp.spec.js create mode 100644 out/webgpu/api/operation/rendering/depth_clip_clamp.spec.js.map create mode 100644 out/webgpu/api/operation/rendering/draw.spec.js create mode 100644 out/webgpu/api/operation/rendering/draw.spec.js.map create mode 100644 out/webgpu/api/operation/rendering/indirect_draw.spec.js create mode 100644 out/webgpu/api/operation/rendering/indirect_draw.spec.js.map create mode 100644 out/webgpu/api/operation/rendering/robust_access_index.spec.js create mode 100644 out/webgpu/api/operation/rendering/robust_access_index.spec.js.map create mode 100644 out/webgpu/api/operation/rendering/stencil.spec.js create mode 100644 out/webgpu/api/operation/rendering/stencil.spec.js.map create mode 100644 out/webgpu/api/operation/resource_init/buffer.spec.js create mode 100644 out/webgpu/api/operation/resource_init/buffer.spec.js.map create mode 100644 out/webgpu/api/operation/resource_init/check_texture/by_copy.js create mode 100644 out/webgpu/api/operation/resource_init/check_texture/by_copy.js.map create mode 100644 out/webgpu/api/operation/resource_init/check_texture/by_ds_test.js create mode 100644 out/webgpu/api/operation/resource_init/check_texture/by_ds_test.js.map create mode 100644 out/webgpu/api/operation/resource_init/check_texture/by_sampling.js create mode 100644 out/webgpu/api/operation/resource_init/check_texture/by_sampling.js.map create mode 100644 out/webgpu/api/operation/resource_init/check_texture/texture_zero_init_test.js create mode 100644 out/webgpu/api/operation/resource_init/check_texture/texture_zero_init_test.js.map create mode 100644 out/webgpu/api/operation/resource_init/texture_zero.spec.js create mode 100644 out/webgpu/api/operation/resource_init/texture_zero.spec.js.map create mode 100644 out/webgpu/api/operation/sampling/anisotropy.spec.js create mode 100644 out/webgpu/api/operation/sampling/anisotropy.spec.js.map create mode 100644 out/webgpu/api/operation/sampling/filter_mode.spec.js create mode 100644 out/webgpu/api/operation/sampling/filter_mode.spec.js.map create mode 100644 out/webgpu/api/operation/sampling/lod_clamp.spec.js create mode 100644 out/webgpu/api/operation/sampling/lod_clamp.spec.js.map create mode 100644 out/webgpu/api/operation/shader_module/compilation_info.spec.js create mode 100644 out/webgpu/api/operation/shader_module/compilation_info.spec.js.map create mode 100644 out/webgpu/api/operation/storage_texture/read_only.spec.js create mode 100644 out/webgpu/api/operation/storage_texture/read_only.spec.js.map create mode 100644 out/webgpu/api/operation/storage_texture/read_write.spec.js create mode 100644 out/webgpu/api/operation/storage_texture/read_write.spec.js.map create mode 100644 out/webgpu/api/operation/texture_view/format_reinterpretation.spec.js create mode 100644 out/webgpu/api/operation/texture_view/format_reinterpretation.spec.js.map create mode 100644 out/webgpu/api/operation/texture_view/read.spec.js create mode 100644 out/webgpu/api/operation/texture_view/read.spec.js.map create mode 100644 out/webgpu/api/operation/texture_view/write.spec.js create mode 100644 out/webgpu/api/operation/texture_view/write.spec.js.map create mode 100644 out/webgpu/api/operation/uncapturederror.spec.js create mode 100644 out/webgpu/api/operation/uncapturederror.spec.js.map create mode 100644 out/webgpu/api/operation/vertex_state/correctness.spec.js create mode 100644 out/webgpu/api/operation/vertex_state/correctness.spec.js.map create mode 100644 out/webgpu/api/operation/vertex_state/index_format.spec.js create mode 100644 out/webgpu/api/operation/vertex_state/index_format.spec.js.map create mode 100644 out/webgpu/api/validation/buffer/create.spec.js create mode 100644 out/webgpu/api/validation/buffer/create.spec.js.map create mode 100644 out/webgpu/api/validation/buffer/destroy.spec.js create mode 100644 out/webgpu/api/validation/buffer/destroy.spec.js.map create mode 100644 out/webgpu/api/validation/buffer/mapping.spec.js create mode 100644 out/webgpu/api/validation/buffer/mapping.spec.js.map create mode 100644 out/webgpu/api/validation/buffer/threading.spec.js create mode 100644 out/webgpu/api/validation/buffer/threading.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/features/query_types.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/features/query_types.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/features/texture_formats.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/features/texture_formats.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/limit_utils.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/limit_utils.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxBindGroups.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxBindGroups.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxBindGroupsPlusVertexBuffers.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxBindGroupsPlusVertexBuffers.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxBindingsPerBindGroup.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxBindingsPerBindGroup.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxBufferSize.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxBufferSize.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxColorAttachmentBytesPerSample.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxColorAttachmentBytesPerSample.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxColorAttachments.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxColorAttachments.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeInvocationsPerWorkgroup.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeInvocationsPerWorkgroup.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeX.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeX.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeY.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeY.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeZ.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupSizeZ.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupsPerDimension.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupsPerDimension.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxDynamicStorageBuffersPerPipelineLayout.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxDynamicStorageBuffersPerPipelineLayout.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxDynamicUniformBuffersPerPipelineLayout.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxDynamicUniformBuffersPerPipelineLayout.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxInterStageShaderComponents.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxInterStageShaderComponents.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxInterStageShaderVariables.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxInterStageShaderVariables.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxSampledTexturesPerShaderStage.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxSampledTexturesPerShaderStage.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxSamplersPerShaderStage.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxSamplersPerShaderStage.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxStorageBufferBindingSize.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxStorageBufferBindingSize.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxStorageBuffersPerShaderStage.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxStorageBuffersPerShaderStage.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxStorageTexturesPerShaderStage.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxStorageTexturesPerShaderStage.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxTextureArrayLayers.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxTextureArrayLayers.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxTextureDimension1D.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxTextureDimension1D.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxTextureDimension2D.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxTextureDimension2D.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxTextureDimension3D.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxTextureDimension3D.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxUniformBufferBindingSize.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxUniformBufferBindingSize.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxUniformBuffersPerShaderStage.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxUniformBuffersPerShaderStage.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxVertexAttributes.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxVertexAttributes.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxVertexBufferArrayStride.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxVertexBufferArrayStride.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxVertexBuffers.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/maxVertexBuffers.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/minStorageBufferOffsetAlignment.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/minStorageBufferOffsetAlignment.spec.js.map create mode 100644 out/webgpu/api/validation/capability_checks/limits/minUniformBufferOffsetAlignment.spec.js create mode 100644 out/webgpu/api/validation/capability_checks/limits/minUniformBufferOffsetAlignment.spec.js.map create mode 100644 out/webgpu/api/validation/compute_pipeline.spec.js create mode 100644 out/webgpu/api/validation/compute_pipeline.spec.js.map create mode 100644 out/webgpu/api/validation/createBindGroup.spec.js create mode 100644 out/webgpu/api/validation/createBindGroup.spec.js.map create mode 100644 out/webgpu/api/validation/createBindGroupLayout.spec.js create mode 100644 out/webgpu/api/validation/createBindGroupLayout.spec.js.map create mode 100644 out/webgpu/api/validation/createPipelineLayout.spec.js create mode 100644 out/webgpu/api/validation/createPipelineLayout.spec.js.map create mode 100644 out/webgpu/api/validation/createSampler.spec.js create mode 100644 out/webgpu/api/validation/createSampler.spec.js.map create mode 100644 out/webgpu/api/validation/createTexture.spec.js create mode 100644 out/webgpu/api/validation/createTexture.spec.js.map create mode 100644 out/webgpu/api/validation/createView.spec.js create mode 100644 out/webgpu/api/validation/createView.spec.js.map create mode 100644 out/webgpu/api/validation/debugMarker.spec.js create mode 100644 out/webgpu/api/validation/debugMarker.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/beginComputePass.spec.js create mode 100644 out/webgpu/api/validation/encoding/beginComputePass.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/beginRenderPass.spec.js create mode 100644 out/webgpu/api/validation/encoding/beginRenderPass.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/clearBuffer.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/clearBuffer.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/compute_pass.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/compute_pass.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/copyBufferToBuffer.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/copyBufferToBuffer.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/copyTextureToTexture.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/copyTextureToTexture.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/debug.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/debug.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/index_access.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/index_access.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/render/draw.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/render/draw.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/render/dynamic_state.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/render/dynamic_state.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/render/indirect_draw.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/render/indirect_draw.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/render/render.js create mode 100644 out/webgpu/api/validation/encoding/cmds/render/render.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/render/setIndexBuffer.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/render/setIndexBuffer.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/render/setPipeline.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/render/setPipeline.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/render/setVertexBuffer.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/render/setVertexBuffer.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/render/state_tracking.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/render/state_tracking.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/render_pass.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/render_pass.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/cmds/setBindGroup.spec.js create mode 100644 out/webgpu/api/validation/encoding/cmds/setBindGroup.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/createRenderBundleEncoder.spec.js create mode 100644 out/webgpu/api/validation/encoding/createRenderBundleEncoder.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/encoder_open_state.spec.js create mode 100644 out/webgpu/api/validation/encoding/encoder_open_state.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/encoder_state.spec.js create mode 100644 out/webgpu/api/validation/encoding/encoder_state.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.js create mode 100644 out/webgpu/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/queries/begin_end.spec.js create mode 100644 out/webgpu/api/validation/encoding/queries/begin_end.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/queries/common.js create mode 100644 out/webgpu/api/validation/encoding/queries/common.js.map create mode 100644 out/webgpu/api/validation/encoding/queries/general.spec.js create mode 100644 out/webgpu/api/validation/encoding/queries/general.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/queries/resolveQuerySet.spec.js create mode 100644 out/webgpu/api/validation/encoding/queries/resolveQuerySet.spec.js.map create mode 100644 out/webgpu/api/validation/encoding/render_bundle.spec.js create mode 100644 out/webgpu/api/validation/encoding/render_bundle.spec.js.map create mode 100644 out/webgpu/api/validation/error_scope.spec.js create mode 100644 out/webgpu/api/validation/error_scope.spec.js.map create mode 100644 out/webgpu/api/validation/getBindGroupLayout.spec.js create mode 100644 out/webgpu/api/validation/getBindGroupLayout.spec.js.map create mode 100644 out/webgpu/api/validation/gpu_external_texture_expiration.spec.js create mode 100644 out/webgpu/api/validation/gpu_external_texture_expiration.spec.js.map create mode 100644 out/webgpu/api/validation/image_copy/buffer_related.spec.js create mode 100644 out/webgpu/api/validation/image_copy/buffer_related.spec.js.map create mode 100644 out/webgpu/api/validation/image_copy/buffer_texture_copies.spec.js create mode 100644 out/webgpu/api/validation/image_copy/buffer_texture_copies.spec.js.map create mode 100644 out/webgpu/api/validation/image_copy/image_copy.js create mode 100644 out/webgpu/api/validation/image_copy/image_copy.js.map create mode 100644 out/webgpu/api/validation/image_copy/layout_related.spec.js create mode 100644 out/webgpu/api/validation/image_copy/layout_related.spec.js.map create mode 100644 out/webgpu/api/validation/image_copy/texture_related.spec.js create mode 100644 out/webgpu/api/validation/image_copy/texture_related.spec.js.map create mode 100644 out/webgpu/api/validation/layout_shader_compat.spec.js create mode 100644 out/webgpu/api/validation/layout_shader_compat.spec.js.map create mode 100644 out/webgpu/api/validation/query_set/create.spec.js create mode 100644 out/webgpu/api/validation/query_set/create.spec.js.map create mode 100644 out/webgpu/api/validation/query_set/destroy.spec.js create mode 100644 out/webgpu/api/validation/query_set/destroy.spec.js.map create mode 100644 out/webgpu/api/validation/queue/buffer_mapped.spec.js create mode 100644 out/webgpu/api/validation/queue/buffer_mapped.spec.js.map create mode 100644 out/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.js create mode 100644 out/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.js.map create mode 100644 out/webgpu/api/validation/queue/destroyed/buffer.spec.js create mode 100644 out/webgpu/api/validation/queue/destroyed/buffer.spec.js.map create mode 100644 out/webgpu/api/validation/queue/destroyed/query_set.spec.js create mode 100644 out/webgpu/api/validation/queue/destroyed/query_set.spec.js.map create mode 100644 out/webgpu/api/validation/queue/destroyed/texture.spec.js create mode 100644 out/webgpu/api/validation/queue/destroyed/texture.spec.js.map create mode 100644 out/webgpu/api/validation/queue/submit.spec.js create mode 100644 out/webgpu/api/validation/queue/submit.spec.js.map create mode 100644 out/webgpu/api/validation/queue/writeBuffer.spec.js create mode 100644 out/webgpu/api/validation/queue/writeBuffer.spec.js.map create mode 100644 out/webgpu/api/validation/queue/writeTexture.spec.js create mode 100644 out/webgpu/api/validation/queue/writeTexture.spec.js.map create mode 100644 out/webgpu/api/validation/render_pass/attachment_compatibility.spec.js create mode 100644 out/webgpu/api/validation/render_pass/attachment_compatibility.spec.js.map create mode 100644 out/webgpu/api/validation/render_pass/render_pass_descriptor.spec.js create mode 100644 out/webgpu/api/validation/render_pass/render_pass_descriptor.spec.js.map create mode 100644 out/webgpu/api/validation/render_pass/resolve.spec.js create mode 100644 out/webgpu/api/validation/render_pass/resolve.spec.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/common.js create mode 100644 out/webgpu/api/validation/render_pipeline/common.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/depth_stencil_state.spec.js create mode 100644 out/webgpu/api/validation/render_pipeline/depth_stencil_state.spec.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/fragment_state.spec.js create mode 100644 out/webgpu/api/validation/render_pipeline/fragment_state.spec.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/inter_stage.spec.js create mode 100644 out/webgpu/api/validation/render_pipeline/inter_stage.spec.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/misc.spec.js create mode 100644 out/webgpu/api/validation/render_pipeline/misc.spec.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/multisample_state.spec.js create mode 100644 out/webgpu/api/validation/render_pipeline/multisample_state.spec.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/overrides.spec.js create mode 100644 out/webgpu/api/validation/render_pipeline/overrides.spec.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/primitive_state.spec.js create mode 100644 out/webgpu/api/validation/render_pipeline/primitive_state.spec.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/resource_compatibility.spec.js create mode 100644 out/webgpu/api/validation/render_pipeline/resource_compatibility.spec.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/shader_module.spec.js create mode 100644 out/webgpu/api/validation/render_pipeline/shader_module.spec.js.map create mode 100644 out/webgpu/api/validation/render_pipeline/vertex_state.spec.js create mode 100644 out/webgpu/api/validation/render_pipeline/vertex_state.spec.js.map create mode 100644 out/webgpu/api/validation/resource_usages/buffer/in_pass_encoder.spec.js create mode 100644 out/webgpu/api/validation/resource_usages/buffer/in_pass_encoder.spec.js.map create mode 100644 out/webgpu/api/validation/resource_usages/buffer/in_pass_misc.spec.js create mode 100644 out/webgpu/api/validation/resource_usages/buffer/in_pass_misc.spec.js.map create mode 100644 out/webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.js create mode 100644 out/webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.js.map create mode 100644 out/webgpu/api/validation/resource_usages/texture/in_render_common.spec.js create mode 100644 out/webgpu/api/validation/resource_usages/texture/in_render_common.spec.js.map create mode 100644 out/webgpu/api/validation/resource_usages/texture/in_render_misc.spec.js create mode 100644 out/webgpu/api/validation/resource_usages/texture/in_render_misc.spec.js.map create mode 100644 out/webgpu/api/validation/shader_module/entry_point.spec.js create mode 100644 out/webgpu/api/validation/shader_module/entry_point.spec.js.map create mode 100644 out/webgpu/api/validation/shader_module/overrides.spec.js create mode 100644 out/webgpu/api/validation/shader_module/overrides.spec.js.map create mode 100644 out/webgpu/api/validation/state/device_lost/destroy.spec.js create mode 100644 out/webgpu/api/validation/state/device_lost/destroy.spec.js.map create mode 100644 out/webgpu/api/validation/texture/bgra8unorm_storage.spec.js create mode 100644 out/webgpu/api/validation/texture/bgra8unorm_storage.spec.js.map create mode 100644 out/webgpu/api/validation/texture/destroy.spec.js create mode 100644 out/webgpu/api/validation/texture/destroy.spec.js.map create mode 100644 out/webgpu/api/validation/texture/float32_filterable.spec.js create mode 100644 out/webgpu/api/validation/texture/float32_filterable.spec.js.map create mode 100644 out/webgpu/api/validation/texture/rg11b10ufloat_renderable.spec.js create mode 100644 out/webgpu/api/validation/texture/rg11b10ufloat_renderable.spec.js.map create mode 100644 out/webgpu/api/validation/utils.js create mode 100644 out/webgpu/api/validation/utils.js.map create mode 100644 out/webgpu/api/validation/validation_test.js create mode 100644 out/webgpu/api/validation/validation_test.js.map create mode 100644 out/webgpu/capability_info.js create mode 100644 out/webgpu/capability_info.js.map create mode 100644 out/webgpu/compat/api/validation/createBindGroup.spec.js create mode 100644 out/webgpu/compat/api/validation/createBindGroup.spec.js.map create mode 100644 out/webgpu/compat/api/validation/createBindGroupLayout.spec.js create mode 100644 out/webgpu/compat/api/validation/createBindGroupLayout.spec.js.map create mode 100644 out/webgpu/compat/api/validation/encoding/cmds/copyTextureToBuffer.spec.js create mode 100644 out/webgpu/compat/api/validation/encoding/cmds/copyTextureToBuffer.spec.js.map create mode 100644 out/webgpu/compat/api/validation/encoding/cmds/copyTextureToTexture.spec.js create mode 100644 out/webgpu/compat/api/validation/encoding/cmds/copyTextureToTexture.spec.js.map create mode 100644 out/webgpu/compat/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.js create mode 100644 out/webgpu/compat/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.js.map create mode 100644 out/webgpu/compat/api/validation/render_pipeline/depth_stencil_state.spec.js create mode 100644 out/webgpu/compat/api/validation/render_pipeline/depth_stencil_state.spec.js.map create mode 100644 out/webgpu/compat/api/validation/render_pipeline/fragment_state.spec.js create mode 100644 out/webgpu/compat/api/validation/render_pipeline/fragment_state.spec.js.map create mode 100644 out/webgpu/compat/api/validation/render_pipeline/unsupported_wgsl.spec.js create mode 100644 out/webgpu/compat/api/validation/render_pipeline/unsupported_wgsl.spec.js.map create mode 100644 out/webgpu/compat/api/validation/render_pipeline/vertex_state.spec.js create mode 100644 out/webgpu/compat/api/validation/render_pipeline/vertex_state.spec.js.map create mode 100644 out/webgpu/compat/api/validation/texture/createTexture.spec.js create mode 100644 out/webgpu/compat/api/validation/texture/createTexture.spec.js.map create mode 100644 out/webgpu/compat/api/validation/texture/cubeArray.spec.js create mode 100644 out/webgpu/compat/api/validation/texture/cubeArray.spec.js.map create mode 100644 out/webgpu/compat/compatibility_test.js create mode 100644 out/webgpu/compat/compatibility_test.js.map create mode 100644 out/webgpu/constants.js create mode 100644 out/webgpu/constants.js.map create mode 100644 out/webgpu/error_test.js create mode 100644 out/webgpu/error_test.js.map create mode 100644 out/webgpu/examples.spec.js create mode 100644 out/webgpu/examples.spec.js.map create mode 100644 out/webgpu/format_info.js create mode 100644 out/webgpu/format_info.js.map create mode 100644 out/webgpu/gpu_test.js create mode 100644 out/webgpu/gpu_test.js.map create mode 100644 out/webgpu/idl/constants/flags.spec.js create mode 100644 out/webgpu/idl/constants/flags.spec.js.map create mode 100644 out/webgpu/idl/constructable.spec.js create mode 100644 out/webgpu/idl/constructable.spec.js.map create mode 100644 out/webgpu/idl/exposed.html.js create mode 100644 out/webgpu/idl/exposed.html.js.map create mode 100644 out/webgpu/idl/exposed.http.html create mode 100644 out/webgpu/idl/exposed.https.html create mode 100644 out/webgpu/idl/idl_test.js create mode 100644 out/webgpu/idl/idl_test.js.map create mode 100644 out/webgpu/inter_stage.js create mode 100644 out/webgpu/inter_stage.js.map create mode 100644 out/webgpu/listing.js create mode 100644 out/webgpu/multisample_info.js create mode 100644 out/webgpu/multisample_info.js.map create mode 100644 out/webgpu/print_environment.spec.js create mode 100644 out/webgpu/print_environment.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/access/array/index.spec.js create mode 100644 out/webgpu/shader/execution/expression/access/array/index.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/access/matrix/index.spec.js create mode 100644 out/webgpu/shader/execution/expression/access/matrix/index.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/access/structure/index.spec.js create mode 100644 out/webgpu/shader/execution/expression/access/structure/index.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/access/vector/components.spec.js create mode 100644 out/webgpu/shader/execution/expression/access/vector/components.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/access/vector/index.spec.js create mode 100644 out/webgpu/shader/execution/expression/access/vector/index.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_addition.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_addition.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_addition.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_addition.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_comparison.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_comparison.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_comparison.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_comparison.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_data.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_data.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_division.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_division.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_division.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_division.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_addition.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_addition.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_addition.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_addition.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_matrix_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_matrix_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_matrix_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_matrix_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_scalar_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_scalar_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_scalar_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_scalar_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_subtraction.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_subtraction.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_subtraction.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_subtraction.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_vector_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_vector_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_vector_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_matrix_vector_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_remainder.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_remainder.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_remainder.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_remainder.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_subtraction.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_subtraction.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/af_subtraction.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/af_subtraction.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/ai_arithmetic.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/ai_arithmetic.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/ai_arithmetic.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/ai_arithmetic.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/ai_comparison.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/ai_comparison.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/binary.js create mode 100644 out/webgpu/shader/execution/expression/binary/binary.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/bitwise.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/bitwise.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/bitwise_shift.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/bitwise_shift.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/bool_logical.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/bool_logical.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_addition.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_addition.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_addition.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_addition.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_comparison.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_comparison.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_comparison.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_comparison.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_division.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_division.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_division.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_division.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_addition.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_addition.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_addition.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_addition.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_matrix_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_matrix_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_matrix_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_matrix_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_scalar_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_scalar_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_scalar_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_scalar_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_subtraction.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_subtraction.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_subtraction.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_subtraction.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_vector_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_vector_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_vector_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_matrix_vector_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_remainder.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_remainder.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_remainder.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_remainder.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_subtraction.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_subtraction.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f16_subtraction.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f16_subtraction.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_addition.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_addition.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_addition.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_addition.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_comparison.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_comparison.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_comparison.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_comparison.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_division.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_division.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_division.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_division.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_addition.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_addition.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_addition.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_addition.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_matrix_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_matrix_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_matrix_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_matrix_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_scalar_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_scalar_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_scalar_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_scalar_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_subtraction.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_subtraction.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_subtraction.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_subtraction.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_vector_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_vector_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_vector_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_matrix_vector_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_multiplication.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_multiplication.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_multiplication.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_multiplication.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_remainder.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_remainder.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_remainder.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_remainder.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_subtraction.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_subtraction.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/f32_subtraction.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/f32_subtraction.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/i32_arithmetic.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/i32_arithmetic.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/i32_arithmetic.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/i32_arithmetic.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/i32_comparison.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/i32_comparison.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/i32_comparison.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/i32_comparison.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/u32_arithmetic.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/u32_arithmetic.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/u32_arithmetic.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/u32_arithmetic.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/u32_comparison.cache.js create mode 100644 out/webgpu/shader/execution/expression/binary/u32_comparison.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/binary/u32_comparison.spec.js create mode 100644 out/webgpu/shader/execution/expression/binary/u32_comparison.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/abs.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/abs.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/abs.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/abs.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/acos.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/acos.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/acos.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/acos.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/acosh.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/acosh.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/acosh.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/acosh.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/all.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/all.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/any.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/any.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/arrayLength.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/arrayLength.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/asin.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/asin.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/asin.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/asin.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/asinh.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/asinh.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/asinh.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/asinh.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atan.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atan.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atan.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atan.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atan2.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atan2.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atan2.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atan2.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atanh.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atanh.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atanh.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atanh.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicAdd.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicAdd.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicAnd.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicAnd.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicCompareExchangeWeak.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicCompareExchangeWeak.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicExchange.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicExchange.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicLoad.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicLoad.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicMax.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicMax.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicMin.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicMin.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicOr.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicOr.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicStore.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicStore.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicSub.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicSub.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicXor.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/atomicXor.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/harness.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/atomics/harness.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/bitcast.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/bitcast.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/bitcast.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/bitcast.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/builtin.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/builtin.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/ceil.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/ceil.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/ceil.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/ceil.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/clamp.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/clamp.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/clamp.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/clamp.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cos.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cos.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cos.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cos.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cosh.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cosh.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cosh.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cosh.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/countLeadingZeros.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/countLeadingZeros.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/countOneBits.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/countOneBits.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/countTrailingZeros.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/countTrailingZeros.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cross.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cross.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cross.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/cross.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/degrees.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/degrees.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/degrees.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/degrees.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/derivatives.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/derivatives.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/derivatives.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/derivatives.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/determinant.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/determinant.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/determinant.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/determinant.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/distance.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/distance.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/distance.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/distance.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dot.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dot.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dot.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dot.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dot4I8Packed.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dot4I8Packed.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dot4U8Packed.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dot4U8Packed.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdx.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdx.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdxCoarse.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdxCoarse.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdxFine.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdxFine.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdy.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdy.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdyCoarse.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdyCoarse.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdyFine.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/dpdyFine.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/exp.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/exp.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/exp.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/exp.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/exp2.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/exp2.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/exp2.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/exp2.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/extractBits.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/extractBits.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/faceForward.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/faceForward.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/faceForward.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/faceForward.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/firstLeadingBit.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/firstLeadingBit.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/firstTrailingBit.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/firstTrailingBit.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/floor.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/floor.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/floor.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/floor.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fma.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fma.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fma.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fma.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fract.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fract.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fract.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fract.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/frexp.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/frexp.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/frexp.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/frexp.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fwidth.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fwidth.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fwidth.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fwidth.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fwidth.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fwidth.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fwidthCoarse.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fwidthCoarse.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fwidthFine.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/fwidthFine.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/insertBits.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/insertBits.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/inversesqrt.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/inversesqrt.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/inversesqrt.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/inversesqrt.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/ldexp.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/ldexp.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/ldexp.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/ldexp.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/length.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/length.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/length.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/length.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/log.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/log.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/log.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/log.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/log2.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/log2.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/log2.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/log2.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/max.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/max.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/max.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/max.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/min.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/min.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/min.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/min.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/mix.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/mix.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/mix.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/mix.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/modf.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/modf.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/modf.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/modf.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/normalize.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/normalize.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/normalize.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/normalize.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack2x16float.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack2x16float.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack2x16float.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack2x16float.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack2x16snorm.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack2x16snorm.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack2x16unorm.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack2x16unorm.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4x8snorm.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4x8snorm.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4x8unorm.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4x8unorm.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4xI8.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4xI8.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4xI8Clamp.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4xI8Clamp.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4xU8.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4xU8.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4xU8Clamp.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pack4xU8Clamp.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pow.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pow.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pow.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/pow.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/quantizeToF16.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/quantizeToF16.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/quantizeToF16.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/quantizeToF16.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/radians.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/radians.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/radians.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/radians.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/reflect.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/reflect.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/reflect.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/reflect.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/refract.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/refract.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/refract.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/refract.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/reverseBits.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/reverseBits.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/round.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/round.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/round.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/round.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/saturate.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/saturate.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/saturate.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/saturate.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/select.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/select.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sign.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sign.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sign.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sign.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sin.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sin.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sin.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sin.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sinh.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sinh.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sinh.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sinh.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/smoothstep.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/smoothstep.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/smoothstep.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/smoothstep.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sqrt.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sqrt.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sqrt.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/sqrt.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/step.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/step.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/step.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/step.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/storageBarrier.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/storageBarrier.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupAdd.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupAdd.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupAll.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupAll.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupAny.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupAny.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupBallot.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupBallot.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupBroadcast.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupBroadcast.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupMul.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroupMul.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroup_util.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/subgroup_util.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/tan.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/tan.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/tan.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/tan.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/tanh.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/tanh.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/tanh.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/tanh.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureDimensions.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureDimensions.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureGather.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureGather.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureGatherCompare.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureLoad.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureLoad.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureNumLayers.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureNumLayers.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureNumLevels.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureNumLevels.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureNumSamples.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureNumSamples.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSample.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSample.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleBaseClampToEdge.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleBaseClampToEdge.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleBias.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleBias.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleCompare.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleCompare.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleGrad.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleGrad.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleLevel.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureSampleLevel.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureStore.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/textureStore.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/texture_utils.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/texture_utils.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/transpose.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/transpose.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/transpose.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/transpose.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/trunc.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/trunc.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/trunc.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/trunc.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16float.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16float.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16float.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16float.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16snorm.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16snorm.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16snorm.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16snorm.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16unorm.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16unorm.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16unorm.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack2x16unorm.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.cache.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4xI8.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4xI8.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4xU8.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/unpack4xU8.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/utils.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/utils.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/builtin/workgroupUniformLoad.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/builtin/workgroupUniformLoad.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/call/user/ptr_params.spec.js create mode 100644 out/webgpu/shader/execution/expression/call/user/ptr_params.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/case.js create mode 100644 out/webgpu/shader/execution/expression/case.js.map create mode 100644 out/webgpu/shader/execution/expression/case_cache.js create mode 100644 out/webgpu/shader/execution/expression/case_cache.js.map create mode 100644 out/webgpu/shader/execution/expression/constructor/non_zero.spec.js create mode 100644 out/webgpu/shader/execution/expression/constructor/non_zero.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/constructor/zero_value.spec.js create mode 100644 out/webgpu/shader/execution/expression/constructor/zero_value.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/expectation.js create mode 100644 out/webgpu/shader/execution/expression/expectation.js.map create mode 100644 out/webgpu/shader/execution/expression/expression.js create mode 100644 out/webgpu/shader/execution/expression/expression.js.map create mode 100644 out/webgpu/shader/execution/expression/interval_filter.js create mode 100644 out/webgpu/shader/execution/expression/interval_filter.js.map create mode 100644 out/webgpu/shader/execution/expression/precedence.spec.js create mode 100644 out/webgpu/shader/execution/expression/precedence.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/address_of_and_indirection.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/address_of_and_indirection.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/af_arithmetic.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/af_arithmetic.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/af_arithmetic.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/af_arithmetic.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/af_assignment.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/af_assignment.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/af_assignment.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/af_assignment.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/ai_arithmetic.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/ai_arithmetic.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/ai_arithmetic.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/ai_arithmetic.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/ai_assignment.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/ai_assignment.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/ai_assignment.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/ai_assignment.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/ai_complement.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/ai_complement.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/bool_conversion.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/bool_conversion.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/bool_conversion.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/bool_conversion.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/bool_logical.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/bool_logical.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/f16_arithmetic.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/f16_arithmetic.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/f16_arithmetic.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/f16_arithmetic.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/f16_conversion.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/f16_conversion.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/f16_conversion.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/f16_conversion.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/f32_arithmetic.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/f32_arithmetic.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/f32_arithmetic.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/f32_arithmetic.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/f32_conversion.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/f32_conversion.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/f32_conversion.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/f32_conversion.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/i32_arithmetic.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/i32_arithmetic.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/i32_arithmetic.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/i32_arithmetic.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/i32_complement.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/i32_complement.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/i32_conversion.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/i32_conversion.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/i32_conversion.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/i32_conversion.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/u32_complement.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/u32_complement.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/u32_conversion.cache.js create mode 100644 out/webgpu/shader/execution/expression/unary/u32_conversion.cache.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/u32_conversion.spec.js create mode 100644 out/webgpu/shader/execution/expression/unary/u32_conversion.spec.js.map create mode 100644 out/webgpu/shader/execution/expression/unary/unary.js create mode 100644 out/webgpu/shader/execution/expression/unary/unary.js.map create mode 100644 out/webgpu/shader/execution/float_parse.spec.js create mode 100644 out/webgpu/shader/execution/float_parse.spec.js.map create mode 100644 out/webgpu/shader/execution/flow_control/call.spec.js create mode 100644 out/webgpu/shader/execution/flow_control/call.spec.js.map create mode 100644 out/webgpu/shader/execution/flow_control/complex.spec.js create mode 100644 out/webgpu/shader/execution/flow_control/complex.spec.js.map create mode 100644 out/webgpu/shader/execution/flow_control/eval_order.spec.js create mode 100644 out/webgpu/shader/execution/flow_control/eval_order.spec.js.map create mode 100644 out/webgpu/shader/execution/flow_control/for.spec.js create mode 100644 out/webgpu/shader/execution/flow_control/for.spec.js.map create mode 100644 out/webgpu/shader/execution/flow_control/harness.js create mode 100644 out/webgpu/shader/execution/flow_control/harness.js.map create mode 100644 out/webgpu/shader/execution/flow_control/if.spec.js create mode 100644 out/webgpu/shader/execution/flow_control/if.spec.js.map create mode 100644 out/webgpu/shader/execution/flow_control/loop.spec.js create mode 100644 out/webgpu/shader/execution/flow_control/loop.spec.js.map create mode 100644 out/webgpu/shader/execution/flow_control/phony.spec.js create mode 100644 out/webgpu/shader/execution/flow_control/phony.spec.js.map create mode 100644 out/webgpu/shader/execution/flow_control/return.spec.js create mode 100644 out/webgpu/shader/execution/flow_control/return.spec.js.map create mode 100644 out/webgpu/shader/execution/flow_control/switch.spec.js create mode 100644 out/webgpu/shader/execution/flow_control/switch.spec.js.map create mode 100644 out/webgpu/shader/execution/flow_control/while.spec.js create mode 100644 out/webgpu/shader/execution/flow_control/while.spec.js.map create mode 100644 out/webgpu/shader/execution/limits.spec.js create mode 100644 out/webgpu/shader/execution/limits.spec.js.map create mode 100644 out/webgpu/shader/execution/memory_layout.spec.js create mode 100644 out/webgpu/shader/execution/memory_layout.spec.js.map create mode 100644 out/webgpu/shader/execution/memory_model/adjacent.spec.js create mode 100644 out/webgpu/shader/execution/memory_model/adjacent.spec.js.map create mode 100644 out/webgpu/shader/execution/memory_model/atomicity.spec.js create mode 100644 out/webgpu/shader/execution/memory_model/atomicity.spec.js.map create mode 100644 out/webgpu/shader/execution/memory_model/barrier.spec.js create mode 100644 out/webgpu/shader/execution/memory_model/barrier.spec.js.map create mode 100644 out/webgpu/shader/execution/memory_model/coherence.spec.js create mode 100644 out/webgpu/shader/execution/memory_model/coherence.spec.js.map create mode 100644 out/webgpu/shader/execution/memory_model/memory_model_setup.js create mode 100644 out/webgpu/shader/execution/memory_model/memory_model_setup.js.map create mode 100644 out/webgpu/shader/execution/memory_model/texture_intra_invocation_coherence.spec.js create mode 100644 out/webgpu/shader/execution/memory_model/texture_intra_invocation_coherence.spec.js.map create mode 100644 out/webgpu/shader/execution/memory_model/weak.spec.js create mode 100644 out/webgpu/shader/execution/memory_model/weak.spec.js.map create mode 100644 out/webgpu/shader/execution/padding.spec.js create mode 100644 out/webgpu/shader/execution/padding.spec.js.map create mode 100644 out/webgpu/shader/execution/robust_access.spec.js create mode 100644 out/webgpu/shader/execution/robust_access.spec.js.map create mode 100644 out/webgpu/shader/execution/robust_access_vertex.spec.js create mode 100644 out/webgpu/shader/execution/robust_access_vertex.spec.js.map create mode 100644 out/webgpu/shader/execution/shader_io/compute_builtins.spec.js create mode 100644 out/webgpu/shader/execution/shader_io/compute_builtins.spec.js.map create mode 100644 out/webgpu/shader/execution/shader_io/fragment_builtins.spec.js create mode 100644 out/webgpu/shader/execution/shader_io/fragment_builtins.spec.js.map create mode 100644 out/webgpu/shader/execution/shader_io/shared_structs.spec.js create mode 100644 out/webgpu/shader/execution/shader_io/shared_structs.spec.js.map create mode 100644 out/webgpu/shader/execution/shader_io/user_io.spec.js create mode 100644 out/webgpu/shader/execution/shader_io/user_io.spec.js.map create mode 100644 out/webgpu/shader/execution/shader_io/workgroup_size.spec.js create mode 100644 out/webgpu/shader/execution/shader_io/workgroup_size.spec.js.map create mode 100644 out/webgpu/shader/execution/shadow.spec.js create mode 100644 out/webgpu/shader/execution/shadow.spec.js.map create mode 100644 out/webgpu/shader/execution/stage.spec.js create mode 100644 out/webgpu/shader/execution/stage.spec.js.map create mode 100644 out/webgpu/shader/execution/statement/compound.spec.js create mode 100644 out/webgpu/shader/execution/statement/compound.spec.js.map create mode 100644 out/webgpu/shader/execution/statement/discard.spec.js create mode 100644 out/webgpu/shader/execution/statement/discard.spec.js.map create mode 100644 out/webgpu/shader/execution/statement/increment_decrement.spec.js create mode 100644 out/webgpu/shader/execution/statement/increment_decrement.spec.js.map create mode 100644 out/webgpu/shader/execution/statement/phony.spec.js create mode 100644 out/webgpu/shader/execution/statement/phony.spec.js.map create mode 100644 out/webgpu/shader/execution/value_init.spec.js create mode 100644 out/webgpu/shader/execution/value_init.spec.js.map create mode 100644 out/webgpu/shader/execution/zero_init.spec.js create mode 100644 out/webgpu/shader/execution/zero_init.spec.js.map create mode 100644 out/webgpu/shader/types.js create mode 100644 out/webgpu/shader/types.js.map create mode 100644 out/webgpu/shader/validation/const_assert/const_assert.spec.js create mode 100644 out/webgpu/shader/validation/const_assert/const_assert.spec.js.map create mode 100644 out/webgpu/shader/validation/decl/compound_statement.spec.js create mode 100644 out/webgpu/shader/validation/decl/compound_statement.spec.js.map create mode 100644 out/webgpu/shader/validation/decl/const.spec.js create mode 100644 out/webgpu/shader/validation/decl/const.spec.js.map create mode 100644 out/webgpu/shader/validation/decl/context_dependent_resolution.spec.js create mode 100644 out/webgpu/shader/validation/decl/context_dependent_resolution.spec.js.map create mode 100644 out/webgpu/shader/validation/decl/let.spec.js create mode 100644 out/webgpu/shader/validation/decl/let.spec.js.map create mode 100644 out/webgpu/shader/validation/decl/override.spec.js create mode 100644 out/webgpu/shader/validation/decl/override.spec.js.map create mode 100644 out/webgpu/shader/validation/decl/util.js create mode 100644 out/webgpu/shader/validation/decl/util.js.map create mode 100644 out/webgpu/shader/validation/decl/var.spec.js create mode 100644 out/webgpu/shader/validation/decl/var.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/access/array.spec.js create mode 100644 out/webgpu/shader/validation/expression/access/array.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/access/matrix.spec.js create mode 100644 out/webgpu/shader/validation/expression/access/matrix.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/access/structure.spec.js create mode 100644 out/webgpu/shader/validation/expression/access/structure.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/access/vector.spec.js create mode 100644 out/webgpu/shader/validation/expression/access/vector.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/binary/add_sub_mul.spec.js create mode 100644 out/webgpu/shader/validation/expression/binary/add_sub_mul.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/binary/and_or_xor.spec.js create mode 100644 out/webgpu/shader/validation/expression/binary/and_or_xor.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/binary/bitwise_shift.spec.js create mode 100644 out/webgpu/shader/validation/expression/binary/bitwise_shift.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/binary/comparison.spec.js create mode 100644 out/webgpu/shader/validation/expression/binary/comparison.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/binary/div_rem.spec.js create mode 100644 out/webgpu/shader/validation/expression/binary/div_rem.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/binary/parse.spec.js create mode 100644 out/webgpu/shader/validation/expression/binary/parse.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/binary/result_type.js create mode 100644 out/webgpu/shader/validation/expression/binary/result_type.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/abs.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/abs.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/acos.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/acos.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/acosh.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/acosh.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/all.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/all.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/any.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/any.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/arrayLength.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/arrayLength.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/asin.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/asin.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/asinh.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/asinh.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/atan.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/atan.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/atan2.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/atan2.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/atanh.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/atanh.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/atomics.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/atomics.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/barriers.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/barriers.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/bitcast.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/bitcast.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/ceil.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/ceil.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/clamp.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/clamp.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/const_override_validation.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/const_override_validation.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/cos.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/cos.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/cosh.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/cosh.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/countLeadingZeros.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/countLeadingZeros.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/countOneBits.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/countOneBits.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/countTrailingZeros.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/countTrailingZeros.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/cross.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/cross.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/degrees.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/degrees.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/derivatives.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/derivatives.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/determinant.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/determinant.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/distance.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/distance.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/dot.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/dot.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/dot4I8Packed.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/dot4I8Packed.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/dot4U8Packed.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/dot4U8Packed.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/exp.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/exp.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/exp2.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/exp2.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/extractBits.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/extractBits.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/faceForward.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/faceForward.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/firstLeadingBit.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/firstLeadingBit.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/firstTrailingBit.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/firstTrailingBit.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/floor.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/floor.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/fma.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/fma.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/fract.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/fract.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/frexp.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/frexp.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/insertBits.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/insertBits.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/inverseSqrt.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/inverseSqrt.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/ldexp.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/ldexp.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/length.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/length.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/log.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/log.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/log2.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/log2.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/max.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/max.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/min.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/min.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/mix.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/mix.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/modf.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/modf.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/normalize.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/normalize.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack2x16float.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack2x16float.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack2x16snorm.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack2x16snorm.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack2x16unorm.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack2x16unorm.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4x8snorm.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4x8snorm.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4x8unorm.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4x8unorm.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4xI8.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4xI8.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4xI8Clamp.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4xI8Clamp.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4xU8.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4xU8.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4xU8Clamp.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pack4xU8Clamp.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pow.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/pow.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/quadBroadcast.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/quadBroadcast.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/quadSwap.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/quadSwap.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/quantizeToF16.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/quantizeToF16.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/radians.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/radians.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/reflect.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/reflect.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/refract.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/refract.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/reverseBits.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/reverseBits.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/round.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/round.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/saturate.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/saturate.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/select.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/select.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/shader_builtin_utils.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/shader_builtin_utils.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/sign.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/sign.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/sin.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/sin.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/sinh.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/sinh.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/smoothstep.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/smoothstep.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/sqrt.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/sqrt.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/step.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/step.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupAdd.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupAdd.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupAnyAll.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupAnyAll.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupBallot.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupBallot.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupBitwise.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupBitwise.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupBroadcast.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupBroadcast.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupBroadcastFirst.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupBroadcastFirst.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupElect.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupElect.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupMinMax.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupMinMax.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupMul.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupMul.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupShuffle.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/subgroupShuffle.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/tan.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/tan.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/tanh.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/tanh.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureDimensions.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureDimensions.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureGather.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureGather.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureGatherCompare.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureGatherCompare.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureLoad.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureLoad.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureNumLayers.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureNumLayers.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureNumLevels.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureNumLevels.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureNumSamples.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureNumSamples.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSample.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSample.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleBaseClampToEdge.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleBaseClampToEdge.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleBias.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleBias.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleCompare.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleCompare.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleCompareLevel.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleCompareLevel.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleGrad.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleGrad.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleLevel.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureSampleLevel.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureStore.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/textureStore.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/transpose.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/transpose.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/trunc.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/trunc.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack2x16float.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack2x16float.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack2x16snorm.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack2x16snorm.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack2x16unorm.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack2x16unorm.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack4x8snorm.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack4x8snorm.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack4x8unorm.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack4x8unorm.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack4xI8.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack4xI8.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack4xU8.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/unpack4xU8.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/value_constructor.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/value_constructor.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/call/builtin/workgroupUniformLoad.spec.js create mode 100644 out/webgpu/shader/validation/expression/call/builtin/workgroupUniformLoad.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/early_evaluation.spec.js create mode 100644 out/webgpu/shader/validation/expression/early_evaluation.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/matrix/add_sub.spec.js create mode 100644 out/webgpu/shader/validation/expression/matrix/add_sub.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/matrix/and_or_xor.spec.js create mode 100644 out/webgpu/shader/validation/expression/matrix/and_or_xor.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/matrix/bitwise_shift.spec.js create mode 100644 out/webgpu/shader/validation/expression/matrix/bitwise_shift.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/matrix/comparison.spec.js create mode 100644 out/webgpu/shader/validation/expression/matrix/comparison.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/matrix/div_rem.spec.js create mode 100644 out/webgpu/shader/validation/expression/matrix/div_rem.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/matrix/mul.spec.js create mode 100644 out/webgpu/shader/validation/expression/matrix/mul.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/overload_resolution.spec.js create mode 100644 out/webgpu/shader/validation/expression/overload_resolution.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/precedence.spec.js create mode 100644 out/webgpu/shader/validation/expression/precedence.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/unary/address_of_and_indirection.spec.js create mode 100644 out/webgpu/shader/validation/expression/unary/address_of_and_indirection.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/unary/arithmetic_negation.spec.js create mode 100644 out/webgpu/shader/validation/expression/unary/arithmetic_negation.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/unary/bitwise_complement.spec.js create mode 100644 out/webgpu/shader/validation/expression/unary/bitwise_complement.spec.js.map create mode 100644 out/webgpu/shader/validation/expression/unary/logical_negation.spec.js create mode 100644 out/webgpu/shader/validation/expression/unary/logical_negation.spec.js.map create mode 100644 out/webgpu/shader/validation/extension/dual_source_blending.spec.js create mode 100644 out/webgpu/shader/validation/extension/dual_source_blending.spec.js.map create mode 100644 out/webgpu/shader/validation/extension/pointer_composite_access.spec.js create mode 100644 out/webgpu/shader/validation/extension/pointer_composite_access.spec.js.map create mode 100644 out/webgpu/shader/validation/extension/readonly_and_readwrite_storage_textures.spec.js create mode 100644 out/webgpu/shader/validation/extension/readonly_and_readwrite_storage_textures.spec.js.map create mode 100644 out/webgpu/shader/validation/functions/alias_analysis.spec.js create mode 100644 out/webgpu/shader/validation/functions/alias_analysis.spec.js.map create mode 100644 out/webgpu/shader/validation/functions/restrictions.spec.js create mode 100644 out/webgpu/shader/validation/functions/restrictions.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/attribute.spec.js create mode 100644 out/webgpu/shader/validation/parse/attribute.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/blankspace.spec.js create mode 100644 out/webgpu/shader/validation/parse/blankspace.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/comments.spec.js create mode 100644 out/webgpu/shader/validation/parse/comments.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/diagnostic.spec.js create mode 100644 out/webgpu/shader/validation/parse/diagnostic.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/enable.spec.js create mode 100644 out/webgpu/shader/validation/parse/enable.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/identifiers.spec.js create mode 100644 out/webgpu/shader/validation/parse/identifiers.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/literal.spec.js create mode 100644 out/webgpu/shader/validation/parse/literal.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/must_use.spec.js create mode 100644 out/webgpu/shader/validation/parse/must_use.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/requires.spec.js create mode 100644 out/webgpu/shader/validation/parse/requires.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/semicolon.spec.js create mode 100644 out/webgpu/shader/validation/parse/semicolon.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/shadow_builtins.spec.js create mode 100644 out/webgpu/shader/validation/parse/shadow_builtins.spec.js.map create mode 100644 out/webgpu/shader/validation/parse/source.spec.js create mode 100644 out/webgpu/shader/validation/parse/source.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/align.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/align.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/binding.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/binding.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/builtins.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/builtins.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/entry_point.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/entry_point.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/group.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/group.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/group_and_binding.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/group_and_binding.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/id.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/id.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/interpolate.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/interpolate.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/invariant.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/invariant.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/layout_constraints.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/layout_constraints.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/locations.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/locations.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/pipeline_stage.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/pipeline_stage.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/size.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/size.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_io/util.js create mode 100644 out/webgpu/shader/validation/shader_io/util.js.map create mode 100644 out/webgpu/shader/validation/shader_io/workgroup_size.spec.js create mode 100644 out/webgpu/shader/validation/shader_io/workgroup_size.spec.js.map create mode 100644 out/webgpu/shader/validation/shader_validation_test.js create mode 100644 out/webgpu/shader/validation/shader_validation_test.js.map create mode 100644 out/webgpu/shader/validation/statement/break.spec.js create mode 100644 out/webgpu/shader/validation/statement/break.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/break_if.spec.js create mode 100644 out/webgpu/shader/validation/statement/break_if.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/compound.spec.js create mode 100644 out/webgpu/shader/validation/statement/compound.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/const_assert.spec.js create mode 100644 out/webgpu/shader/validation/statement/const_assert.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/continue.spec.js create mode 100644 out/webgpu/shader/validation/statement/continue.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/continuing.spec.js create mode 100644 out/webgpu/shader/validation/statement/continuing.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/discard.spec.js create mode 100644 out/webgpu/shader/validation/statement/discard.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/for.spec.js create mode 100644 out/webgpu/shader/validation/statement/for.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/if.spec.js create mode 100644 out/webgpu/shader/validation/statement/if.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/increment_decrement.spec.js create mode 100644 out/webgpu/shader/validation/statement/increment_decrement.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/loop.spec.js create mode 100644 out/webgpu/shader/validation/statement/loop.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/phony.spec.js create mode 100644 out/webgpu/shader/validation/statement/phony.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/return.spec.js create mode 100644 out/webgpu/shader/validation/statement/return.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/statement_behavior.spec.js create mode 100644 out/webgpu/shader/validation/statement/statement_behavior.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/switch.spec.js create mode 100644 out/webgpu/shader/validation/statement/switch.spec.js.map create mode 100644 out/webgpu/shader/validation/statement/test_types.js create mode 100644 out/webgpu/shader/validation/statement/test_types.js.map create mode 100644 out/webgpu/shader/validation/statement/while.spec.js create mode 100644 out/webgpu/shader/validation/statement/while.spec.js.map create mode 100644 out/webgpu/shader/validation/types/alias.spec.js create mode 100644 out/webgpu/shader/validation/types/alias.spec.js.map create mode 100644 out/webgpu/shader/validation/types/array.spec.js create mode 100644 out/webgpu/shader/validation/types/array.spec.js.map create mode 100644 out/webgpu/shader/validation/types/atomics.spec.js create mode 100644 out/webgpu/shader/validation/types/atomics.spec.js.map create mode 100644 out/webgpu/shader/validation/types/enumerant.spec.js create mode 100644 out/webgpu/shader/validation/types/enumerant.spec.js.map create mode 100644 out/webgpu/shader/validation/types/matrix.spec.js create mode 100644 out/webgpu/shader/validation/types/matrix.spec.js.map create mode 100644 out/webgpu/shader/validation/types/pointer.spec.js create mode 100644 out/webgpu/shader/validation/types/pointer.spec.js.map create mode 100644 out/webgpu/shader/validation/types/ref.spec.js create mode 100644 out/webgpu/shader/validation/types/ref.spec.js.map create mode 100644 out/webgpu/shader/validation/types/struct.spec.js create mode 100644 out/webgpu/shader/validation/types/struct.spec.js.map create mode 100644 out/webgpu/shader/validation/types/textures.spec.js create mode 100644 out/webgpu/shader/validation/types/textures.spec.js.map create mode 100644 out/webgpu/shader/validation/types/vector.spec.js create mode 100644 out/webgpu/shader/validation/types/vector.spec.js.map create mode 100644 out/webgpu/shader/validation/uniformity/uniformity.spec.js create mode 100644 out/webgpu/shader/validation/uniformity/uniformity.spec.js.map create mode 100644 out/webgpu/shader/values.js create mode 100644 out/webgpu/shader/values.js.map create mode 100644 out/webgpu/util/binary_stream.js create mode 100644 out/webgpu/util/binary_stream.js.map create mode 100644 out/webgpu/util/check_contents.js create mode 100644 out/webgpu/util/check_contents.js.map create mode 100644 out/webgpu/util/color_space_conversion.js create mode 100644 out/webgpu/util/color_space_conversion.js.map create mode 100644 out/webgpu/util/command_buffer_maker.js create mode 100644 out/webgpu/util/command_buffer_maker.js.map create mode 100644 out/webgpu/util/compare.js create mode 100644 out/webgpu/util/compare.js.map create mode 100644 out/webgpu/util/constants.js create mode 100644 out/webgpu/util/constants.js.map create mode 100644 out/webgpu/util/conversion.js create mode 100644 out/webgpu/util/conversion.js.map create mode 100644 out/webgpu/util/copy_to_texture.js create mode 100644 out/webgpu/util/copy_to_texture.js.map create mode 100644 out/webgpu/util/create_elements.js create mode 100644 out/webgpu/util/create_elements.js.map create mode 100644 out/webgpu/util/device_pool.js create mode 100644 out/webgpu/util/device_pool.js.map create mode 100644 out/webgpu/util/floating_point.js create mode 100644 out/webgpu/util/floating_point.js.map create mode 100644 out/webgpu/util/math.js create mode 100644 out/webgpu/util/math.js.map create mode 100644 out/webgpu/util/memory.js create mode 100644 out/webgpu/util/memory.js.map create mode 100644 out/webgpu/util/pretty_diff_tables.js create mode 100644 out/webgpu/util/pretty_diff_tables.js.map create mode 100644 out/webgpu/util/prng.js create mode 100644 out/webgpu/util/prng.js.map create mode 100644 out/webgpu/util/reinterpret.js create mode 100644 out/webgpu/util/reinterpret.js.map create mode 100644 out/webgpu/util/shader.js create mode 100644 out/webgpu/util/shader.js.map create mode 100644 out/webgpu/util/texture.js create mode 100644 out/webgpu/util/texture.js.map create mode 100644 out/webgpu/util/texture/base.js create mode 100644 out/webgpu/util/texture/base.js.map create mode 100644 out/webgpu/util/texture/color_space_conversions.spec.js create mode 100644 out/webgpu/util/texture/color_space_conversions.spec.js.map create mode 100644 out/webgpu/util/texture/data_generation.js create mode 100644 out/webgpu/util/texture/data_generation.js.map create mode 100644 out/webgpu/util/texture/layout.js create mode 100644 out/webgpu/util/texture/layout.js.map create mode 100644 out/webgpu/util/texture/subresource.js create mode 100644 out/webgpu/util/texture/subresource.js.map create mode 100644 out/webgpu/util/texture/texel_data.js create mode 100644 out/webgpu/util/texture/texel_data.js.map create mode 100644 out/webgpu/util/texture/texel_data.spec.js create mode 100644 out/webgpu/util/texture/texel_data.spec.js.map create mode 100644 out/webgpu/util/texture/texel_view.js create mode 100644 out/webgpu/util/texture/texel_view.js.map create mode 100644 out/webgpu/util/texture/texture_ok.js create mode 100644 out/webgpu/util/texture/texture_ok.js.map create mode 100644 out/webgpu/util/texture/texture_ok.spec.js create mode 100644 out/webgpu/util/texture/texture_ok.spec.js.map create mode 100644 out/webgpu/util/unions.js create mode 100644 out/webgpu/util/unions.js.map create mode 100644 out/webgpu/web_platform/canvas/configure.spec.js create mode 100644 out/webgpu/web_platform/canvas/configure.spec.js.map create mode 100644 out/webgpu/web_platform/canvas/context_creation.spec.js create mode 100644 out/webgpu/web_platform/canvas/context_creation.spec.js.map create mode 100644 out/webgpu/web_platform/canvas/getCurrentTexture.spec.js create mode 100644 out/webgpu/web_platform/canvas/getCurrentTexture.spec.js.map create mode 100644 out/webgpu/web_platform/canvas/getPreferredCanvasFormat.spec.js create mode 100644 out/webgpu/web_platform/canvas/getPreferredCanvasFormat.spec.js.map create mode 100644 out/webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.js create mode 100644 out/webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.js.map create mode 100644 out/webgpu/web_platform/copyToTexture/ImageBitmap.spec.js create mode 100644 out/webgpu/web_platform/copyToTexture/ImageBitmap.spec.js.map create mode 100644 out/webgpu/web_platform/copyToTexture/ImageData.spec.js create mode 100644 out/webgpu/web_platform/copyToTexture/ImageData.spec.js.map create mode 100644 out/webgpu/web_platform/copyToTexture/canvas.spec.js create mode 100644 out/webgpu/web_platform/copyToTexture/canvas.spec.js.map create mode 100644 out/webgpu/web_platform/copyToTexture/image.spec.js create mode 100644 out/webgpu/web_platform/copyToTexture/image.spec.js.map create mode 100644 out/webgpu/web_platform/copyToTexture/util.js create mode 100644 out/webgpu/web_platform/copyToTexture/util.js.map create mode 100644 out/webgpu/web_platform/copyToTexture/video.spec.js create mode 100644 out/webgpu/web_platform/copyToTexture/video.spec.js.map create mode 100644 out/webgpu/web_platform/external_texture/video.spec.js create mode 100644 out/webgpu/web_platform/external_texture/video.spec.js.map create mode 100644 out/webgpu/web_platform/reftests/canvas_clear.html.js create mode 100644 out/webgpu/web_platform/reftests/canvas_clear.html.js.map create mode 100644 out/webgpu/web_platform/reftests/canvas_clear.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_colorspace.html.js create mode 100644 out/webgpu/web_platform/reftests/canvas_colorspace.html.js.map create mode 100644 out/webgpu/web_platform/reftests/canvas_colorspace_bgra8unorm.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_colorspace_rgba16float.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_colorspace_rgba8unorm.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_complex.html.js create mode 100644 out/webgpu/web_platform/reftests/canvas_complex.html.js.map create mode 100644 out/webgpu/web_platform/reftests/canvas_complex_bgra8unorm_copy.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_complex_bgra8unorm_draw.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_complex_rgba16float_copy.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_complex_rgba16float_draw.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_complex_rgba16float_store.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_complex_rgba8unorm_copy.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_complex_rgba8unorm_draw.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_complex_rgba8unorm_store.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha.html.js create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha.html.js.map create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_bgra8unorm_opaque_copy.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_bgra8unorm_opaque_draw.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_bgra8unorm_premultiplied_copy.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_bgra8unorm_premultiplied_draw.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_rgba16float_opaque_copy.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_rgba16float_opaque_draw.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_rgba16float_premultiplied_copy.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_rgba16float_premultiplied_draw.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_rgba8unorm_opaque_copy.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_rgba8unorm_opaque_draw.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_rgba8unorm_premultiplied_copy.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_composite_alpha_rgba8unorm_premultiplied_draw.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_display_after_device_lost.html.js create mode 100644 out/webgpu/web_platform/reftests/canvas_display_after_device_lost.html.js.map create mode 100644 out/webgpu/web_platform/reftests/canvas_display_after_device_lost.https.html create mode 100644 out/webgpu/web_platform/reftests/canvas_image_rendering.html.js create mode 100644 out/webgpu/web_platform/reftests/canvas_image_rendering.html.js.map create mode 100644 out/webgpu/web_platform/reftests/canvas_image_rendering.https.html create mode 100644 out/webgpu/web_platform/reftests/create-pattern-data-url.js create mode 100644 out/webgpu/web_platform/reftests/create-pattern-data-url.js.map create mode 100644 out/webgpu/web_platform/reftests/delay_get_texture.html.js create mode 100644 out/webgpu/web_platform/reftests/delay_get_texture.html.js.map create mode 100644 out/webgpu/web_platform/reftests/delay_get_texture.https.html create mode 100644 out/webgpu/web_platform/reftests/gpu_ref_test.js create mode 100644 out/webgpu/web_platform/reftests/gpu_ref_test.js.map create mode 100644 out/webgpu/web_platform/reftests/ref/canvas_clear-ref.html create mode 100644 out/webgpu/web_platform/reftests/ref/canvas_colorspace-ref.html create mode 100644 out/webgpu/web_platform/reftests/ref/canvas_colorspace-ref.html.js create mode 100644 out/webgpu/web_platform/reftests/ref/canvas_colorspace-ref.html.js.map create mode 100644 out/webgpu/web_platform/reftests/ref/canvas_complex-ref.html create mode 100644 out/webgpu/web_platform/reftests/ref/canvas_composite_alpha_opaque-ref.html create mode 100644 out/webgpu/web_platform/reftests/ref/canvas_composite_alpha_premultiplied-ref.html create mode 100644 out/webgpu/web_platform/reftests/ref/canvas_display_after_device_lost-ref.html create mode 100644 out/webgpu/web_platform/reftests/ref/canvas_image_rendering-ref.html create mode 100644 out/webgpu/web_platform/reftests/ref/delay_get_texture-ref.html create mode 100644 out/webgpu/web_platform/reftests/ref/resize_observer-ref.html create mode 100644 out/webgpu/web_platform/reftests/resize_observer.html.js create mode 100644 out/webgpu/web_platform/reftests/resize_observer.html.js.map create mode 100644 out/webgpu/web_platform/reftests/resize_observer.https.html create mode 100644 out/webgpu/web_platform/util.js create mode 100644 out/webgpu/web_platform/util.js.map create mode 100644 out/webgpu/web_platform/worker/worker.js create mode 100644 out/webgpu/web_platform/worker/worker.js.map create mode 100644 out/webgpu/web_platform/worker/worker.spec.js create mode 100644 out/webgpu/web_platform/worker/worker.spec.js.map create mode 100644 out/webgpu/web_platform/worker/worker_launcher.js create mode 100644 out/webgpu/web_platform/worker/worker_launcher.js.map create mode 100644 out/webgpu/webworker/api/operation/adapter/info.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/adapter/requestAdapter.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/adapter/requestDevice.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/buffers/map.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/buffers/map_ArrayBuffer.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/buffers/map_detach.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/buffers/map_oom.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/buffers/threading.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/command_buffer/basic.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/command_buffer/clearBuffer.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/command_buffer/copyBufferToBuffer.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/command_buffer/copyTextureToTexture.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/command_buffer/image_copy.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/command_buffer/programmable/state_tracking.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/command_buffer/queries/occlusionQuery.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/command_buffer/render/dynamic_state.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/command_buffer/render/state_tracking.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/compute/basic.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/compute_pipeline/entry_point_name.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/compute_pipeline/overrides.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/device/lost.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/labels.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/memory_sync/buffer/multiple_buffers.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/memory_sync/buffer/single_buffer.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/memory_sync/texture/readonly_depth_stencil.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/memory_sync/texture/same_subresource.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/onSubmittedWorkDone.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/pipeline/default_layout.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/queue/writeBuffer.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/reflection.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/render_pass/clear_value.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/render_pass/resolve.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/render_pass/storeOp.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/render_pass/storeop2.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/render_pipeline/culling_tests.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/render_pipeline/overrides.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/render_pipeline/pipeline_output_targets.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/render_pipeline/primitive_topology.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/render_pipeline/sample_mask.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/render_pipeline/vertex_only_render_pipeline.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/rendering/3d_texture_slices.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/rendering/basic.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/rendering/color_target_state.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/rendering/depth.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/rendering/depth_bias.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/rendering/depth_clip_clamp.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/rendering/draw.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/rendering/indirect_draw.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/rendering/robust_access_index.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/rendering/stencil.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/resource_init/buffer.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/resource_init/texture_zero.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/sampling/anisotropy.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/sampling/filter_mode.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/sampling/lod_clamp.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/shader_module/compilation_info.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/storage_texture/read_only.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/storage_texture/read_write.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/texture_view/format_reinterpretation.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/texture_view/read.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/texture_view/write.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/uncapturederror.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/vertex_state/correctness.as_worker.js create mode 100644 out/webgpu/webworker/api/operation/vertex_state/index_format.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/buffer/create.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/buffer/destroy.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/buffer/mapping.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/buffer/threading.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/features/query_types.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/features/texture_formats.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxBindGroups.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxBindGroupsPlusVertexBuffers.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxBindingsPerBindGroup.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxBufferSize.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxColorAttachmentBytesPerSample.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxColorAttachments.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxComputeInvocationsPerWorkgroup.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxComputeWorkgroupSizeX.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxComputeWorkgroupSizeY.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxComputeWorkgroupSizeZ.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxComputeWorkgroupsPerDimension.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxDynamicStorageBuffersPerPipelineLayout.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxDynamicUniformBuffersPerPipelineLayout.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxInterStageShaderComponents.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxInterStageShaderVariables.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxSampledTexturesPerShaderStage.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxSamplersPerShaderStage.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxStorageBufferBindingSize.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxStorageBuffersPerShaderStage.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxStorageTexturesPerShaderStage.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxTextureArrayLayers.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxTextureDimension1D.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxTextureDimension2D.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxTextureDimension3D.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxUniformBufferBindingSize.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxUniformBuffersPerShaderStage.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxVertexAttributes.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxVertexBufferArrayStride.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/maxVertexBuffers.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/minStorageBufferOffsetAlignment.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/capability_checks/limits/minUniformBufferOffsetAlignment.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/compute_pipeline.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/createBindGroup.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/createBindGroupLayout.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/createPipelineLayout.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/createSampler.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/createTexture.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/createView.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/debugMarker.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/beginComputePass.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/beginRenderPass.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/clearBuffer.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/compute_pass.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/copyBufferToBuffer.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/copyTextureToTexture.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/debug.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/index_access.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/render/draw.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/render/dynamic_state.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/render/indirect_draw.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/render/setIndexBuffer.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/render/setPipeline.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/render/setVertexBuffer.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/render/state_tracking.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/render_pass.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/cmds/setBindGroup.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/createRenderBundleEncoder.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/encoder_open_state.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/encoder_state.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/programmable/pipeline_bind_group_compat.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/queries/begin_end.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/queries/general.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/queries/resolveQuerySet.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/encoding/render_bundle.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/error_scope.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/getBindGroupLayout.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/gpu_external_texture_expiration.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/image_copy/buffer_related.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/image_copy/buffer_texture_copies.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/image_copy/layout_related.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/image_copy/texture_related.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/layout_shader_compat.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/query_set/create.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/query_set/destroy.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/queue/buffer_mapped.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/queue/copyToTexture/CopyExternalImageToTexture.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/queue/destroyed/buffer.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/queue/destroyed/query_set.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/queue/destroyed/texture.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/queue/submit.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/queue/writeBuffer.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/queue/writeTexture.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pass/attachment_compatibility.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pass/render_pass_descriptor.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pass/resolve.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pipeline/depth_stencil_state.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pipeline/fragment_state.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pipeline/inter_stage.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pipeline/misc.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pipeline/multisample_state.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pipeline/overrides.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pipeline/primitive_state.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pipeline/resource_compatibility.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pipeline/shader_module.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/render_pipeline/vertex_state.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/resource_usages/buffer/in_pass_encoder.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/resource_usages/buffer/in_pass_misc.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/resource_usages/texture/in_pass_encoder.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/resource_usages/texture/in_render_common.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/resource_usages/texture/in_render_misc.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/shader_module/entry_point.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/shader_module/overrides.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/state/device_lost/destroy.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/texture/bgra8unorm_storage.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/texture/destroy.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/texture/float32_filterable.as_worker.js create mode 100644 out/webgpu/webworker/api/validation/texture/rg11b10ufloat_renderable.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/createBindGroup.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/createBindGroupLayout.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/encoding/cmds/copyTextureToBuffer.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/encoding/cmds/copyTextureToTexture.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/encoding/programmable/pipeline_bind_group_compat.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/render_pipeline/depth_stencil_state.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/render_pipeline/fragment_state.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/render_pipeline/unsupported_wgsl.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/render_pipeline/vertex_state.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/texture/createTexture.as_worker.js create mode 100644 out/webgpu/webworker/compat/api/validation/texture/cubeArray.as_worker.js create mode 100644 out/webgpu/webworker/examples.as_worker.js create mode 100644 out/webgpu/webworker/idl/constants/flags.as_worker.js create mode 100644 out/webgpu/webworker/idl/constructable.as_worker.js create mode 100644 out/webgpu/webworker/print_environment.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/access/array/index.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/access/matrix/index.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/access/structure/index.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/access/vector/components.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/access/vector/index.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_addition.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_comparison.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_division.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_matrix_addition.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_matrix_matrix_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_matrix_scalar_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_matrix_subtraction.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_matrix_vector_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_remainder.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/af_subtraction.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/ai_arithmetic.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/ai_comparison.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/bitwise.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/bitwise_shift.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/bool_logical.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_addition.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_comparison.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_division.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_matrix_addition.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_matrix_matrix_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_matrix_scalar_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_matrix_subtraction.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_matrix_vector_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_remainder.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f16_subtraction.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_addition.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_comparison.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_division.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_matrix_addition.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_matrix_matrix_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_matrix_scalar_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_matrix_subtraction.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_matrix_vector_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_multiplication.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_remainder.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/f32_subtraction.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/i32_arithmetic.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/i32_comparison.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/u32_arithmetic.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/binary/u32_comparison.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/abs.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/acos.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/acosh.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/all.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/any.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/arrayLength.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/asin.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/asinh.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atan.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atan2.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atanh.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicAdd.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicAnd.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicCompareExchangeWeak.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicExchange.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicLoad.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicMax.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicMin.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicOr.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicStore.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicSub.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/atomics/atomicXor.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/bitcast.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/ceil.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/clamp.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/cos.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/cosh.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/countLeadingZeros.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/countOneBits.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/countTrailingZeros.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/cross.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/degrees.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/determinant.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/distance.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/dot.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/dot4I8Packed.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/dot4U8Packed.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/dpdx.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/dpdxCoarse.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/dpdxFine.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/dpdy.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/dpdyCoarse.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/dpdyFine.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/exp.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/exp2.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/extractBits.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/faceForward.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/firstLeadingBit.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/firstTrailingBit.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/floor.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/fma.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/fract.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/frexp.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/fwidth.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/fwidthCoarse.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/fwidthFine.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/insertBits.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/inversesqrt.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/ldexp.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/length.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/log.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/log2.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/max.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/min.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/mix.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/modf.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/normalize.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/pack2x16float.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/pack2x16snorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/pack2x16unorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/pack4x8snorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/pack4x8unorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/pack4xI8.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/pack4xI8Clamp.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/pack4xU8.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/pack4xU8Clamp.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/pow.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/quantizeToF16.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/radians.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/reflect.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/refract.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/reverseBits.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/round.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/saturate.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/select.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/sign.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/sin.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/sinh.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/smoothstep.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/sqrt.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/step.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/storageBarrier.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/subgroupAdd.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/subgroupAll.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/subgroupAny.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/subgroupBallot.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/subgroupBroadcast.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/subgroupMul.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/tan.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/tanh.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureDimensions.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureGather.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureGatherCompare.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureLoad.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureNumLayers.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureNumLevels.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureNumSamples.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureSample.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureSampleBaseClampToEdge.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureSampleBias.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureSampleCompare.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureSampleCompareLevel.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureSampleGrad.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureSampleLevel.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/textureStore.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/transpose.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/trunc.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/unpack2x16float.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/unpack2x16snorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/unpack2x16unorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/unpack4x8snorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/unpack4x8unorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/unpack4xI8.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/unpack4xU8.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/workgroupBarrier.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/builtin/workgroupUniformLoad.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/call/user/ptr_params.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/constructor/non_zero.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/constructor/zero_value.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/precedence.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/address_of_and_indirection.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/af_arithmetic.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/af_assignment.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/ai_arithmetic.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/ai_assignment.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/ai_complement.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/bool_conversion.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/bool_logical.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/f16_arithmetic.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/f16_conversion.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/f32_arithmetic.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/f32_conversion.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/i32_arithmetic.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/i32_complement.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/i32_conversion.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/u32_complement.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/expression/unary/u32_conversion.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/float_parse.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/flow_control/call.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/flow_control/complex.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/flow_control/eval_order.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/flow_control/for.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/flow_control/if.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/flow_control/loop.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/flow_control/phony.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/flow_control/return.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/flow_control/switch.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/flow_control/while.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/limits.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/memory_layout.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/memory_model/adjacent.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/memory_model/atomicity.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/memory_model/barrier.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/memory_model/coherence.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/memory_model/texture_intra_invocation_coherence.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/memory_model/weak.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/padding.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/robust_access.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/robust_access_vertex.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/shader_io/compute_builtins.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/shader_io/fragment_builtins.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/shader_io/shared_structs.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/shader_io/user_io.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/shader_io/workgroup_size.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/shadow.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/stage.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/statement/compound.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/statement/discard.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/statement/increment_decrement.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/statement/phony.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/value_init.as_worker.js create mode 100644 out/webgpu/webworker/shader/execution/zero_init.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/const_assert/const_assert.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/decl/compound_statement.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/decl/const.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/decl/context_dependent_resolution.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/decl/let.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/decl/override.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/decl/var.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/access/array.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/access/matrix.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/access/structure.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/access/vector.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/binary/add_sub_mul.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/binary/and_or_xor.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/binary/bitwise_shift.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/binary/comparison.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/binary/div_rem.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/binary/parse.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/abs.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/acos.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/acosh.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/all.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/any.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/arrayLength.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/asin.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/asinh.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/atan.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/atan2.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/atanh.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/atomics.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/barriers.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/bitcast.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/ceil.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/clamp.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/cos.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/cosh.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/countLeadingZeros.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/countOneBits.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/countTrailingZeros.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/cross.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/degrees.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/derivatives.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/determinant.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/distance.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/dot.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/dot4I8Packed.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/dot4U8Packed.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/exp.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/exp2.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/extractBits.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/faceForward.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/firstLeadingBit.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/firstTrailingBit.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/floor.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/fma.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/fract.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/frexp.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/insertBits.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/inverseSqrt.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/ldexp.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/length.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/log.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/log2.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/max.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/min.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/mix.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/modf.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/normalize.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/pack2x16float.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/pack2x16snorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/pack2x16unorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/pack4x8snorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/pack4x8unorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/pack4xI8.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/pack4xI8Clamp.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/pack4xU8.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/pack4xU8Clamp.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/pow.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/quadBroadcast.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/quadSwap.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/quantizeToF16.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/radians.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/reflect.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/refract.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/reverseBits.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/round.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/saturate.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/select.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/sign.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/sin.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/sinh.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/smoothstep.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/sqrt.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/step.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/subgroupAdd.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/subgroupAnyAll.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/subgroupBallot.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/subgroupBitwise.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/subgroupBroadcast.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/subgroupBroadcastFirst.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/subgroupElect.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/subgroupMinMax.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/subgroupMul.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/subgroupShuffle.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/tan.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/tanh.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureDimensions.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureGather.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureGatherCompare.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureLoad.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureNumLayers.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureNumLevels.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureNumSamples.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureSample.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureSampleBaseClampToEdge.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureSampleBias.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureSampleCompare.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureSampleCompareLevel.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureSampleGrad.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureSampleLevel.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/textureStore.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/transpose.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/trunc.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/unpack2x16float.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/unpack2x16snorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/unpack2x16unorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/unpack4x8snorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/unpack4x8unorm.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/unpack4xI8.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/unpack4xU8.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/value_constructor.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/call/builtin/workgroupUniformLoad.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/early_evaluation.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/matrix/add_sub.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/matrix/and_or_xor.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/matrix/bitwise_shift.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/matrix/comparison.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/matrix/div_rem.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/matrix/mul.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/overload_resolution.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/precedence.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/unary/address_of_and_indirection.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/unary/arithmetic_negation.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/unary/bitwise_complement.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/expression/unary/logical_negation.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/extension/dual_source_blending.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/extension/pointer_composite_access.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/extension/readonly_and_readwrite_storage_textures.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/functions/alias_analysis.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/functions/restrictions.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/attribute.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/blankspace.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/comments.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/diagnostic.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/enable.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/identifiers.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/literal.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/must_use.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/requires.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/semicolon.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/shadow_builtins.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/parse/source.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/align.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/binding.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/builtins.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/entry_point.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/group.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/group_and_binding.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/id.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/interpolate.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/invariant.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/layout_constraints.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/locations.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/pipeline_stage.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/size.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/shader_io/workgroup_size.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/break.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/break_if.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/compound.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/const_assert.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/continue.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/continuing.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/discard.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/for.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/if.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/increment_decrement.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/loop.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/phony.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/return.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/statement_behavior.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/switch.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/statement/while.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/types/alias.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/types/array.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/types/atomics.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/types/enumerant.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/types/matrix.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/types/pointer.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/types/ref.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/types/struct.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/types/textures.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/types/vector.as_worker.js create mode 100644 out/webgpu/webworker/shader/validation/uniformity/uniformity.as_worker.js create mode 100644 out/webgpu/webworker/util/texture/color_space_conversions.as_worker.js create mode 100644 out/webgpu/webworker/util/texture/texel_data.as_worker.js create mode 100644 out/webgpu/webworker/util/texture/texture_ok.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/canvas/configure.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/canvas/context_creation.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/canvas/getCurrentTexture.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/canvas/getPreferredCanvasFormat.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/canvas/readbackFromWebGPUCanvas.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/copyToTexture/ImageBitmap.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/copyToTexture/ImageData.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/copyToTexture/canvas.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/copyToTexture/image.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/copyToTexture/video.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/external_texture/video.as_worker.js create mode 100644 out/webgpu/webworker/web_platform/worker/worker.as_worker.js diff --git a/out/common/framework/data_cache.js b/out/common/framework/data_cache.js new file mode 100644 index 000000000000..b8e267d3e971 --- /dev/null +++ b/out/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/out/common/framework/data_cache.js.map b/out/common/framework/data_cache.js.map new file mode 100644 index 000000000000..9bdb420bf920 --- /dev/null +++ b/out/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/out/common/framework/fixture.js b/out/common/framework/fixture.js new file mode 100644 index 000000000000..e3b4365964f4 --- /dev/null +++ b/out/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/out/common/framework/fixture.js.map b/out/common/framework/fixture.js.map new file mode 100644 index 000000000000..e85bfc0ef577 --- /dev/null +++ b/out/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/out/common/framework/metadata.js b/out/common/framework/metadata.js new file mode 100644 index 000000000000..fd33396dfc59 --- /dev/null +++ b/out/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/out/common/framework/metadata.js.map b/out/common/framework/metadata.js.map new file mode 100644 index 000000000000..16feb0f7e94f --- /dev/null +++ b/out/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/out/common/framework/params_builder.js b/out/common/framework/params_builder.js new file mode 100644 index 000000000000..b5407cdbdefa --- /dev/null +++ b/out/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/out/common/framework/params_builder.js.map b/out/common/framework/params_builder.js.map new file mode 100644 index 000000000000..e9c6c1574d58 --- /dev/null +++ b/out/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/out/common/framework/resources.js b/out/common/framework/resources.js new file mode 100644 index 000000000000..9c475604defa --- /dev/null +++ b/out/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()`, ``, `