commit | 1f25ea94bbb76c196f1bb3d143f46722f1c1f42e | [log] [tgz] |
---|---|---|
author | Jiawei Shao <jiawei.shao@intel.com> | Fri Dec 10 02:05:28 2021 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Dec 10 02:05:28 2021 +0000 |
tree | 92e7aff1912c7950f16374e1b29d9951a5450140 | |
parent | 6ad6278bc581844e20f92c17957702a03552e1cb [diff] |
dawn_wire: Directly use the data in deserialized buffer when possible This patch tries to use the data directly in deserialized buffer when the data is "data-only" and doesn't affect the control flow instead of allocating and copying into a temporary buffer. Due to the protection of TOCTOU attacks, currently we only set "wire_is_data_only" on the parameter "data" in Queue.WriteBuffer() and Queue.WriteTexture(). With this patch, the performance of dawn_perf_tests BufferUploadPerf.Run/*_WriteBuffer_BufferSize_* with "-w" will be greatly improved (~20%) when the upload buffer size is greater than 1MB. BUG=chromium:1266727 Change-Id: I7a9d54c9b505975235ee37aa72ee97f082ad3aa3 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/72063 Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@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 the webgpu.h docs)
(TODO)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.