Automatically run webgpu tests if enable_experimental_webgpu is enabled#1569
Automatically run webgpu tests if enable_experimental_webgpu is enabled#1569
Conversation
|
@edevil Looks like all tests are failing on Linux and one is failing on macOS. I was hoping these would work out of the box since all tests are passing locally on mac... If you can take a look at the Linux issues we can probably enable all/some of these. |
|
I haven't looked at the mac one yet, but the linux ones fail because we couldn't find a compatible Vulkan driver installed in the system: Are there any CI Linux images that have a working Vulkan installation? In my Linux dev VM I can use a software-only rasterizer via LLVMpipe and mesa-vulkan-drivers. |
Looks like this is possible, but perhaps prohibitively slow: actions/runner-images#2998 |
|
The mac failure is a bit weird. We render an image to a texture, copy it to a buffer, hash the content and we compare the hash value with a known good value previously calculated in Chrome. The hash value is correct in my Linux VM (vulkan), which uses LLVMpipe, and in my Mac (metal) laptop that uses the M2 chip. It also seems to be calculated correctly in the windows (D3D) CI. But in the MacOS (metal) CI it is using a virtual GPU "Apple Paravirtual device" and seems to calculate the wrong value. I'll have to see if I can somehow simulate that environment in my laptop but whatever it is should take some time to debug. |
Do you mean slow to install the tools, or slow to run the gpu workload? Because this test workload is very simple, it should run fast even on emulated GPUs. |
dom96
left a comment
There was a problem hiding this comment.
Nice! lgtm but based on the discussion we probably want to update this to only run on Windows for now
2575285 to
f771490
Compare
|
I ended up amending the PR to use the off-by-default tag – this way it is easy to run the tests individually or as a whole while they won't run by default. Unfortunately, there was no elegant way to make this run only on Windows CI and still make it easy to run locally on macOS/Windows. If there's more cases like these where we have tests that can't/shouldn't run in CI but work well locally we can revisit this. |
The WebGPU tests were previously not included in the bazel build system. With this change we have 5 more tests that will run on CI and achieve better code coverage.