commit | 6e852f8fa88ca2e9e9bc3500552d7bc547c49caa | [log] [tgz] |
---|---|---|
author | Corentin Wallez <cwallez@chromium.org> | Wed Sep 20 13:34:19 2023 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Sep 20 13:34:19 2023 +0000 |
tree | 3631521eef96b8338688e0d3888398bcd21f94cc | |
parent | 21acc62bb268c959b7dfbe8fc308b4ec34f5ad87 [diff] |
vulkan::Device: Don't rely on the queue during DestroyImpl It was only used to get the completed serial, which is basically kMaxExecutionSerial, so just use that. DestroyImpl's full logic might need to run without a queue if the following happens: - DeviceVk::Initialize runs partially, enough to have a VkDevice, and fails before the call to DeviceBase::Initialize. - DeviceBase::Initialize IS NOT called and so mQueue IS NOT set. - DeviceBase::~DeviceBase calls DeviceBase::Destroy which calls Device::DestroyImpl. - Device::DestroyImpl sees there is a VkDevice so full deinitialization is needed, and that used to call GetQueue(), which this CL fixes. Bug: chromium:1484300 Change-Id: I66ae8a2c7eeccffb4212323ef21b1670efcc762f Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/152404 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Loko Kung <lokokung@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)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.