[native][d3d12] Move LinAlg support queries to GatherDeviceInfo And store the results on D3D12DeviceInfo so that we only do this once on PhysicalDevice creation, rather than on every EnumerateSubgroupMatrixConfigs call. In PhysicalDevice::EnumerateSubgroupMatrixConfigs, we now simply iterate over these results, filtering and populating the SubgroupMatrixConfigs. This mimics what we do in the Vulkan backend. Also make sure d3d12.h is included first, before other d3d12 headers that may include it, so that the one from the Agility SDK include directory is used. In this case, d3d11on12.h contains '#include "d3d12.h"' with double-quotes, so it includes the one next to it in the Windows SDK directory, since d3d11on12.h is not in the Agility SDK includes. By swapping the order, the correct d3d12.h from Agility gets included, then d3d11on12.h's include uses that one. Bug: 525818824 Change-Id: Ifa2dd4043f4831d7934d58d251dc0d4deea83a80 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/320275 Reviewed-by: James Price <jrprice@google.com> Commit-Queue: Antonio Maiorano <amaiorano@google.com> 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.