commit | cebd6052eddd474ddf2d34aa5b883bda436073e7 | [log] [tgz] |
---|---|---|
author | Brandon Jones <bajones@chromium.org> | Wed Oct 25 01:41:59 2023 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Oct 25 01:41:59 2023 +0000 |
tree | f97f2d81eacb025385165206913162efb37a43b2 | |
parent | e542c349d58a443b323ac97843739c8264030df3 [diff] |
Move state tracking for command buffer splits The VulkanSplitCommandBufferOnComputePassAfterRenderPass workaround tracks when a known buggy case occurs on Qualcomm devices and splits the commands buffer in two while recording to force a needed synchronization. However, Dawn combines separate command buffers sent as part of the same submit as an optimization, and the necessary state was not tracked across those combined command buffers. By moving the state up to the CommandRecordingContext we ensure that command buffers can be split up appropriately even when the commands that trigger that condition occured in separate Dawn-level command buffers. Bug: 1896 Change-Id: Ifed5ecaa91b6d683cd4332cc534af10aecd217a1 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/157921 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com> Auto-Submit: Brandon Jones <bajones@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org>
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.