Reland "[dawn][native] Remove error injector symbols when not enabled" This reverts commit dae002bc90363c7ca04bc6bcc6cad4e76c724277. Reason for revert: Fixed fuzzer build. The easiest way to reproduce this is with these GN args: use_libfuzzer = true dawn_enable_error_injection = false I'm not sure exactly why the settings in the Chrome build (see link below) built the fuzzers without dawn_enable_error_injection, though. Also incorporates Ryan's CMake fix. Note this enables building VulkanErrorInjectorTests with CMake (the rule for which referenced the undefined variable) which previously was never possible. Original change's description: > Revert "[dawn][native] Remove error injector symbols when not enabled" > > This reverts commit 58b146a9831a06e04c0d3d7a1194f227c56b9f08. > > Reason for revert: breaks Dawn wire server fuzzer on roll into Chromium > > Failure Link: https://ci.chromium.org/ui/p/chromium/builders/try/linux-rel/2894192/overview > > Original change's description: > > [dawn][native] Remove error injector symbols when not enabled > > > > EnableErrorInjector() and friends were confusingly allowed even when > > DAWN_ENABLE_ERROR_INJECTION was not enabled. Fix that by simply not > > defining them in that case. > > > > Bug: 553115993 > > Change-Id: If725259e5cff89122ae4cf7e9682a4158830722e > > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/341095 > > Auto-Submit: Kai Ninomiya <kainino@chromium.org> > > Reviewed-by: Brandon Jones <bajones@chromium.org> > > Commit-Queue: Brandon Jones <bajones@chromium.org> > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: 553115993 > Change-Id: I189e943cdb17f653770137a6866b863ed1952fe0 > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/341695 > Reviewed-by: dan sinclair <dsinclair@chromium.org> > Commit-Queue: dan sinclair <dsinclair@chromium.org> > Reviewed-by: Ryan Harrison <rharrison@chromium.org> > Commit-Queue: James Price <jrprice@google.com> > Auto-Submit: James Price <jrprice@google.com> Bug: 553115993 Change-Id: Id26f39adfa655e8f5a34e35535a7b3a1a6e3a2b0 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/342335 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Commit-Queue: 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.