[d3d11] Spanify interleaved copies in WriteDepthStencilInternal and ReadStaging - Factor out `CopyInterleavedTexels2D` to unify the strided depth/stencil aspect copy loops in `WriteDepthStencilInternal` and `ReadStaging`. - Use `stagingTexture->GetMappedData()` in `WriteDepthStencilInternal`. - Allocate a full-slice buffer (`bytesPerRow * rowsPerImage`) in `ReadStaging` with `dstRowPitch = bytesPerRow`, while invoking `onRowEnd` after each row to stream data while cache lines are hot. - Add hoisted bounds checks (`DAWN_CHECK`) and stride/pitch assertions (`DAWN_ASSERT`) prior to loop execution to guarantee memory safety. - Enclose the performance-sensitive inner copy loops in a scoped `DAWN_UNSAFE_BUFFERS` block with an explicit `SAFETY` rationale. - Eliminate all remaining `DAWN_UNSAFE_TODO` macros across `src/dawn/native/d3d11/TextureD3D11.cpp` (12 total). Bug: chromium:549088024 Change-Id: Ia62655589493d596ad69444659b0a61dbd00a314 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/339835 Commit-Queue: Antonio Maiorano <amaiorano@google.com> Reviewed-by: Kai Ninomiya <kainino@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.