diff --git a/package-lock.json b/package-lock.json index b4d86ed1daa1..b06437532f8a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "@types/serve-index": "^1.9.3", "@typescript-eslint/eslint-plugin": "^6.9.1", "@typescript-eslint/parser": "^6.9.1", - "@webgpu/types": "^0.1.38", + "@webgpu/types": "^0.1.39", "ansi-colors": "4.1.3", "babel-plugin-add-header-comment": "^1.0.3", "babel-plugin-const-enum": "^1.2.0", @@ -1524,9 +1524,9 @@ "dev": true }, "node_modules/@webgpu/types": { - "version": "0.1.38", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.38.tgz", - "integrity": "sha512-7LrhVKz2PRh+DD7+S+PVaFd5HxaWQvoMqBbsV9fNJO1pjUs1P8bM2vQVNfk+3URTqbuTI7gkXi0rfsN0IadoBA==", + "version": "0.1.39", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.39.tgz", + "integrity": "sha512-sSVNnZpvHMnVX4KLAIx6RSQj2jTIoA4NCQTayarQskTqfrflWVXBZttEhIYWg4mJBW9No8q0g2PFCx2QEnIj/Q==", "dev": true }, "node_modules/abbrev": { @@ -11582,9 +11582,9 @@ "dev": true }, "@webgpu/types": { - "version": "0.1.38", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.38.tgz", - "integrity": "sha512-7LrhVKz2PRh+DD7+S+PVaFd5HxaWQvoMqBbsV9fNJO1pjUs1P8bM2vQVNfk+3URTqbuTI7gkXi0rfsN0IadoBA==", + "version": "0.1.39", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.39.tgz", + "integrity": "sha512-sSVNnZpvHMnVX4KLAIx6RSQj2jTIoA4NCQTayarQskTqfrflWVXBZttEhIYWg4mJBW9No8q0g2PFCx2QEnIj/Q==", "dev": true }, "abbrev": { diff --git a/package.json b/package.json index 608d0318f28d..dfa253e86001 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@types/serve-index": "^1.9.3", "@typescript-eslint/eslint-plugin": "^6.9.1", "@typescript-eslint/parser": "^6.9.1", - "@webgpu/types": "^0.1.38", + "@webgpu/types": "^0.1.39", "ansi-colors": "4.1.3", "babel-plugin-add-header-comment": "^1.0.3", "babel-plugin-const-enum": "^1.2.0", diff --git a/src/resources/cache/hashes.json b/src/resources/cache/hashes.json index 1148577cce12..52f519294ca9 100644 --- a/src/resources/cache/hashes.json +++ b/src/resources/cache/hashes.json @@ -1,106 +1,106 @@ { - "webgpu/shader/execution/binary/af_addition.bin": "a5da1df9", - "webgpu/shader/execution/binary/af_logical.bin": "27d915bd", - "webgpu/shader/execution/binary/af_division.bin": "a5270697", - "webgpu/shader/execution/binary/af_matrix_addition.bin": "62f800a8", - "webgpu/shader/execution/binary/af_matrix_subtraction.bin": "9183d57f", - "webgpu/shader/execution/binary/af_multiplication.bin": "865258e7", - "webgpu/shader/execution/binary/af_remainder.bin": "4c61df7e", - "webgpu/shader/execution/binary/af_subtraction.bin": "43dd47ae", - "webgpu/shader/execution/binary/f16_addition.bin": "513d71c8", - "webgpu/shader/execution/binary/f16_logical.bin": "443f9a98", - "webgpu/shader/execution/binary/f16_division.bin": "f54e29cb", - "webgpu/shader/execution/binary/f16_matrix_addition.bin": "f910cec6", - "webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin": "b70ddbb2", - "webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin": "62afef7a", - "webgpu/shader/execution/binary/f16_matrix_subtraction.bin": "29e3722d", - "webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin": "f4a29ad1", - "webgpu/shader/execution/binary/f16_multiplication.bin": "9baf80a1", - "webgpu/shader/execution/binary/f16_remainder.bin": "85c74732", - "webgpu/shader/execution/binary/f16_subtraction.bin": "b06f0345", - "webgpu/shader/execution/binary/f32_addition.bin": "e0f9ce70", - "webgpu/shader/execution/binary/f32_logical.bin": "47cadba6", - "webgpu/shader/execution/binary/f32_division.bin": "7005e989", - "webgpu/shader/execution/binary/f32_matrix_addition.bin": "98e53a9", - "webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin": "b5c60cda", - "webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin": "522a3569", - "webgpu/shader/execution/binary/f32_matrix_subtraction.bin": "c19e488c", - "webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin": "9af1d0c3", - "webgpu/shader/execution/binary/f32_multiplication.bin": "e59c1749", - "webgpu/shader/execution/binary/f32_remainder.bin": "f0aa263b", - "webgpu/shader/execution/binary/f32_subtraction.bin": "f4bc3081", - "webgpu/shader/execution/binary/i32_arithmetic.bin": "e92caa13", - "webgpu/shader/execution/binary/i32_comparison.bin": "21f566be", - "webgpu/shader/execution/binary/u32_arithmetic.bin": "4190d758", - "webgpu/shader/execution/binary/u32_comparison.bin": "91fe8844", - "webgpu/shader/execution/abs.bin": "40c39d52", - "webgpu/shader/execution/acos.bin": "9998e303", - "webgpu/shader/execution/acosh.bin": "7636c6b9", - "webgpu/shader/execution/asin.bin": "fd7059cd", - "webgpu/shader/execution/asinh.bin": "58959a2", - "webgpu/shader/execution/atan.bin": "ed0a5fe5", - "webgpu/shader/execution/atan2.bin": "bcfaa17a", - "webgpu/shader/execution/atanh.bin": "fe79d05d", - "webgpu/shader/execution/bitcast.bin": "ab8f3a85", - "webgpu/shader/execution/ceil.bin": "82690ce1", - "webgpu/shader/execution/clamp.bin": "a30a2b8e", - "webgpu/shader/execution/cos.bin": "bf80f288", - "webgpu/shader/execution/cosh.bin": "2add503b", - "webgpu/shader/execution/cross.bin": "ce546995", - "webgpu/shader/execution/degrees.bin": "af783136", - "webgpu/shader/execution/determinant.bin": "16d6108", - "webgpu/shader/execution/distance.bin": "34788cf8", - "webgpu/shader/execution/dot.bin": "5d8d3fff", - "webgpu/shader/execution/exp.bin": "e890f3d", - "webgpu/shader/execution/exp2.bin": "80f0c788", - "webgpu/shader/execution/faceForward.bin": "4cf3e04d", - "webgpu/shader/execution/floor.bin": "4d91b147", - "webgpu/shader/execution/fma.bin": "9579e337", - "webgpu/shader/execution/fract.bin": "a1372b54", - "webgpu/shader/execution/frexp.bin": "7d140601", - "webgpu/shader/execution/inverseSqrt.bin": "515fb6e3", - "webgpu/shader/execution/ldexp.bin": "826a29a8", - "webgpu/shader/execution/length.bin": "124ac33b", - "webgpu/shader/execution/log.bin": "aad3a1a8", - "webgpu/shader/execution/log2.bin": "7ef34360", - "webgpu/shader/execution/max.bin": "69a1807", - "webgpu/shader/execution/min.bin": "8dfa353d", - "webgpu/shader/execution/mix.bin": "96c9d02d", - "webgpu/shader/execution/modf.bin": "26670f53", - "webgpu/shader/execution/normalize.bin": "60571bc4", - "webgpu/shader/execution/pack2x16float.bin": "31601129", - "webgpu/shader/execution/pow.bin": "8f5de92", - "webgpu/shader/execution/quantizeToF16.bin": "9936c450", - "webgpu/shader/execution/radians.bin": "56c3610d", - "webgpu/shader/execution/reflect.bin": "61beb0cf", - "webgpu/shader/execution/refract.bin": "d0180f9b", - "webgpu/shader/execution/round.bin": "3bc78d47", - "webgpu/shader/execution/saturate.bin": "8478071d", - "webgpu/shader/execution/sign.bin": "58d75a88", - "webgpu/shader/execution/sin.bin": "b14cf00a", - "webgpu/shader/execution/sinh.bin": "a8d76c62", - "webgpu/shader/execution/smoothstep.bin": "246c76eb", - "webgpu/shader/execution/sqrt.bin": "f6c4f4c1", - "webgpu/shader/execution/step.bin": "8268c823", - "webgpu/shader/execution/tan.bin": "af3ecb02", - "webgpu/shader/execution/tanh.bin": "c22b8364", - "webgpu/shader/execution/transpose.bin": "f8663cd3", - "webgpu/shader/execution/trunc.bin": "b532e654", - "webgpu/shader/execution/unpack2x16float.bin": "67d0b480", - "webgpu/shader/execution/unpack2x16snorm.bin": "be8c0687", - "webgpu/shader/execution/unpack2x16unorm.bin": "8ef57a36", - "webgpu/shader/execution/unpack4x8snorm.bin": "a807e0f6", - "webgpu/shader/execution/unpack4x8unorm.bin": "b8ed39e8", - "webgpu/shader/execution/unary/af_arithmetic.bin": "f6181e3d", - "webgpu/shader/execution/unary/af_assignment.bin": "1da130e3", - "webgpu/shader/execution/unary/bool_conversion.bin": "166e7b55", - "webgpu/shader/execution/unary/f16_arithmetic.bin": "576d8432", - "webgpu/shader/execution/unary/f16_conversion.bin": "187365c9", - "webgpu/shader/execution/unary/f32_arithmetic.bin": "abfce14d", - "webgpu/shader/execution/unary/f32_conversion.bin": "69c41336", - "webgpu/shader/execution/unary/i32_arithmetic.bin": "cca83969", - "webgpu/shader/execution/unary/i32_complement.bin": "2a173277", - "webgpu/shader/execution/unary/i32_conversion.bin": "11d03e95", - "webgpu/shader/execution/unary/u32_complement.bin": "6fce0665", - "webgpu/shader/execution/unary/u32_conversion.bin": "53c94e7b" + "webgpu/shader/execution/binary/af_addition.bin": "78c94ad8", + "webgpu/shader/execution/binary/af_logical.bin": "fa9ec211", + "webgpu/shader/execution/binary/af_division.bin": "5d6cb4be", + "webgpu/shader/execution/binary/af_matrix_addition.bin": "207aebd0", + "webgpu/shader/execution/binary/af_matrix_subtraction.bin": "1ccdc3af", + "webgpu/shader/execution/binary/af_multiplication.bin": "8a7b42df", + "webgpu/shader/execution/binary/af_remainder.bin": "5d2c6e8c", + "webgpu/shader/execution/binary/af_subtraction.bin": "c35c12b3", + "webgpu/shader/execution/binary/f16_addition.bin": "e269395b", + "webgpu/shader/execution/binary/f16_logical.bin": "bd056fdd", + "webgpu/shader/execution/binary/f16_division.bin": "63aee0a5", + "webgpu/shader/execution/binary/f16_matrix_addition.bin": "391be16b", + "webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin": "57d98880", + "webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin": "136c0f5f", + "webgpu/shader/execution/binary/f16_matrix_subtraction.bin": "16730051", + "webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin": "ca591b1e", + "webgpu/shader/execution/binary/f16_multiplication.bin": "3ea00fdc", + "webgpu/shader/execution/binary/f16_remainder.bin": "9bd500da", + "webgpu/shader/execution/binary/f16_subtraction.bin": "833605e7", + "webgpu/shader/execution/binary/f32_addition.bin": "85e552cb", + "webgpu/shader/execution/binary/f32_logical.bin": "6ca238d2", + "webgpu/shader/execution/binary/f32_division.bin": "a1ef6e58", + "webgpu/shader/execution/binary/f32_matrix_addition.bin": "f68b863f", + "webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin": "d55c0d78", + "webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin": "2cb1e", + "webgpu/shader/execution/binary/f32_matrix_subtraction.bin": "83a77306", + "webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin": "2a68c52", + "webgpu/shader/execution/binary/f32_multiplication.bin": "8b4452d3", + "webgpu/shader/execution/binary/f32_remainder.bin": "528d99c4", + "webgpu/shader/execution/binary/f32_subtraction.bin": "e2f72c71", + "webgpu/shader/execution/binary/i32_arithmetic.bin": "431e0f57", + "webgpu/shader/execution/binary/i32_comparison.bin": "8517891f", + "webgpu/shader/execution/binary/u32_arithmetic.bin": "15cec499", + "webgpu/shader/execution/binary/u32_comparison.bin": "c96a5982", + "webgpu/shader/execution/abs.bin": "d3fd65c2", + "webgpu/shader/execution/acos.bin": "5839852", + "webgpu/shader/execution/acosh.bin": "515c1629", + "webgpu/shader/execution/asin.bin": "2979db33", + "webgpu/shader/execution/asinh.bin": "884df7af", + "webgpu/shader/execution/atan.bin": "ea30536d", + "webgpu/shader/execution/atan2.bin": "a495e35a", + "webgpu/shader/execution/atanh.bin": "3920b6af", + "webgpu/shader/execution/bitcast.bin": "d3408cce", + "webgpu/shader/execution/ceil.bin": "b73e93a3", + "webgpu/shader/execution/clamp.bin": "931ba49e", + "webgpu/shader/execution/cos.bin": "8de6752", + "webgpu/shader/execution/cosh.bin": "f2ad6585", + "webgpu/shader/execution/cross.bin": "661dbc74", + "webgpu/shader/execution/degrees.bin": "613a2afc", + "webgpu/shader/execution/determinant.bin": "c3f6ebf9", + "webgpu/shader/execution/distance.bin": "a30afaad", + "webgpu/shader/execution/dot.bin": "1d5bc868", + "webgpu/shader/execution/exp.bin": "7094a6ee", + "webgpu/shader/execution/exp2.bin": "bd0da4cf", + "webgpu/shader/execution/faceForward.bin": "91757e9d", + "webgpu/shader/execution/floor.bin": "5d113e8e", + "webgpu/shader/execution/fma.bin": "6dd1e30a", + "webgpu/shader/execution/fract.bin": "5911d29a", + "webgpu/shader/execution/frexp.bin": "8a6b3d88", + "webgpu/shader/execution/inverseSqrt.bin": "c3060fd7", + "webgpu/shader/execution/ldexp.bin": "8af64f84", + "webgpu/shader/execution/length.bin": "94590226", + "webgpu/shader/execution/log.bin": "be9fbfea", + "webgpu/shader/execution/log2.bin": "67d7b594", + "webgpu/shader/execution/max.bin": "3f5dffbf", + "webgpu/shader/execution/min.bin": "909df14e", + "webgpu/shader/execution/mix.bin": "251864be", + "webgpu/shader/execution/modf.bin": "34d66497", + "webgpu/shader/execution/normalize.bin": "e4bd21a9", + "webgpu/shader/execution/pack2x16float.bin": "4de3bb3b", + "webgpu/shader/execution/pow.bin": "8da22713", + "webgpu/shader/execution/quantizeToF16.bin": "c40fe1ed", + "webgpu/shader/execution/radians.bin": "483c3033", + "webgpu/shader/execution/reflect.bin": "3a22a937", + "webgpu/shader/execution/refract.bin": "3f042dba", + "webgpu/shader/execution/round.bin": "a217f9d7", + "webgpu/shader/execution/saturate.bin": "a7c98160", + "webgpu/shader/execution/sign.bin": "8dff863c", + "webgpu/shader/execution/sin.bin": "165f57ee", + "webgpu/shader/execution/sinh.bin": "67e7427d", + "webgpu/shader/execution/smoothstep.bin": "12b9ef22", + "webgpu/shader/execution/sqrt.bin": "6f1cec1b", + "webgpu/shader/execution/step.bin": "9accf537", + "webgpu/shader/execution/tan.bin": "fa3b129a", + "webgpu/shader/execution/tanh.bin": "e189b51d", + "webgpu/shader/execution/transpose.bin": "a4fed513", + "webgpu/shader/execution/trunc.bin": "9017e528", + "webgpu/shader/execution/unpack2x16float.bin": "ec98d914", + "webgpu/shader/execution/unpack2x16snorm.bin": "a830e40e", + "webgpu/shader/execution/unpack2x16unorm.bin": "ad12839", + "webgpu/shader/execution/unpack4x8snorm.bin": "2313f18a", + "webgpu/shader/execution/unpack4x8unorm.bin": "42a3a55f", + "webgpu/shader/execution/unary/af_arithmetic.bin": "96b3c6cd", + "webgpu/shader/execution/unary/af_assignment.bin": "d57b4a12", + "webgpu/shader/execution/unary/bool_conversion.bin": "82a9a2b3", + "webgpu/shader/execution/unary/f16_arithmetic.bin": "af2058d6", + "webgpu/shader/execution/unary/f16_conversion.bin": "f506caaf", + "webgpu/shader/execution/unary/f32_arithmetic.bin": "12031f63", + "webgpu/shader/execution/unary/f32_conversion.bin": "6ecbbe5b", + "webgpu/shader/execution/unary/i32_arithmetic.bin": "b7af3db9", + "webgpu/shader/execution/unary/i32_complement.bin": "10b546c7", + "webgpu/shader/execution/unary/i32_conversion.bin": "dc30bd80", + "webgpu/shader/execution/unary/u32_complement.bin": "ee0256a4", + "webgpu/shader/execution/unary/u32_conversion.bin": "c57cea18" } \ No newline at end of file diff --git a/src/resources/cache/webgpu/shader/execution/abs.bin b/src/resources/cache/webgpu/shader/execution/abs.bin index 17e2229752b1..8a7de730cc97 100644 Binary files a/src/resources/cache/webgpu/shader/execution/abs.bin and b/src/resources/cache/webgpu/shader/execution/abs.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/acos.bin b/src/resources/cache/webgpu/shader/execution/acos.bin index a18c5a808b67..9782c52757a2 100644 Binary files a/src/resources/cache/webgpu/shader/execution/acos.bin and b/src/resources/cache/webgpu/shader/execution/acos.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/acosh.bin b/src/resources/cache/webgpu/shader/execution/acosh.bin index a265710f2f03..06827ec5bb62 100644 Binary files a/src/resources/cache/webgpu/shader/execution/acosh.bin and b/src/resources/cache/webgpu/shader/execution/acosh.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/asin.bin b/src/resources/cache/webgpu/shader/execution/asin.bin index b4083247f2ec..54821e6ee25e 100644 Binary files a/src/resources/cache/webgpu/shader/execution/asin.bin and b/src/resources/cache/webgpu/shader/execution/asin.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/asinh.bin b/src/resources/cache/webgpu/shader/execution/asinh.bin index 620167622d34..bb13f64a0bd2 100644 Binary files a/src/resources/cache/webgpu/shader/execution/asinh.bin and b/src/resources/cache/webgpu/shader/execution/asinh.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/atan.bin b/src/resources/cache/webgpu/shader/execution/atan.bin index 18de2e07afd8..d5c3bf8cd04a 100644 Binary files a/src/resources/cache/webgpu/shader/execution/atan.bin and b/src/resources/cache/webgpu/shader/execution/atan.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/atan2.bin b/src/resources/cache/webgpu/shader/execution/atan2.bin index 0fca2d1ad0f6..cbcfbf7c7819 100644 Binary files a/src/resources/cache/webgpu/shader/execution/atan2.bin and b/src/resources/cache/webgpu/shader/execution/atan2.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/atanh.bin b/src/resources/cache/webgpu/shader/execution/atanh.bin index 2d037ed47664..9c690228f2b8 100644 Binary files a/src/resources/cache/webgpu/shader/execution/atanh.bin and b/src/resources/cache/webgpu/shader/execution/atanh.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/af_addition.bin b/src/resources/cache/webgpu/shader/execution/binary/af_addition.bin index 703707f13979..e4d37a1f0946 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/af_addition.bin and b/src/resources/cache/webgpu/shader/execution/binary/af_addition.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/af_division.bin b/src/resources/cache/webgpu/shader/execution/binary/af_division.bin index d7967e87879c..d2d17bbab125 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/af_division.bin and b/src/resources/cache/webgpu/shader/execution/binary/af_division.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/af_logical.bin b/src/resources/cache/webgpu/shader/execution/binary/af_logical.bin index da7a412aa503..a77850a98d94 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/af_logical.bin and b/src/resources/cache/webgpu/shader/execution/binary/af_logical.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/af_matrix_addition.bin b/src/resources/cache/webgpu/shader/execution/binary/af_matrix_addition.bin index 3c666bdf7b50..fa3737fc424d 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/af_matrix_addition.bin and b/src/resources/cache/webgpu/shader/execution/binary/af_matrix_addition.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/af_matrix_subtraction.bin b/src/resources/cache/webgpu/shader/execution/binary/af_matrix_subtraction.bin index cb19969f9202..a418a2f1d6dd 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/af_matrix_subtraction.bin and b/src/resources/cache/webgpu/shader/execution/binary/af_matrix_subtraction.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/af_multiplication.bin b/src/resources/cache/webgpu/shader/execution/binary/af_multiplication.bin index 35474be82ff2..1911d1575948 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/af_multiplication.bin and b/src/resources/cache/webgpu/shader/execution/binary/af_multiplication.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/af_remainder.bin b/src/resources/cache/webgpu/shader/execution/binary/af_remainder.bin index 3df87ee1a7b0..2b7ad02e6af4 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/af_remainder.bin and b/src/resources/cache/webgpu/shader/execution/binary/af_remainder.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/af_subtraction.bin b/src/resources/cache/webgpu/shader/execution/binary/af_subtraction.bin index 61e6da6a4d83..5ee03f47bac8 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/af_subtraction.bin and b/src/resources/cache/webgpu/shader/execution/binary/af_subtraction.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_addition.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_addition.bin index 5542654a2240..54b0d81165b3 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_addition.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_addition.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_division.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_division.bin index cb1a05e05437..56f209c13eef 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_division.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_division.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_logical.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_logical.bin index 5659be99762d..72376b589ae8 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_logical.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_logical.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_addition.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_addition.bin index 2876edf54f52..91165360dd53 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_addition.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_addition.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin index 81342f521bf8..138f0cbc5b43 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin index dc2d43e235d5..9f2b93b1db89 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_subtraction.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_subtraction.bin index a2d8ac6c072a..9e8d19991ffb 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_subtraction.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_subtraction.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin index 2b8bbc058c64..205c10b21444 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_multiplication.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_multiplication.bin index b834ed8acf2c..f108e7b71bbf 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_multiplication.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_multiplication.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_remainder.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_remainder.bin index ef3e80fb2b80..5897ad72d9e8 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_remainder.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_remainder.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f16_subtraction.bin b/src/resources/cache/webgpu/shader/execution/binary/f16_subtraction.bin index 10be022dbb52..decd75bb980a 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f16_subtraction.bin and b/src/resources/cache/webgpu/shader/execution/binary/f16_subtraction.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_addition.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_addition.bin index e55501474584..25a86f5b8ae4 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_addition.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_addition.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_division.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_division.bin index 54333f2a6dfd..61a13f478db6 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_division.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_division.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_logical.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_logical.bin index 5ed0ed1e0576..9883436d8d0d 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_logical.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_logical.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_addition.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_addition.bin index ba087465e09b..96d63674f11e 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_addition.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_addition.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin index 474e82fb5952..e65330c053a4 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin index 90849e89f4a7..5fcb38804814 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_subtraction.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_subtraction.bin index d548944f510e..bbf88d0c8aa0 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_subtraction.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_subtraction.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin index 5cdc4d28a110..e3e3a5668bdf 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_multiplication.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_multiplication.bin index 6f5c7a1a7a19..566d62539c29 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_multiplication.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_multiplication.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_remainder.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_remainder.bin index d8e19a526860..523a8b74655a 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_remainder.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_remainder.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/f32_subtraction.bin b/src/resources/cache/webgpu/shader/execution/binary/f32_subtraction.bin index ea54e54398f4..1b2c0f35d983 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/f32_subtraction.bin and b/src/resources/cache/webgpu/shader/execution/binary/f32_subtraction.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/i32_arithmetic.bin b/src/resources/cache/webgpu/shader/execution/binary/i32_arithmetic.bin index b1b925a9cb7a..a818bc6a8761 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/i32_arithmetic.bin and b/src/resources/cache/webgpu/shader/execution/binary/i32_arithmetic.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/i32_comparison.bin b/src/resources/cache/webgpu/shader/execution/binary/i32_comparison.bin index c14b31a89e5d..268ba181fbb4 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/i32_comparison.bin and b/src/resources/cache/webgpu/shader/execution/binary/i32_comparison.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/u32_arithmetic.bin b/src/resources/cache/webgpu/shader/execution/binary/u32_arithmetic.bin index 8cdce057ddb8..bfd21439c419 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/u32_arithmetic.bin and b/src/resources/cache/webgpu/shader/execution/binary/u32_arithmetic.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/binary/u32_comparison.bin b/src/resources/cache/webgpu/shader/execution/binary/u32_comparison.bin index 26a6dd6b79c7..db10a7407041 100644 Binary files a/src/resources/cache/webgpu/shader/execution/binary/u32_comparison.bin and b/src/resources/cache/webgpu/shader/execution/binary/u32_comparison.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/bitcast.bin b/src/resources/cache/webgpu/shader/execution/bitcast.bin index 1f171337d745..84423d4a0f82 100644 Binary files a/src/resources/cache/webgpu/shader/execution/bitcast.bin and b/src/resources/cache/webgpu/shader/execution/bitcast.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/ceil.bin b/src/resources/cache/webgpu/shader/execution/ceil.bin index 68580a51846d..eebc5811fa6c 100644 Binary files a/src/resources/cache/webgpu/shader/execution/ceil.bin and b/src/resources/cache/webgpu/shader/execution/ceil.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/clamp.bin b/src/resources/cache/webgpu/shader/execution/clamp.bin index 772ed8b62bab..8636252982e3 100644 Binary files a/src/resources/cache/webgpu/shader/execution/clamp.bin and b/src/resources/cache/webgpu/shader/execution/clamp.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/cos.bin b/src/resources/cache/webgpu/shader/execution/cos.bin index 2164a1ce49aa..32ef7e9b35fa 100644 Binary files a/src/resources/cache/webgpu/shader/execution/cos.bin and b/src/resources/cache/webgpu/shader/execution/cos.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/cosh.bin b/src/resources/cache/webgpu/shader/execution/cosh.bin index a4f87d852260..041b2005cdd9 100644 Binary files a/src/resources/cache/webgpu/shader/execution/cosh.bin and b/src/resources/cache/webgpu/shader/execution/cosh.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/cross.bin b/src/resources/cache/webgpu/shader/execution/cross.bin index c3903383c93c..c0f8426045c0 100644 Binary files a/src/resources/cache/webgpu/shader/execution/cross.bin and b/src/resources/cache/webgpu/shader/execution/cross.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/degrees.bin b/src/resources/cache/webgpu/shader/execution/degrees.bin index 3ef3416aa3c3..8835978fee74 100644 Binary files a/src/resources/cache/webgpu/shader/execution/degrees.bin and b/src/resources/cache/webgpu/shader/execution/degrees.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/determinant.bin b/src/resources/cache/webgpu/shader/execution/determinant.bin index f69fc55e483b..0f9ead46d470 100644 Binary files a/src/resources/cache/webgpu/shader/execution/determinant.bin and b/src/resources/cache/webgpu/shader/execution/determinant.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/distance.bin b/src/resources/cache/webgpu/shader/execution/distance.bin index 3b7ebdfdfce1..3f44730c2914 100644 Binary files a/src/resources/cache/webgpu/shader/execution/distance.bin and b/src/resources/cache/webgpu/shader/execution/distance.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/dot.bin b/src/resources/cache/webgpu/shader/execution/dot.bin index f7023520c97a..64170f9ead20 100644 Binary files a/src/resources/cache/webgpu/shader/execution/dot.bin and b/src/resources/cache/webgpu/shader/execution/dot.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/exp.bin b/src/resources/cache/webgpu/shader/execution/exp.bin index 5e5dbab586c8..d3bc858dce7d 100644 Binary files a/src/resources/cache/webgpu/shader/execution/exp.bin and b/src/resources/cache/webgpu/shader/execution/exp.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/exp2.bin b/src/resources/cache/webgpu/shader/execution/exp2.bin index 7012bac15948..7303cf377182 100644 Binary files a/src/resources/cache/webgpu/shader/execution/exp2.bin and b/src/resources/cache/webgpu/shader/execution/exp2.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/faceForward.bin b/src/resources/cache/webgpu/shader/execution/faceForward.bin index 301b017b9cfb..a252c65e83be 100644 Binary files a/src/resources/cache/webgpu/shader/execution/faceForward.bin and b/src/resources/cache/webgpu/shader/execution/faceForward.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/floor.bin b/src/resources/cache/webgpu/shader/execution/floor.bin index 8641e8596187..6ce2eb77e5c5 100644 Binary files a/src/resources/cache/webgpu/shader/execution/floor.bin and b/src/resources/cache/webgpu/shader/execution/floor.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/fma.bin b/src/resources/cache/webgpu/shader/execution/fma.bin index ee4d9b9eb14b..dd1d749f3290 100644 Binary files a/src/resources/cache/webgpu/shader/execution/fma.bin and b/src/resources/cache/webgpu/shader/execution/fma.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/fract.bin b/src/resources/cache/webgpu/shader/execution/fract.bin index 6e1bbfd23ba2..5c5bc2634cb2 100644 Binary files a/src/resources/cache/webgpu/shader/execution/fract.bin and b/src/resources/cache/webgpu/shader/execution/fract.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/frexp.bin b/src/resources/cache/webgpu/shader/execution/frexp.bin index c4b8abad73bc..01b2e4994823 100644 Binary files a/src/resources/cache/webgpu/shader/execution/frexp.bin and b/src/resources/cache/webgpu/shader/execution/frexp.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/inverseSqrt.bin b/src/resources/cache/webgpu/shader/execution/inverseSqrt.bin index 2e757f360fa8..ffca9fbab154 100644 Binary files a/src/resources/cache/webgpu/shader/execution/inverseSqrt.bin and b/src/resources/cache/webgpu/shader/execution/inverseSqrt.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/ldexp.bin b/src/resources/cache/webgpu/shader/execution/ldexp.bin index 2aa23b335dce..30955edef888 100644 Binary files a/src/resources/cache/webgpu/shader/execution/ldexp.bin and b/src/resources/cache/webgpu/shader/execution/ldexp.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/length.bin b/src/resources/cache/webgpu/shader/execution/length.bin index 4e30ab9100fb..360000f141d9 100644 Binary files a/src/resources/cache/webgpu/shader/execution/length.bin and b/src/resources/cache/webgpu/shader/execution/length.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/log.bin b/src/resources/cache/webgpu/shader/execution/log.bin index be7b1a07b90e..4b9514a84c3c 100644 Binary files a/src/resources/cache/webgpu/shader/execution/log.bin and b/src/resources/cache/webgpu/shader/execution/log.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/log2.bin b/src/resources/cache/webgpu/shader/execution/log2.bin index b2c4a26a41ac..942c173b5455 100644 Binary files a/src/resources/cache/webgpu/shader/execution/log2.bin and b/src/resources/cache/webgpu/shader/execution/log2.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/max.bin b/src/resources/cache/webgpu/shader/execution/max.bin index d88e859e32d1..07c43e63ad46 100644 Binary files a/src/resources/cache/webgpu/shader/execution/max.bin and b/src/resources/cache/webgpu/shader/execution/max.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/min.bin b/src/resources/cache/webgpu/shader/execution/min.bin index fa68f932f493..1dbefebc8eef 100644 Binary files a/src/resources/cache/webgpu/shader/execution/min.bin and b/src/resources/cache/webgpu/shader/execution/min.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/mix.bin b/src/resources/cache/webgpu/shader/execution/mix.bin index 35fe1e3ac084..ff0b42278502 100644 Binary files a/src/resources/cache/webgpu/shader/execution/mix.bin and b/src/resources/cache/webgpu/shader/execution/mix.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/modf.bin b/src/resources/cache/webgpu/shader/execution/modf.bin index f08ad4c8ce04..f28e2ccffc74 100644 Binary files a/src/resources/cache/webgpu/shader/execution/modf.bin and b/src/resources/cache/webgpu/shader/execution/modf.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/normalize.bin b/src/resources/cache/webgpu/shader/execution/normalize.bin index 501aadf5a20a..0eb872a9258b 100644 Binary files a/src/resources/cache/webgpu/shader/execution/normalize.bin and b/src/resources/cache/webgpu/shader/execution/normalize.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/pack2x16float.bin b/src/resources/cache/webgpu/shader/execution/pack2x16float.bin index 602706e9b2c8..0b386efe79e6 100644 Binary files a/src/resources/cache/webgpu/shader/execution/pack2x16float.bin and b/src/resources/cache/webgpu/shader/execution/pack2x16float.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/pow.bin b/src/resources/cache/webgpu/shader/execution/pow.bin index c1ffbb0fa59b..a702265c4356 100644 Binary files a/src/resources/cache/webgpu/shader/execution/pow.bin and b/src/resources/cache/webgpu/shader/execution/pow.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/quantizeToF16.bin b/src/resources/cache/webgpu/shader/execution/quantizeToF16.bin index 0018c258c0db..9bd85005917b 100644 Binary files a/src/resources/cache/webgpu/shader/execution/quantizeToF16.bin and b/src/resources/cache/webgpu/shader/execution/quantizeToF16.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/radians.bin b/src/resources/cache/webgpu/shader/execution/radians.bin index baa1cbcc8be8..d82c08aa74b7 100644 Binary files a/src/resources/cache/webgpu/shader/execution/radians.bin and b/src/resources/cache/webgpu/shader/execution/radians.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/reflect.bin b/src/resources/cache/webgpu/shader/execution/reflect.bin index dfa6e2dca169..a5a3635dd86b 100644 Binary files a/src/resources/cache/webgpu/shader/execution/reflect.bin and b/src/resources/cache/webgpu/shader/execution/reflect.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/refract.bin b/src/resources/cache/webgpu/shader/execution/refract.bin index 39a9a79e872f..da3d481d2f3a 100644 Binary files a/src/resources/cache/webgpu/shader/execution/refract.bin and b/src/resources/cache/webgpu/shader/execution/refract.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/round.bin b/src/resources/cache/webgpu/shader/execution/round.bin index 6a815b386c01..00bf08c72644 100644 Binary files a/src/resources/cache/webgpu/shader/execution/round.bin and b/src/resources/cache/webgpu/shader/execution/round.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/saturate.bin b/src/resources/cache/webgpu/shader/execution/saturate.bin index 08cc351e9000..1abe4e339959 100644 Binary files a/src/resources/cache/webgpu/shader/execution/saturate.bin and b/src/resources/cache/webgpu/shader/execution/saturate.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/sign.bin b/src/resources/cache/webgpu/shader/execution/sign.bin index fee195390e79..3e1ac5038758 100644 Binary files a/src/resources/cache/webgpu/shader/execution/sign.bin and b/src/resources/cache/webgpu/shader/execution/sign.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/sin.bin b/src/resources/cache/webgpu/shader/execution/sin.bin index 2c74717a4319..0d4c3d59dfca 100644 Binary files a/src/resources/cache/webgpu/shader/execution/sin.bin and b/src/resources/cache/webgpu/shader/execution/sin.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/sinh.bin b/src/resources/cache/webgpu/shader/execution/sinh.bin index 8ce8d89c4af9..8cef56796f9b 100644 Binary files a/src/resources/cache/webgpu/shader/execution/sinh.bin and b/src/resources/cache/webgpu/shader/execution/sinh.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/smoothstep.bin b/src/resources/cache/webgpu/shader/execution/smoothstep.bin index 8481527696b6..dfee2d4a6f24 100644 Binary files a/src/resources/cache/webgpu/shader/execution/smoothstep.bin and b/src/resources/cache/webgpu/shader/execution/smoothstep.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/sqrt.bin b/src/resources/cache/webgpu/shader/execution/sqrt.bin index 6778436fc63a..65a054f4a797 100644 Binary files a/src/resources/cache/webgpu/shader/execution/sqrt.bin and b/src/resources/cache/webgpu/shader/execution/sqrt.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/step.bin b/src/resources/cache/webgpu/shader/execution/step.bin index 783bb91cf9ec..ea29dc940690 100644 Binary files a/src/resources/cache/webgpu/shader/execution/step.bin and b/src/resources/cache/webgpu/shader/execution/step.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/tan.bin b/src/resources/cache/webgpu/shader/execution/tan.bin index 937d7e78883f..09c6c6802e68 100644 Binary files a/src/resources/cache/webgpu/shader/execution/tan.bin and b/src/resources/cache/webgpu/shader/execution/tan.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/tanh.bin b/src/resources/cache/webgpu/shader/execution/tanh.bin index 3c180bcba4b8..44d320ace23a 100644 Binary files a/src/resources/cache/webgpu/shader/execution/tanh.bin and b/src/resources/cache/webgpu/shader/execution/tanh.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/transpose.bin b/src/resources/cache/webgpu/shader/execution/transpose.bin index 76590b2836a9..6a58c7c768e3 100644 Binary files a/src/resources/cache/webgpu/shader/execution/transpose.bin and b/src/resources/cache/webgpu/shader/execution/transpose.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/trunc.bin b/src/resources/cache/webgpu/shader/execution/trunc.bin index 2b49373ba078..f03b0f3db248 100644 Binary files a/src/resources/cache/webgpu/shader/execution/trunc.bin and b/src/resources/cache/webgpu/shader/execution/trunc.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/af_arithmetic.bin b/src/resources/cache/webgpu/shader/execution/unary/af_arithmetic.bin index fc5bf8dc2fd7..e0e6bf535726 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/af_arithmetic.bin and b/src/resources/cache/webgpu/shader/execution/unary/af_arithmetic.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/af_assignment.bin b/src/resources/cache/webgpu/shader/execution/unary/af_assignment.bin index 4fca4df4de82..0bf18ce61b51 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/af_assignment.bin and b/src/resources/cache/webgpu/shader/execution/unary/af_assignment.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/bool_conversion.bin b/src/resources/cache/webgpu/shader/execution/unary/bool_conversion.bin index bf0d864abcbe..af224bf84662 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/bool_conversion.bin and b/src/resources/cache/webgpu/shader/execution/unary/bool_conversion.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/f16_arithmetic.bin b/src/resources/cache/webgpu/shader/execution/unary/f16_arithmetic.bin index 5603e4b1f70a..e6c1ff36df6a 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/f16_arithmetic.bin and b/src/resources/cache/webgpu/shader/execution/unary/f16_arithmetic.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/f16_conversion.bin b/src/resources/cache/webgpu/shader/execution/unary/f16_conversion.bin index 9f6c86c14880..1084364c058a 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/f16_conversion.bin and b/src/resources/cache/webgpu/shader/execution/unary/f16_conversion.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/f32_arithmetic.bin b/src/resources/cache/webgpu/shader/execution/unary/f32_arithmetic.bin index 10d979f8d465..d6b2b474df20 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/f32_arithmetic.bin and b/src/resources/cache/webgpu/shader/execution/unary/f32_arithmetic.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/f32_conversion.bin b/src/resources/cache/webgpu/shader/execution/unary/f32_conversion.bin index 0511d67c357a..aea129471e86 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/f32_conversion.bin and b/src/resources/cache/webgpu/shader/execution/unary/f32_conversion.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/i32_arithmetic.bin b/src/resources/cache/webgpu/shader/execution/unary/i32_arithmetic.bin index a7c3688700a4..7b08a4b003ca 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/i32_arithmetic.bin and b/src/resources/cache/webgpu/shader/execution/unary/i32_arithmetic.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/i32_complement.bin b/src/resources/cache/webgpu/shader/execution/unary/i32_complement.bin index 1163ab7347c3..1425bf7a1cf3 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/i32_complement.bin and b/src/resources/cache/webgpu/shader/execution/unary/i32_complement.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/i32_conversion.bin b/src/resources/cache/webgpu/shader/execution/unary/i32_conversion.bin index f3c700f1148c..0dd269a0ad0c 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/i32_conversion.bin and b/src/resources/cache/webgpu/shader/execution/unary/i32_conversion.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/u32_complement.bin b/src/resources/cache/webgpu/shader/execution/unary/u32_complement.bin index 778a8c9d5a81..a811884889b2 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/u32_complement.bin and b/src/resources/cache/webgpu/shader/execution/unary/u32_complement.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unary/u32_conversion.bin b/src/resources/cache/webgpu/shader/execution/unary/u32_conversion.bin index f6668b3f9693..05e3a8d20e12 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unary/u32_conversion.bin and b/src/resources/cache/webgpu/shader/execution/unary/u32_conversion.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unpack2x16float.bin b/src/resources/cache/webgpu/shader/execution/unpack2x16float.bin index 869f74f9b42c..79d46db2865b 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unpack2x16float.bin and b/src/resources/cache/webgpu/shader/execution/unpack2x16float.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unpack2x16snorm.bin b/src/resources/cache/webgpu/shader/execution/unpack2x16snorm.bin index ada02252247f..7b9d1fa48338 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unpack2x16snorm.bin and b/src/resources/cache/webgpu/shader/execution/unpack2x16snorm.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unpack2x16unorm.bin b/src/resources/cache/webgpu/shader/execution/unpack2x16unorm.bin index 95de6e1222a7..6e5f8886e345 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unpack2x16unorm.bin and b/src/resources/cache/webgpu/shader/execution/unpack2x16unorm.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unpack4x8snorm.bin b/src/resources/cache/webgpu/shader/execution/unpack4x8snorm.bin index 3e3eceae1320..4173ffc3498c 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unpack4x8snorm.bin and b/src/resources/cache/webgpu/shader/execution/unpack4x8snorm.bin differ diff --git a/src/resources/cache/webgpu/shader/execution/unpack4x8unorm.bin b/src/resources/cache/webgpu/shader/execution/unpack4x8unorm.bin index 84fb6cb077d9..c4f4513015d5 100644 Binary files a/src/resources/cache/webgpu/shader/execution/unpack4x8unorm.bin and b/src/resources/cache/webgpu/shader/execution/unpack4x8unorm.bin differ diff --git a/src/webgpu/api/validation/createBindGroupLayout.spec.ts b/src/webgpu/api/validation/createBindGroupLayout.spec.ts index a50247aa13e7..0db9f438763b 100644 --- a/src/webgpu/api/validation/createBindGroupLayout.spec.ts +++ b/src/webgpu/api/validation/createBindGroupLayout.spec.ts @@ -163,8 +163,10 @@ g.test('visibility,VERTEX_shader_stage_storage_texture_access') .fn(t => { const { shaderStage, access } = t.params; + const appliedAccess = access ?? 'write-only'; const success = !( - (access ?? 'write-only') === 'write-only' && shaderStage & GPUShaderStage.VERTEX + // If visibility includes VERETX, storageTexture.access must be "read-only" + (shaderStage & GPUShaderStage.VERTEX && appliedAccess !== 'read-only') ); t.expectValidationError(() => { @@ -173,7 +175,7 @@ g.test('visibility,VERTEX_shader_stage_storage_texture_access') { binding: 0, visibility: shaderStage, - storageTexture: { access, format: 'rgba8unorm' }, + storageTexture: { access, format: 'r32uint' }, }, ], }); @@ -436,29 +438,35 @@ g.test('storage_texture,layout_dimension') g.test('storage_texture,formats') .desc( ` - Test that a validation error is generated if the format doesn't support the storage usage. + Test that a validation error is generated if the format doesn't support the storage usage. A + validation error is also generated if the format doesn't support the 'read-write' storage access + when the storage access is 'read-write'. ` ) - .params(u => u.combine('format', kAllTextureFormats)) + .params(u => + u // + .combine('format', kAllTextureFormats) // + .combine('access', kStorageTextureAccessValues) + ) .beforeAllSubcases(t => { t.selectDeviceForTextureFormatOrSkipTestCase(t.params.format); }) .fn(t => { - const { format } = t.params; + const { format, access } = t.params; const info = kTextureFormatInfo[format]; - t.expectValidationError( - () => { - t.device.createBindGroupLayout({ - entries: [ - { - binding: 0, - visibility: GPUShaderStage.COMPUTE, - storageTexture: { format }, - }, - ], - }); - }, - !info.color?.storage - ); + const success = + info.color?.storage && !(access === 'read-write' && !info.color?.readWriteStorage); + + t.expectValidationError(() => { + t.device.createBindGroupLayout({ + entries: [ + { + binding: 0, + visibility: GPUShaderStage.COMPUTE, + storageTexture: { format, access }, + }, + ], + }); + }, !success); }); diff --git a/src/webgpu/capability_info.ts b/src/webgpu/capability_info.ts index e7d0bbe90306..933e7be916b3 100644 --- a/src/webgpu/capability_info.ts +++ b/src/webgpu/capability_info.ts @@ -490,7 +490,7 @@ export function storageTextureBindingTypeInfo(d: GPUStorageTextureBindingLayout) }; } /** List of all GPUStorageTextureAccess values. */ -export const kStorageTextureAccessValues = ['write-only'] as const; +export const kStorageTextureAccessValues = ['read-only', 'read-write', 'write-only'] as const; assertTypeTrue>(); /** GPUBindGroupLayoutEntry, but only the "union" fields, not the common fields. */ diff --git a/src/webgpu/format_info.ts b/src/webgpu/format_info.ts index 55bbfad55c20..3fd2f0b3fc82 100644 --- a/src/webgpu/format_info.ts +++ b/src/webgpu/format_info.ts @@ -72,7 +72,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ // plain, 8 bits per component r8unorm: { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 1 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 1, + }, colorRender: { blend: true, resolve: true, byteCost: 1, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -82,13 +89,27 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, r8snorm: { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 1 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 1, + }, multisample: false, /*prettier-ignore*/ get sampleType() { return this.color.type; }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, r8uint: { - color: { type: 'uint', copySrc: true, copyDst: true, storage: false, bytes: 1 }, + color: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 1, + }, colorRender: { blend: false, resolve: false, byteCost: 1, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -98,7 +119,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, r8sint: { - color: { type: 'sint', copySrc: true, copyDst: true, storage: false, bytes: 1 }, + color: { + type: 'sint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 1, + }, colorRender: { blend: false, resolve: false, byteCost: 1, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -109,7 +137,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ }, rg8unorm: { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 2 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 2, + }, colorRender: { blend: true, resolve: true, byteCost: 2, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -119,13 +154,27 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rg8snorm: { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 2 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 2, + }, multisample: false, /*prettier-ignore*/ get sampleType() { return this.color.type; }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rg8uint: { - color: { type: 'uint', copySrc: true, copyDst: true, storage: false, bytes: 2 }, + color: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 2, + }, colorRender: { blend: false, resolve: false, byteCost: 2, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -135,7 +184,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rg8sint: { - color: { type: 'sint', copySrc: true, copyDst: true, storage: false, bytes: 2 }, + color: { + type: 'sint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 2, + }, colorRender: { blend: false, resolve: false, byteCost: 2, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -146,7 +202,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ }, rgba8unorm: { - color: { type: 'float', copySrc: true, copyDst: true, storage: true, bytes: 4 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: true, resolve: true, byteCost: 8, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -157,7 +220,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'rgba8unorm-srgb': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 4 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: true, resolve: true, byteCost: 8, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -168,13 +238,27 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rgba8snorm: { - color: { type: 'float', copySrc: true, copyDst: true, storage: true, bytes: 4 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 4, + }, multisample: false, /*prettier-ignore*/ get sampleType() { return this.color.type; }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rgba8uint: { - color: { type: 'uint', copySrc: true, copyDst: true, storage: true, bytes: 4 }, + color: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: false, resolve: false, byteCost: 4, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -184,7 +268,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rgba8sint: { - color: { type: 'sint', copySrc: true, copyDst: true, storage: true, bytes: 4 }, + color: { + type: 'sint', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: false, resolve: false, byteCost: 4, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -194,7 +285,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, bgra8unorm: { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 4 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: true, resolve: true, byteCost: 8, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -205,7 +303,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bgra8unorm-srgb': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 4 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: true, resolve: true, byteCost: 8, alignment: 1 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -219,7 +324,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ // plain, 16 bits per component r16uint: { - color: { type: 'uint', copySrc: true, copyDst: true, storage: false, bytes: 2 }, + color: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 2, + }, colorRender: { blend: false, resolve: false, byteCost: 2, alignment: 2 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -229,7 +341,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, r16sint: { - color: { type: 'sint', copySrc: true, copyDst: true, storage: false, bytes: 2 }, + color: { + type: 'sint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 2, + }, colorRender: { blend: false, resolve: false, byteCost: 2, alignment: 2 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -239,7 +358,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, r16float: { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 2 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 2, + }, colorRender: { blend: true, resolve: true, byteCost: 2, alignment: 2 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -250,7 +376,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ }, rg16uint: { - color: { type: 'uint', copySrc: true, copyDst: true, storage: false, bytes: 4 }, + color: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: false, resolve: false, byteCost: 4, alignment: 2 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -260,7 +393,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rg16sint: { - color: { type: 'sint', copySrc: true, copyDst: true, storage: false, bytes: 4 }, + color: { + type: 'sint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: false, resolve: false, byteCost: 4, alignment: 2 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -270,7 +410,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rg16float: { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 4 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: true, resolve: true, byteCost: 4, alignment: 2 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -281,7 +428,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ }, rgba16uint: { - color: { type: 'uint', copySrc: true, copyDst: true, storage: true, bytes: 8 }, + color: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 8, + }, colorRender: { blend: false, resolve: false, byteCost: 8, alignment: 2 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -291,7 +445,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rgba16sint: { - color: { type: 'sint', copySrc: true, copyDst: true, storage: true, bytes: 8 }, + color: { + type: 'sint', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 8, + }, colorRender: { blend: false, resolve: false, byteCost: 8, alignment: 2 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -301,7 +462,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rgba16float: { - color: { type: 'float', copySrc: true, copyDst: true, storage: true, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 8, + }, colorRender: { blend: true, resolve: true, byteCost: 8, alignment: 2 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -314,7 +482,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ // plain, 32 bits per component r32uint: { - color: { type: 'uint', copySrc: true, copyDst: true, storage: true, bytes: 4 }, + color: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: true, + bytes: 4, + }, colorRender: { blend: false, resolve: false, byteCost: 4, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -324,7 +499,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, r32sint: { - color: { type: 'sint', copySrc: true, copyDst: true, storage: true, bytes: 4 }, + color: { + type: 'sint', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: true, + bytes: 4, + }, colorRender: { blend: false, resolve: false, byteCost: 4, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -334,7 +516,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, r32float: { - color: { type: 'unfilterable-float', copySrc: true, copyDst: true, storage: true, bytes: 4 }, + color: { + type: 'unfilterable-float', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: true, + bytes: 4, + }, colorRender: { blend: false, resolve: false, byteCost: 4, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -345,7 +534,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ }, rg32uint: { - color: { type: 'uint', copySrc: true, copyDst: true, storage: true, bytes: 8 }, + color: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 8, + }, colorRender: { blend: false, resolve: false, byteCost: 8, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -355,7 +551,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rg32sint: { - color: { type: 'sint', copySrc: true, copyDst: true, storage: true, bytes: 8 }, + color: { + type: 'sint', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 8, + }, colorRender: { blend: false, resolve: false, byteCost: 8, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -365,7 +568,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rg32float: { - color: { type: 'unfilterable-float', copySrc: true, copyDst: true, storage: true, bytes: 8 }, + color: { + type: 'unfilterable-float', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 8, + }, colorRender: { blend: false, resolve: false, byteCost: 8, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -376,7 +586,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ }, rgba32uint: { - color: { type: 'uint', copySrc: true, copyDst: true, storage: true, bytes: 16 }, + color: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 16, + }, colorRender: { blend: false, resolve: false, byteCost: 16, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -386,7 +603,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rgba32sint: { - color: { type: 'sint', copySrc: true, copyDst: true, storage: true, bytes: 16 }, + color: { + type: 'sint', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 16, + }, colorRender: { blend: false, resolve: false, byteCost: 16, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -396,7 +620,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rgba32float: { - color: { type: 'unfilterable-float', copySrc: true, copyDst: true, storage: true, bytes: 16 }, + color: { + type: 'unfilterable-float', + copySrc: true, + copyDst: true, + storage: true, + readWriteStorage: false, + bytes: 16, + }, colorRender: { blend: false, resolve: false, byteCost: 16, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -409,7 +640,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ // plain, mixed component width, 32 bits per texel rgb10a2uint: { - color: { type: 'uint', copySrc: true, copyDst: true, storage: false, bytes: 4 }, + color: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: false, resolve: false, byteCost: 8, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -419,7 +657,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rgb10a2unorm: { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 4 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 4, + }, colorRender: { blend: true, resolve: true, byteCost: 8, alignment: 4 }, renderable: true, /*prettier-ignore*/ get renderTargetComponentAlignment() { return this.colorRender.alignment; }, @@ -429,7 +674,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, rg11b10ufloat: { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 4 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 4, + }, multisample: false, /*prettier-ignore*/ get sampleType() { return this.color.type; }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, @@ -440,7 +692,14 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({ // packed rgb9e5ufloat: { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 4 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 4, + }, multisample: false, /*prettier-ignore*/ get sampleType() { return this.color.type; }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, @@ -455,19 +714,40 @@ const kSizedDepthStencilFormatInfo = formatTableWithDefaults({ defaults: { blockWidth: 1, blockHeight: 1, multisample: true, copySrc: true, renderable: true }, table: { stencil8: { - stencil: { type: 'uint', copySrc: true, copyDst: true, storage: false, bytes: 1 }, + stencil: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 1, + }, sampleType: 'uint', copyDst: true, bytesPerBlock: 1, }, depth16unorm: { - depth: { type: 'depth', copySrc: true, copyDst: true, storage: false, bytes: 2 }, + depth: { + type: 'depth', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 2, + }, sampleType: 'depth', copyDst: true, bytesPerBlock: 2, }, depth32float: { - depth: { type: 'depth', copySrc: true, copyDst: false, storage: false, bytes: 4 }, + depth: { + type: 'depth', + copySrc: true, + copyDst: false, + storage: false, + readWriteStorage: false, + bytes: 4, + }, sampleType: 'depth', copyDst: false, bytesPerBlock: 4, @@ -478,23 +758,58 @@ const kUnsizedDepthStencilFormatInfo = formatTableWithDefaults({ defaults: { blockWidth: 1, blockHeight: 1, multisample: true }, table: { depth24plus: { - depth: { type: 'depth', copySrc: false, copyDst: false, storage: false, bytes: undefined }, + depth: { + type: 'depth', + copySrc: false, + copyDst: false, + storage: false, + readWriteStorage: false, + bytes: undefined, + }, copySrc: false, copyDst: false, sampleType: 'depth', renderable: true, }, 'depth24plus-stencil8': { - depth: { type: 'depth', copySrc: false, copyDst: false, storage: false, bytes: undefined }, - stencil: { type: 'uint', copySrc: true, copyDst: true, storage: false, bytes: 1 }, + depth: { + type: 'depth', + copySrc: false, + copyDst: false, + storage: false, + readWriteStorage: false, + bytes: undefined, + }, + stencil: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 1, + }, copySrc: false, copyDst: false, sampleType: 'depth', renderable: true, }, 'depth32float-stencil8': { - depth: { type: 'depth', copySrc: true, copyDst: false, storage: false, bytes: 4 }, - stencil: { type: 'uint', copySrc: true, copyDst: true, storage: false, bytes: 1 }, + depth: { + type: 'depth', + copySrc: true, + copyDst: false, + storage: false, + readWriteStorage: false, + bytes: 4, + }, + stencil: { + type: 'uint', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 1, + }, feature: 'depth32float-stencil8', copySrc: false, copyDst: false, @@ -516,72 +831,170 @@ const kBCTextureFormatInfo = formatTableWithDefaults({ }, table: { 'bc1-rgba-unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 8, + }, baseFormat: 'bc1-rgba-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc1-rgba-unorm-srgb': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 8, + }, baseFormat: 'bc1-rgba-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc2-rgba-unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'bc2-rgba-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc2-rgba-unorm-srgb': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'bc2-rgba-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc3-rgba-unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'bc3-rgba-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc3-rgba-unorm-srgb': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'bc3-rgba-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc4-r-unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 8, + }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc4-r-snorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 8, + }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc5-rg-unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc5-rg-snorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc6h-rgb-ufloat': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc6h-rgb-float': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc7-rgba-unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'bc7-rgba-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'bc7-rgba-unorm-srgb': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'bc7-rgba-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -600,53 +1013,123 @@ const kETC2TextureFormatInfo = formatTableWithDefaults({ }, table: { 'etc2-rgb8unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 8, + }, baseFormat: 'etc2-rgb8unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'etc2-rgb8unorm-srgb': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 8, + }, baseFormat: 'etc2-rgb8unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'etc2-rgb8a1unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 8, + }, baseFormat: 'etc2-rgb8a1unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'etc2-rgb8a1unorm-srgb': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 8, + }, baseFormat: 'etc2-rgb8a1unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'etc2-rgba8unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'etc2-rgba8unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'etc2-rgba8unorm-srgb': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'etc2-rgba8unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'eac-r11unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 8, + }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'eac-r11snorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 8 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 8, + }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'eac-rg11unorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'eac-rg11snorm': { - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, }, @@ -664,14 +1147,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-4x4-unorm': { blockWidth: 4, blockHeight: 4, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-4x4-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-4x4-unorm-srgb': { blockWidth: 4, blockHeight: 4, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-4x4-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -679,14 +1176,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-5x4-unorm': { blockWidth: 5, blockHeight: 4, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-5x4-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-5x4-unorm-srgb': { blockWidth: 5, blockHeight: 4, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-5x4-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -694,14 +1205,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-5x5-unorm': { blockWidth: 5, blockHeight: 5, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-5x5-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-5x5-unorm-srgb': { blockWidth: 5, blockHeight: 5, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-5x5-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -709,14 +1234,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-6x5-unorm': { blockWidth: 6, blockHeight: 5, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-6x5-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-6x5-unorm-srgb': { blockWidth: 6, blockHeight: 5, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-6x5-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -724,14 +1263,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-6x6-unorm': { blockWidth: 6, blockHeight: 6, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-6x6-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-6x6-unorm-srgb': { blockWidth: 6, blockHeight: 6, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-6x6-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -739,14 +1292,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-8x5-unorm': { blockWidth: 8, blockHeight: 5, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-8x5-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-8x5-unorm-srgb': { blockWidth: 8, blockHeight: 5, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-8x5-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -754,14 +1321,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-8x6-unorm': { blockWidth: 8, blockHeight: 6, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-8x6-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-8x6-unorm-srgb': { blockWidth: 8, blockHeight: 6, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-8x6-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -769,14 +1350,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-8x8-unorm': { blockWidth: 8, blockHeight: 8, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-8x8-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-8x8-unorm-srgb': { blockWidth: 8, blockHeight: 8, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-8x8-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -784,14 +1379,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-10x5-unorm': { blockWidth: 10, blockHeight: 5, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-10x5-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-10x5-unorm-srgb': { blockWidth: 10, blockHeight: 5, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-10x5-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -799,14 +1408,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-10x6-unorm': { blockWidth: 10, blockHeight: 6, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-10x6-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-10x6-unorm-srgb': { blockWidth: 10, blockHeight: 6, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-10x6-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -814,14 +1437,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-10x8-unorm': { blockWidth: 10, blockHeight: 8, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-10x8-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-10x8-unorm-srgb': { blockWidth: 10, blockHeight: 8, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-10x8-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -829,14 +1466,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-10x10-unorm': { blockWidth: 10, blockHeight: 10, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-10x10-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-10x10-unorm-srgb': { blockWidth: 10, blockHeight: 10, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-10x10-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -844,14 +1495,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-12x10-unorm': { blockWidth: 12, blockHeight: 10, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-12x10-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-12x10-unorm-srgb': { blockWidth: 12, blockHeight: 10, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-12x10-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -859,14 +1524,28 @@ const kASTCTextureFormatInfo = formatTableWithDefaults({ 'astc-12x12-unorm': { blockWidth: 12, blockHeight: 12, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-12x12-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, 'astc-12x12-unorm-srgb': { blockWidth: 12, blockHeight: 12, - color: { type: 'float', copySrc: true, copyDst: true, storage: false, bytes: 16 }, + color: { + type: 'float', + copySrc: true, + copyDst: true, + storage: false, + readWriteStorage: false, + bytes: 16, + }, baseFormat: 'astc-12x12-unorm', /*prettier-ignore*/ get bytesPerBlock() { return this.color.bytes; }, }, @@ -937,6 +1616,8 @@ interface TextureFormatAspectInfo { copyDst: boolean; /** Whether the aspect can be used as `STORAGE`. */ storage: boolean; + /** Whether the aspect can be used as `STORAGE` with `read-write` storage texture access. */ + readWriteStorage: boolean; /** The "texel block copy footprint" of one texel block; `undefined` if the aspect is unsized. */ bytes: number | undefined; }