[DEFAULT]
subsuite = "webgpu"

# This file's tests should run when WebGPU is enabled by the default
# value of `dom.webgpu.enabled` in `modules/libpref/init/StaticPrefList.yaml`.
#
# These conditions should be the same as the `skip-if` conditions in
# `mochitest-no-pref.html`, except for `verify`.
run-if = [
  "early_beta_or_earlier",
  "os == 'mac' && arch == 'aarch64'",
  "os == 'win'",
]

prefs = [
  "dom.webgpu.service-workers.enabled=true",
  # Ignoring the blocklist is necessary to run tests in CI on old Mesa versions
  # (https://bugzilla.mozilla.org/show_bug.cgi?id=1985348).
  "gfx.webgpu.ignore-blocklist=true",
]
support-files = [
  "worker_wrapper.js",
  "test_basic_canvas.worker.js",
  "test_submit_render_empty.worker.js",
]

# WebGPU is only available in secure contexts.
#
# See spec WebIDL, like this: https://www.w3.org/TR/webgpu/#navigatorgpu
scheme = "https"

["test_adapter_enabled.html"]

["test_basic_canvas.worker.html"]

["test_buffer_mapping.html"]

["test_buffer_mapping_invalid_device.html"]

["test_buffer_mapping_overlapping_views.html"]

["test_canvas_readback_before_draw.html"]

["test_command_buffer_creation.html"]

["test_compilation_message_pos.html"]

["test_context_configure.html"]

["test_core_features_and_limits.html"]

["test_device_creation.html"]

["test_device_lost.html"]

["test_double_encoder_finish.html"]

["test_enabled.html"]

["test_encoder_cycle_collection.html"]

["test_error_scope.html"]

["test_insecure_context.html"]
# This test checks that WebGPU is not available in insecure contexts.
scheme = "http"

["test_navigator_gpu_not_replaceable.html"]

["test_queue_copyExternalImageToTexture.html"]

["test_queue_write.html"]

["test_queue_write_invalid_device.html"]

["test_rfp_clamp_limits_off.html"]

["test_set_bind_group_null.html"]

["test_shared_array_buffer.html"]

["test_submit_compute_empty.html"]

["test_submit_render_empty.html"]

["test_submit_render_empty.worker.html"]

["test_submit_render_multiple.html"]
