Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wgsl: Change *Unbounded[Interval|Vector|...] to *Infinite[Interval|Vector|...] #3208

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
180 changes: 90 additions & 90 deletions src/resources/cache/hashes.json
Original file line number Diff line number Diff line change
@@ -1,103 +1,103 @@
{
"webgpu/shader/execution/binary/af_addition.bin": "a9c5cce6",
"webgpu/shader/execution/binary/af_addition.bin": "c2d3a00e",
"webgpu/shader/execution/binary/af_logical.bin": "9ec85311",
"webgpu/shader/execution/binary/af_division.bin": "8d23c845",
"webgpu/shader/execution/binary/af_matrix_addition.bin": "63a6a1ac",
"webgpu/shader/execution/binary/af_matrix_subtraction.bin": "120cfedf",
"webgpu/shader/execution/binary/af_multiplication.bin": "94eed575",
"webgpu/shader/execution/binary/af_remainder.bin": "7d4767a5",
"webgpu/shader/execution/binary/af_subtraction.bin": "5a18e960",
"webgpu/shader/execution/binary/f16_addition.bin": "7a67e7b1",
"webgpu/shader/execution/binary/af_division.bin": "34347ac6",
"webgpu/shader/execution/binary/af_matrix_addition.bin": "332d0b0a",
"webgpu/shader/execution/binary/af_matrix_subtraction.bin": "5c7de029",
"webgpu/shader/execution/binary/af_multiplication.bin": "ae1991b0",
"webgpu/shader/execution/binary/af_remainder.bin": "533abc6e",
"webgpu/shader/execution/binary/af_subtraction.bin": "32b288f9",
"webgpu/shader/execution/binary/f16_addition.bin": "a9cb48de",
"webgpu/shader/execution/binary/f16_logical.bin": "1edd08ec",
"webgpu/shader/execution/binary/f16_division.bin": "127a1260",
"webgpu/shader/execution/binary/f16_matrix_addition.bin": "f3a630df",
"webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin": "e396f4b8",
"webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin": "bfbed0d7",
"webgpu/shader/execution/binary/f16_matrix_subtraction.bin": "50d9bac9",
"webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin": "9b0ddaa2",
"webgpu/shader/execution/binary/f16_multiplication.bin": "6b29214d",
"webgpu/shader/execution/binary/f16_remainder.bin": "c45c8326",
"webgpu/shader/execution/binary/f16_subtraction.bin": "44437355",
"webgpu/shader/execution/binary/f32_addition.bin": "ef227af",
"webgpu/shader/execution/binary/f16_division.bin": "ae9080c6",
"webgpu/shader/execution/binary/f16_matrix_addition.bin": "dad40415",
"webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin": "da0837b4",
"webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin": "bc09eaac",
"webgpu/shader/execution/binary/f16_matrix_subtraction.bin": "b8cef21f",
"webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin": "e8b88b5e",
"webgpu/shader/execution/binary/f16_multiplication.bin": "770ea658",
"webgpu/shader/execution/binary/f16_remainder.bin": "c7436812",
"webgpu/shader/execution/binary/f16_subtraction.bin": "7d73a7f7",
"webgpu/shader/execution/binary/f32_addition.bin": "1f401894",
"webgpu/shader/execution/binary/f32_logical.bin": "fab7cfc5",
"webgpu/shader/execution/binary/f32_division.bin": "c2df73c9",
"webgpu/shader/execution/binary/f32_matrix_addition.bin": "18502449",
"webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin": "96cda4b2",
"webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin": "5570ca6f",
"webgpu/shader/execution/binary/f32_matrix_subtraction.bin": "a0d7e8d1",
"webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin": "90b6aeb9",
"webgpu/shader/execution/binary/f32_multiplication.bin": "f6dff4c7",
"webgpu/shader/execution/binary/f32_remainder.bin": "1d5f3a8",
"webgpu/shader/execution/binary/f32_subtraction.bin": "b9a951e9",
"webgpu/shader/execution/binary/f32_division.bin": "49f3b13",
"webgpu/shader/execution/binary/f32_matrix_addition.bin": "94c998cb",
"webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin": "6daf51af",
"webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin": "2d9d6165",
"webgpu/shader/execution/binary/f32_matrix_subtraction.bin": "cbc84432",
"webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin": "4f9b001b",
"webgpu/shader/execution/binary/f32_multiplication.bin": "7b8b5ba",
"webgpu/shader/execution/binary/f32_remainder.bin": "4dae8d87",
"webgpu/shader/execution/binary/f32_subtraction.bin": "aa2b8e39",
"webgpu/shader/execution/binary/i32_arithmetic.bin": "de93ee2a",
"webgpu/shader/execution/binary/i32_comparison.bin": "aaa1f21b",
"webgpu/shader/execution/binary/u32_arithmetic.bin": "d79a1011",
"webgpu/shader/execution/binary/u32_comparison.bin": "31764c75",
"webgpu/shader/execution/abs.bin": "9e12d146",
"webgpu/shader/execution/acos.bin": "d72227bc",
"webgpu/shader/execution/acosh.bin": "b3008340",
"webgpu/shader/execution/asin.bin": "2348666b",
"webgpu/shader/execution/asinh.bin": "1fcc0429",
"webgpu/shader/execution/atan.bin": "34f29ec8",
"webgpu/shader/execution/atan2.bin": "33c3196c",
"webgpu/shader/execution/atanh.bin": "79cffc5a",
"webgpu/shader/execution/bitcast.bin": "c6e7405c",
"webgpu/shader/execution/ceil.bin": "4cabf37c",
"webgpu/shader/execution/clamp.bin": "8b4c84c7",
"webgpu/shader/execution/cos.bin": "dd4f0d54",
"webgpu/shader/execution/cosh.bin": "cf2303ea",
"webgpu/shader/execution/cross.bin": "f231a725",
"webgpu/shader/execution/degrees.bin": "216634ac",
"webgpu/shader/execution/determinant.bin": "3a4c5761",
"webgpu/shader/execution/distance.bin": "45c1bcee",
"webgpu/shader/execution/dot.bin": "553f268b",
"webgpu/shader/execution/exp.bin": "13f273d5",
"webgpu/shader/execution/exp2.bin": "215379e7",
"webgpu/shader/execution/faceForward.bin": "dfcee405",
"webgpu/shader/execution/floor.bin": "422b808a",
"webgpu/shader/execution/fma.bin": "df385cdd",
"webgpu/shader/execution/fract.bin": "416f144f",
"webgpu/shader/execution/frexp.bin": "48323de7",
"webgpu/shader/execution/inverseSqrt.bin": "b5d88ed0",
"webgpu/shader/execution/ldexp.bin": "82257924",
"webgpu/shader/execution/length.bin": "eef942e5",
"webgpu/shader/execution/log.bin": "6889843e",
"webgpu/shader/execution/log2.bin": "97bae6ee",
"webgpu/shader/execution/max.bin": "9369c070",
"webgpu/shader/execution/min.bin": "85cd40d4",
"webgpu/shader/execution/mix.bin": "f24ecba4",
"webgpu/shader/execution/modf.bin": "6914406e",
"webgpu/shader/execution/normalize.bin": "56db74b3",
"webgpu/shader/execution/abs.bin": "c55ce371",
"webgpu/shader/execution/acos.bin": "584a15e6",
"webgpu/shader/execution/acosh.bin": "d5999e04",
"webgpu/shader/execution/asin.bin": "a969e765",
"webgpu/shader/execution/asinh.bin": "29cab17b",
"webgpu/shader/execution/atan.bin": "68d3f8a1",
"webgpu/shader/execution/atan2.bin": "271195c6",
"webgpu/shader/execution/atanh.bin": "c962ef2f",
"webgpu/shader/execution/bitcast.bin": "38c330e7",
"webgpu/shader/execution/ceil.bin": "89511d12",
"webgpu/shader/execution/clamp.bin": "fc2229fe",
"webgpu/shader/execution/cos.bin": "2fa90857",
"webgpu/shader/execution/cosh.bin": "2c40618c",
"webgpu/shader/execution/cross.bin": "5b32d73f",
"webgpu/shader/execution/degrees.bin": "a3114fbc",
"webgpu/shader/execution/determinant.bin": "dedd5d98",
"webgpu/shader/execution/distance.bin": "b0146a8c",
"webgpu/shader/execution/dot.bin": "5bdb2d4c",
"webgpu/shader/execution/exp.bin": "193c361c",
"webgpu/shader/execution/exp2.bin": "dbc6fa6c",
"webgpu/shader/execution/faceForward.bin": "b597beca",
"webgpu/shader/execution/floor.bin": "e5c2ba82",
"webgpu/shader/execution/fma.bin": "3777f9fa",
"webgpu/shader/execution/fract.bin": "1608a825",
"webgpu/shader/execution/frexp.bin": "3a19824a",
"webgpu/shader/execution/inverseSqrt.bin": "5cb00372",
"webgpu/shader/execution/ldexp.bin": "ac815072",
"webgpu/shader/execution/length.bin": "4badfd48",
"webgpu/shader/execution/log.bin": "77b20257",
"webgpu/shader/execution/log2.bin": "c0fccbcb",
"webgpu/shader/execution/max.bin": "5a1758ce",
"webgpu/shader/execution/min.bin": "714cc7b",
"webgpu/shader/execution/mix.bin": "830adfab",
"webgpu/shader/execution/modf.bin": "35e3fadb",
"webgpu/shader/execution/normalize.bin": "bdbafd80",
"webgpu/shader/execution/pack2x16float.bin": "b2cb12ea",
"webgpu/shader/execution/pow.bin": "4559fe54",
"webgpu/shader/execution/quantizeToF16.bin": "6e7140c0",
"webgpu/shader/execution/radians.bin": "3d20d9af",
"webgpu/shader/execution/reflect.bin": "83096c2a",
"webgpu/shader/execution/refract.bin": "5ff885dc",
"webgpu/shader/execution/round.bin": "f8bdb72b",
"webgpu/shader/execution/saturate.bin": "fd71272f",
"webgpu/shader/execution/sign.bin": "5ac3fcf8",
"webgpu/shader/execution/sin.bin": "8eb2a6be",
"webgpu/shader/execution/sinh.bin": "33fffc1d",
"webgpu/shader/execution/smoothstep.bin": "33df4b5f",
"webgpu/shader/execution/sqrt.bin": "f0e8fd1",
"webgpu/shader/execution/step.bin": "eef87c59",
"webgpu/shader/execution/tan.bin": "4904b8c0",
"webgpu/shader/execution/tanh.bin": "b1afeda",
"webgpu/shader/execution/transpose.bin": "697e34a5",
"webgpu/shader/execution/trunc.bin": "4474ec0",
"webgpu/shader/execution/unpack2x16float.bin": "be34edc2",
"webgpu/shader/execution/unpack2x16snorm.bin": "68115c4",
"webgpu/shader/execution/unpack2x16unorm.bin": "b0a3bc8d",
"webgpu/shader/execution/unpack4x8snorm.bin": "778671b5",
"webgpu/shader/execution/unpack4x8unorm.bin": "686ea0d",
"webgpu/shader/execution/unary/af_arithmetic.bin": "b1492312",
"webgpu/shader/execution/unary/af_assignment.bin": "86ca08b5",
"webgpu/shader/execution/pow.bin": "64fbe0e9",
"webgpu/shader/execution/quantizeToF16.bin": "3482f409",
"webgpu/shader/execution/radians.bin": "591452bd",
"webgpu/shader/execution/reflect.bin": "a23608d3",
"webgpu/shader/execution/refract.bin": "3c489a9e",
"webgpu/shader/execution/round.bin": "7a4daf32",
"webgpu/shader/execution/saturate.bin": "aa7a77d4",
"webgpu/shader/execution/sign.bin": "58f5aec8",
"webgpu/shader/execution/sin.bin": "51a0c6b1",
"webgpu/shader/execution/sinh.bin": "f442ba07",
"webgpu/shader/execution/smoothstep.bin": "e3a5617c",
"webgpu/shader/execution/sqrt.bin": "37d76963",
"webgpu/shader/execution/step.bin": "2fb49d06",
"webgpu/shader/execution/tan.bin": "93b615d4",
"webgpu/shader/execution/tanh.bin": "1356fb20",
"webgpu/shader/execution/transpose.bin": "fa2c4fd8",
"webgpu/shader/execution/trunc.bin": "c35581af",
"webgpu/shader/execution/unpack2x16float.bin": "fd739a26",
"webgpu/shader/execution/unpack2x16snorm.bin": "3e6513c3",
"webgpu/shader/execution/unpack2x16unorm.bin": "78a9c2bc",
"webgpu/shader/execution/unpack4x8snorm.bin": "f7c9ee0e",
"webgpu/shader/execution/unpack4x8unorm.bin": "57f1fd10",
"webgpu/shader/execution/unary/af_arithmetic.bin": "a7ce609c",
"webgpu/shader/execution/unary/af_assignment.bin": "3e9186d4",
"webgpu/shader/execution/unary/bool_conversion.bin": "cb53bf65",
"webgpu/shader/execution/unary/f16_arithmetic.bin": "69914092",
"webgpu/shader/execution/unary/f16_conversion.bin": "8a3ffbbb",
"webgpu/shader/execution/unary/f32_arithmetic.bin": "61e25fb6",
"webgpu/shader/execution/unary/f32_conversion.bin": "c47c9b05",
"webgpu/shader/execution/unary/f16_arithmetic.bin": "73d72841",
"webgpu/shader/execution/unary/f16_conversion.bin": "a7501d30",
"webgpu/shader/execution/unary/f32_arithmetic.bin": "157f430e",
"webgpu/shader/execution/unary/f32_conversion.bin": "de3f5f15",
"webgpu/shader/execution/unary/i32_arithmetic.bin": "d322b73d",
"webgpu/shader/execution/unary/i32_complement.bin": "c4e6cbb",
"webgpu/shader/execution/unary/i32_conversion.bin": "d6905a0f",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,8 @@ const anyI32 = alwaysPass('any i32');
const anyU32 = alwaysPass('any u32');

// Unbounded FPInterval
const f32UnboundedInterval = FP.f32.constants().unboundedInterval;
const f16UnboundedInterval = FP.f16.constants().unboundedInterval;
const f32InfiniteInterval = FP.f32.constants().infiniteInterval;
const f16InfiniteInterval = FP.f16.constants().infiniteInterval;

// i32 and u32 cases for bitcasting to f32.
// i32 cases for bitcasting to f32 finite, zeros, Inf, and NaN.
Expand Down Expand Up @@ -302,7 +302,7 @@ function bitcastU32ToF32Comparator(u: number): Comparator {
function generateF16ExpectationIntervals(bitcastedF16Value: number): FPInterval[] {
// If the bitcasted f16 value is inf or nan, the result is unbounded
if (!isFiniteF16(bitcastedF16Value)) {
return [f16UnboundedInterval];
return [f16InfiniteInterval];
}
// If the casted f16 value is +/-0.0, the result can be one of both. Note that in JS -0.0 === 0.0.
if (bitcastedF16Value === 0.0) {
Expand All @@ -318,7 +318,7 @@ function generateF16ExpectationIntervals(bitcastedF16Value: number): FPInterval[
* bitcast conversion from f16.
*/
function bitcastF16ToF16Comparator(f: number): Comparator {
if (!isFiniteF16(f)) return anyOf(f16UnboundedInterval);
if (!isFiniteF16(f)) return anyOf(f16InfiniteInterval);
return anyOf(...generateF16ExpectationIntervals(f));
}

Expand Down Expand Up @@ -358,7 +358,7 @@ function bitcastF32ToVec2F16Comparator(f: number): Comparator {
// If input f32 is not finite, it can be evaluated to any value and thus any result f16 vec2 is
// possible.
if (!isFiniteF32(f)) {
return anyOf([f16UnboundedInterval, f16UnboundedInterval]);
return anyOf([f16InfiniteInterval, f16InfiniteInterval]);
}
const bitcastedVec2F16InU16x2 = u32ToU16x2(reinterpretF32AsU32(f)).map(reinterpretU16AsF16);
// Generate expection for vec2 f16 result, by generating expected intervals for each elements and
Expand Down Expand Up @@ -469,7 +469,7 @@ function possible32BitScalarIntervalsFromF16x2(
expectationsForValue = x => {
// Handle the possible Inf/NaN/zeros and subnormal cases for f32 result.
if (!isFiniteF32(x)) {
return [f32UnboundedInterval];
return [f32InfiniteInterval];
}
// If the casted f16 value is +/-0.0, the result can be one of both. Note that in JS -0.0 === 0.0.
if (x === 0.0) {
Expand All @@ -479,7 +479,7 @@ function possible32BitScalarIntervalsFromF16x2(
// If the casted f16 value is subnormal, it also may be flushed to +/-0.0.
return [exactInterval, ...(isSubnormalNumberF32(x) ? [f32ZerosInterval] : [])];
};
unboundedExpectations = [f32UnboundedInterval];
unboundedExpectations = [f32InfiniteInterval];
}
// Return unbounded expection if f16 Inf/NaN occurs
if (
Expand Down
Loading