Tint: Support `clip_distances` on HLSL This patch implements the translation of built-in value `clip_distances` on HLSL. We should take different ways to do the translation according to the array length of `clip_distances`: - Array length is 1: float clipDistance : SV_ClipDistance0 - Array length is 2 to 4: floatN clipDistance : SV_ClipDistance0 - Array length is 5: float4 clipDistance : SV_ClipDistance0 float clipDistance1 : SV_ClipDistance1 - Array length is 6 to 8: float4 clipDistance : SV_ClipDistance0 floatN clipDistance1 : SV_ClipDistance1 To correctly translate in HLSL backend we have to use `core::BuiltinValue::kClipDistances` as `SV_ClipDistance0` and the internal attribute `HLSLClipDistance1` as `SV_ClipDistance1`. Bug: chromium:358408571 Change-Id: I5d0843cc846190c60a028e48fb8e13ae9a88a5bb Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/203775 Reviewed-by: James Price <jrprice@google.com> Commit-Queue: Jiawei Shao <jiawei.shao@intel.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.