fune/dom/webgpu
Erich Gubler 59905b6142 Bug 1720941, part 1: build(ci): integrate WebGPU CTS into CI r=webgpu-reviewers,taskgraph-reviewers,jmaher,jimb
Vendor in WebGPU CTS so that we can run it against our implementation of WebGPU. This patch includes:

1. Some linting configuration tweaks, to silence issues that weren't straightforward to fix in CTS upstream.
2. Some WPT runner configuration to enable preferences, and skip MacOS testing altogether (since it's not targeted by our current work).
3. A new Rust binary crate that, when run from a development environment:
    1. Creates a vendored copy of WebGPU CTS in `<gecko>/dom/webgpu/tests/cts/checkout/`.
    2. Generates private Web Platform Tests (see also `<gecko>/testing/web-platform/docs/index.rst`). To do this, we:
        1. Use upstream test generation via `npm` scripts, which creates a single `cts.https.html` file with thousands of variants.
        2. Chunk the `cts.https.html` file into parts that Taskcluster can distribute without timing out individual jobs. IMO, this is the most likely part of these changes to need further iteration, because:
            1. We currently naively divide tests by number of variant, and have made no effort to empirically prove that we're dividing execution time of chunks.
            2. There is currently no stability in the distribution of tests per chunk. Test variants are essentially a flattened list of the tree structure used to organize tests. Adding a few tests that end up being placed in the middle of the list can cause the chunk with new tests _and all subsequent chunks_ to have their contents changed, which will probably cause a disproportionate number of line changes to review.:
        3. Fix `script` tag(s) so they actually work with the WPT test runner for private tests (viz., in the `testing/web-platform/mozilla` directory).

The output of the new vendoring binary is designed make the above steps transparent. N.B. that no actual vendoring in of files has happened yet; the next patch will add the results of running this script.

Differential Revision: https://phabricator.services.mozilla.com/D169951
2023-03-22 14:03:50 +00:00
..
ipc
mochitest Bug 1818918 - Disable test_submit_render_empty.worker.html after bug 1808820 landed and mark the other tests failing on mac. r=saschanaz 2023-02-28 06:32:25 +00:00
tests/cts Bug 1720941, part 1: build(ci): integrate WebGPU CTS into CI r=webgpu-reviewers,taskgraph-reviewers,jmaher,jimb 2023-03-22 14:03:50 +00:00
Adapter.cpp
Adapter.h
BindGroup.cpp
BindGroup.h
BindGroupLayout.cpp
BindGroupLayout.h
Buffer.cpp
Buffer.h
CanvasContext.cpp Bug 1812932 - Add size outvar to GetImageBuffer. r=gfx-reviewers,bradwerth 2023-03-21 18:05:09 +00:00
CanvasContext.h Bug 1812932 - Add size outvar to GetImageBuffer. r=gfx-reviewers,bradwerth 2023-03-21 18:05:09 +00:00
CommandBuffer.cpp
CommandBuffer.h
CommandEncoder.cpp
CommandEncoder.h
CompilationInfo.cpp
CompilationInfo.h
CompilationMessage.cpp
CompilationMessage.h
ComputePassEncoder.cpp
ComputePassEncoder.h
ComputePipeline.cpp
ComputePipeline.h
Device.cpp
Device.h
DeviceLostInfo.cpp
DeviceLostInfo.h
Instance.cpp
Instance.h
moz.build
ObjectModel.cpp
ObjectModel.h
OutOfMemoryError.cpp
OutOfMemoryError.h
PipelineLayout.cpp
PipelineLayout.h
QuerySet.cpp
QuerySet.h
Queue.cpp
Queue.h
RenderBundle.cpp
RenderBundle.h
RenderBundleEncoder.cpp
RenderBundleEncoder.h
RenderPassEncoder.cpp
RenderPassEncoder.h
RenderPipeline.cpp
RenderPipeline.h
Sampler.cpp
Sampler.h
ShaderModule.cpp
ShaderModule.h
SupportedFeatures.cpp
SupportedFeatures.h
SupportedLimits.cpp
SupportedLimits.h
Texture.cpp
Texture.h
TextureView.cpp
TextureView.h
ValidationError.cpp
ValidationError.h