You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CF: Any thought to how to make sure implementations are actually compatible?
KN: Same problem with Emscripten bindings which are basically untested. We want to run Dawn tests against Emscripten, and once we do that hopefully they can also be built against wgpu-native
…
KN: CTS->Node->webgpu_cpp.h->webgpu.h->Dawn could also be retargeted to wgpu-native. Our node bindings have some gaps though.
RM: Can that test Emscripten?
KN: Probably not
CF: Compared with retargeting Dawn’s tests, would probably be a little less work to retarget wgpu’s tests. Not likely to happen anytime soon, but might be nice for wgpu-native
(discussion of monorepos and bidirectional sync between moz-central/wgpu or chromium/dawn)
FWIW the main way I use to detect mismatches between implementations is to use this webgpu.cmake file to include WebGPU to my project in a way that can easily switch between backends (more info):
# Configure a 1st build that uses wgpu-native in the folder 'build-wgpu'
cmake -B build-wgpu -DWEBGPU_BACKEND=WGPU
# Configure a 2nd build that uses wgpu-native in the folder 'build-dawn'
cmake -B build-dawn -DWEBGPU_BACKEND=DAWN
# Then build both projects and compare!
Note that the file webgpu.cmake from the main branch of my distribution repo is frozen to the latest version of the backends that uses the guide. There is a dev branch that is more up to date but also frozen, I could add a latest branch that always follows the latest version if needed.
Since we want webgpu.h implementations to be interoperable, we will need some kind of conformance testing.
The text was updated successfully, but these errors were encountered: