commit | 4b9ebb146567404e616ac68cfbb46e7798eff4d3 | [log] [tgz] |
---|---|---|
author | Jiawei Shao <jiawei.shao@intel.com> | Sat Aug 06 04:36:08 2022 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Sat Aug 06 04:36:08 2022 +0000 |
tree | ab4d26445f7fafceddeea4f50c73e96815e16821 | |
parent | 40647c72afeb466d56e665540f47acee6ef8d9da [diff] |
D3D12: Workaround buffer-texture copy with depth-stencil on some platforms On the D3D12 platforms that don't support programmable sample positions, the source box specifying a portion of the depth texture must all be 0, or an error and a device lost will occur. This patch adds a workaround for this issue by splitting the original buffer-texture copy into two copies: 1. copy from the source resource into a temporary buffer at offset 0 2. copy from the temporary buffer at offset 0 into the destination resource. In the next patch we will fix the corresponding issue in Queue.WriteTexture. Note that on newer version of D3D12 the restrictions about D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT and D3D12_TEXTURE_DATA_PITCH_ALIGNMENT have all been lifted out, so the workaround added in this patch will also be disabled on the platforms that don't support programmable sample positions but the restrictions about D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT and D3D12_TEXTURE_DATA_PITCH_ALIGNMENT are no longer available. Bug: dawn:727 Test: dawn_end2end_test Change-Id: I9f1d848a0eeac5bd52c9219af6992a2821307746 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/97182 Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> Reviewed-by: Austin Eng <enga@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com>
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)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.