commit | 58b47f4a346b4060be473c34287a0edc3caef9b4 | [log] [tgz] |
---|---|---|
author | Antonio Maiorano <amaiorano@google.com> | Fri Oct 27 21:41:52 2023 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Oct 27 21:41:52 2023 +0000 |
tree | 5d8442fd33ad193e44edb76f101f848db926fbea | |
parent | e07315c27496c92a20e679626fbcde12eedc861c [diff] |
d3d12: Fix flaky failures when clearing RTV RenderPassBuilder's fixed-size arrays were uninitialized, so would contain random values that were not fully populated during SetupRenderPass. In particular, if a null view's target descriptor's BeginningAccess.Type would randomly be initialized to D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR, we would end up calling ClearRenderTargetView on it, which is not allowed. Validation complained about this, and the driver would crash. With random values, this field was likely an invalid enum value, which validation does not catch, but does not cause any issue in the driver. We fix this by making sure to set the beginning and ending access type to "no access" for null views. We also value-initialize the three fixed-size arrays so that we get consistent behavior. Bug: dawn:2190 Bug: dawn:2191 Change-Id: I12e57bc8846bb7b7293c9bc60f40f2955a3bd47f Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/158203 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Dawn is an open-source and cross-platform implementation of the work-in-progress 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)
(TODO)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.