Range Analysis: Compute range of built-in call `max` This patch computes the range of a core built-in call `max`. - When both `a` and `b` are constant values, the range of `max(a, b)` will also be a constant value. - When the range of `a` is [min1, max1] and the range of `b` is [min2, max2], the range of `max(a, b)` is `[max(min1, min2), max(max1, max2)]`. - The ranges that represent the whole range of `i32` or `u32` are treated as invalid ones (e.g. max(a, i32::kLowestValue)). Bug: 348701956 Test: tint_unittests Change-Id: Id2c650b289da7221744c28ca92ca92d8c0a84b6b Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/253576 Commit-Queue: Jiawei Shao <jiawei.shao@intel.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.