[native][d3d12] Deduplicate samplers added to ResourceTable This allows us to add more than 2048 samplers to the table, as long as there are only 2048 unique samplers among them. - Added class SamplerIndexPool to manage the limited index pool, and sampler deduplication. - ResourceTable::ResourceDiff stores Refs rather than raw_ptrs to resources. This is because removed resources can become dangling pointers, which was exposed as part of this CL since it uses the Sampler pointer to deduplicating. - Added tests and improved others. - Opportunistically added checks on all table calls in ResourceTableTests. Bug: 499091557 Change-Id: I0b77366c5c7a2d19038ef3e86d932d125c93c392 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/305915 Commit-Queue: Antonio Maiorano <amaiorano@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Dawn is an open-source and cross-platform implementation of the 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)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.