commit | e25ee25e774366f8c178ee5a9cb29def31ce9611 | [log] [tgz] |
---|---|---|
author | Bryan Bernhart <bryan.bernhart@intel.com> | Mon May 18 23:25:31 2020 +0000 |
committer | Commit Bot service account <commit-bot@chromium.org> | Mon May 18 23:25:31 2020 +0000 |
tree | d0a0cc017dbfa1278cf83668476cba83a51b8813 | |
parent | 275a95c1dc64638ef4eddc8df8eab66efa516bea [diff] |
D3D12: De-duplicate sampler heap allocations. Allows bindgroups that use the same samplers to share a descriptor heap allocation. This is particularly important for sampler heaps which incur expensive pipeline flushes due to the smaller size requiring more frequent switches. The device dolls out entries to a sampler heap allocation cache. When the BindGroup is created, it does a lookup and refs the allocation. This ensures the cache does not grow unbounded or needlessly store unused entires. This change is a follow-up of de-coupling heaps. BUG=dawn:155 Change-Id: I3ab6f1bdb13a40905cb990cd7a2139e73da30303 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/20783 Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com> Reviewed-by: Corentin Wallez <cwallez@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 webgpu.h docs)
(TODO)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.