[cmake] Disable vptr sanitizer on old Clang The vptr sanitizer is enabled by -fsanitize=undefined only on older versions of Clang. We want to enable it (GN enables it along with is_ubsan), but tint_unittests fails with the version of Clang on our Linux CMake bots (19.0.0) which seems to be a buggy old version, as the error it produces seems to be incorrect (see bug). tint_unittests passes locally on my machine with Clang 19.1.7, so gate the vptr sanitizer on that version. Verified locally that the check controls the flag as expected. Whenever the bots' Clang gets upgraded, the sanitizer will turn back on automatically. Or, using a hermetic toolchain (like HermeticXcode.cmake but for Linux) would also fix it, but it's difficult to set up. Additionally: - Fix one more missing RTTI flag control. - Document why we have the float-divide-by-zero sanitizer, since GN doesn't. Fixed: 452389542 Bug: b:434977307 Cq-Include-Trybots: luci.dawn.try:cmake-linux-clang-dbg-x64-ubsan,cmake-linux-clang-rel-x64-ubsan Change-Id: Ifcdbe04a3588db3543ac269d53471ce561551b20 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/267317 Commit-Queue: Kai Ninomiya <kainino@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Auto-Submit: Kai Ninomiya <kainino@chromium.org>
Dawn is an open-source and cross-platform implementation of the WebGPU standard. More precisely it implements webgpu.h that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h version that Dawn implements.webgpu.h.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.