[M150] [vulkan] Reset the recording context in Queue::DestroyImpl. Original change's description: > [vulkan] Reset the recording context in Queue::DestroyImpl. > > - Prior to this change, Queue::DestroyImpl freed the current recording > context's command pool and buffer, but left the dangling handles in > mRecordingContext. If the recording context was used after the > device was destroyed (e.g. by SharedTextureMemory::EndAccess > performing an export transition submit), commands would be recorded > into a freed VkCommandBuffer, causing a heap use-after-free in the > driver. > - This change resets mRecordingContext after freeing its resources so > that no dangling handles survive destruction. Any later use of the > recording context sees null handles instead of freed objects. > > Bug: 577377985 > Change-Id: I5440510d199218309d2da4ef9fcdf50529610fe9 > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/354676 > Commit-Queue: Loko Kung <lokokung@google.com> > Reviewed-by: Corentin Wallez <cwallez@chromium.org> (cherry picked from commit e8595cc5ee53c5105fed064909d42d543660a4eb) Bug: 582505375,577377985 Change-Id: I5440510d199218309d2da4ef9fcdf50529610fe9 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/356875 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.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.