commit | 7cdaffed00cc5a7d9dd9af639e06af92438cb1be | [log] [tgz] |
---|---|---|
author | Ben Clayton <bclayton@google.com> | Wed May 08 16:24:07 2024 +0000 |
committer | Ben Clayton <bclayton@google.com> | Wed May 08 16:24:07 2024 +0000 |
tree | 6ee2876873e9d60d9995d97ed6e82d6836ff4434 | |
parent | a1056518c9ada17c7fcd0eb9d42d8ed03680a0b3 [diff] |
[tint][ice] Make the InternalCompilerErrors abort ICEs are no longer tied to the diagnostic system, and it was assumed that once you ICE the application will terminate. This assumption was not guaranteed and the callers of an ICE would attempt to continue execution despite the compiler being in a broken state. Attempting to continue execution after an ICE is UB and should be treated as a security issue. Instead, print the error message and abort(). This will crash the GPU process in Chrome, but that is likely to happen anyway. Add [[noreturn]] to the InternalCompilerError destructor, and remove all unreachable statements following a TINT_ICE(), TINT_UNREACHABLE(), TINT_UNIMPLEMENTED(). This reduces the stripped tint executable on Linux by ~130KB (1.5%) Remove TINT_ASSERT_OR_RETURN() and TINT_ASSERT_OR_RETURN_VALUE(). Replace both with TINT_ASSERT() as the return is now unreachable. Replace the use of EXPECT_FATAL_FAILURE() with EXPECT_DEATH(). Change-Id: Iacbd16c12484610d72aee9850e93742c6bae1bf3 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/186623 Reviewed-by: James Price <jrprice@google.com>
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.