commit | 26934d9503af96b2ae3579a0384afdca45fcf816 | [log] [tgz] |
---|---|---|
author | Yunchao He <yunchao.he@intel.com> | Thu May 19 16:35:09 2022 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu May 19 16:35:09 2022 +0000 |
tree | 1605b4c8e5c757b20292887efcd9595400136cb1 | |
parent | a98d774cd6ea792abc414bbbdfd940aaaa4ffa88 [diff] |
D3D12: set correct data layout of dst texture for B2T copy When we initialize the dst texture before T2T copy, we clear a buffer with zeros and do a B2T copy in order to initialize the texture. The T2T copy may only copy a subrect of the texture's subresource, so does the initialization via B2T copy. As a result, the buffer can store compact zeros for that exact subrect and then do an exact B2T copy to initialize that area. However, the current B2T copy uses incorrect data layout for the buffer, making some part of the dst texture uninitialized, and even leading to D3D12 runtime validation errors sometimes if it goes beyond the boundary of staging buffer pool (4MB). This change fixes this bug via using the exact height of copy area to replace dataLayout.rowsPerImage (unnecessary padding rows included) for the height of each depth image for 3D textures. Bug: dawn:1288 Change-Id: I303e0d363039a6a87e352a8445898031e673cf4e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90780 Commit-Queue: Yunchao He <yunchao.he@intel.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org>
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.