4b9ebb1465
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 | ||
tint | ||
Placeholder.cpp |