d3d12: Validate subgroup matrix configurations in HLSL D3D shader compilation did not validate subgroup matrix usage against the configurations advertised by the adapter. Unsupported type and shape combinations could therefore reach backend pipeline creation. The Vulkan shader compilation path already validates subgroup matrix metadata against the adapter configuration list. Match that behavior for D3D by having the HLSL writer return subgroup matrix metadata, passing the adapter configuration list through the compilation request, and validating the metadata before compiling HLSL. Including the configurations in the request also keeps shader cache entries specific to device support. Add end-to-end coverage for each configuration advertised by the adapter, plus copies with an unadvertised M dimension. Pipeline creation must succeed for advertised configurations and fail for the modified configurations. Bug: 507459351 Change-Id: Ic7fa4069d62e78867cd69b0231183b08a901d8e0 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/335895 Commit-Queue: Yang Gu <ygu@microsoft.com> Reviewed-by: Antonio Maiorano <amaiorano@google.com> Reviewed-by: James Price <jrprice@google.com>
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.