commit | 511eb80847afe6bded34ec491a38d5d78ba2d604 | [log] [tgz] |
---|---|---|
author | Jiawei Shao <jiawei.shao@intel.com> | Thu Aug 29 00:57:50 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Aug 29 00:57:50 2024 +0000 |
tree | e2296d848f64a0506f0523c7e942b2fa37abbfca | |
parent | 737d5d8e967be13c9e9f6a3201ce841eb9529082 [diff] |
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.