vulkan: Implement coherent FramebufferFetch This adds FramebufferFetch support to the Vulkan backend when the VK_EXT_rasterization_order_attachment_access extension is available. The general approach is that when FramebufferFetch is enabled the main subpass will have one input attachment corresponding to each color attachment. If a pipeline uses the @color attribute a VkDescriptorSet with an input attachment for each color attachment is created/bound that Tint can sample them. Tint already has the logic to handle the color attribute and sample attachments. The rasterization order extension ensures that any previous draws in the same render pass are complete before pixel values are sampled. FramebufferFetchHelper encapsulates the logic to allocate VkDescriptorSets and VkDescriptorSetLayouts for this feature. Bug: 42241389 Change-Id: I369886c75577966663b181800a71c4d08f9541bc Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/290895 Commit-Queue: Kyle Charbonneau <kylechar@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Auto-Submit: Kyle Charbonneau <kylechar@google.com> Reviewed-by: Brandon Jones <bajones@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.