commit | 182af0a4c2c22716d43c6a18ceac1a404ce92d64 | [log] [tgz] |
---|---|---|
author | Yunchao He <yunchao.he@intel.com> | Tue Jun 09 16:18:04 2020 +0000 |
committer | Commit Bot service account <commit-bot@chromium.org> | Tue Jun 09 16:18:04 2020 +0000 |
tree | 895fb6a23856a0121cf3e3f077913caa8dc1db6d | |
parent | c8000bb02bbda7c9f1c49e34be39df497d8c206c [diff] |
Implement texture subresource on D3D12 When we use a texture for different purpose, we need to add proper barrier(s) in order to make it ready. Previously, the barrier is done per entire texture. So it is invalid to sample/read/copy from one subresource (say a mip/array slice) and render/write/copy to another subresource of the same texture at the same time. With this patch, barrier is set per each texture subresource. So it is valid to use a subresource as source and use another subresource of the same texture as destination at the same time. However, planar slices like depth/stencil planes are not handled gracefully. This is a TODO task. Another task is to combine barriers into one if they can be combined. I will do this optimization in another patch in near future. Bug: dawn:157 Change-Id: I783a76cb88fcdffb60c307ddfb89d50f1583201a Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/22101 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Yunchao He <yunchao.he@intel.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 webgpu.h docs)
(TODO)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.