Split buffer<->texture copies to work around Intel row-pitch limitation Intel GPUs store a buffer<->texture copy's bytes per row in an 18-bit hardware register (a row pitch of 262,144 bytes) and texels per row in a separate 14-bit hardware register (a row width of 16,384 texels), so a larger bytesPerRow silently overflows and corrupts the copy. Add a workaround for Intel GPUs that splits affected buffer-to-texture and texture-to-buffer copies on D3D11/D3D12/Vulkan into one command per row so the oversized bytes and texels is never handed to the driver. Bug: 481934465 Change-Id: Ib3e25be11f03d3f55205a3803dbbdb1817b9f7cb Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/336315 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Loko Kung <lokokung@google.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.