Import Tint changes from Dawn
Changes:
- 824e824709a70401b4862cf6e1adf3a0a2a84c49 tint: Rename float / int literal tokens by Ben Clayton <bclayton@google.com>
- 508e4a5a8227fe6354f7d5a70afac792695dae6c tint: Add abstract AInt and AFloat typedefs by Ben Clayton <bclayton@google.com>
- 0a3cda99115e6d0da055dc8db2198819a4112e8d tint: Replace all ProgramBuilder float literals with '_f'... by Ben Clayton <bclayton@google.com>
- 636e3d0111081026e718f7efaf3e46fcca5768a6 tint: Add a negation operator to Number by Ben Clayton <bclayton@google.com>
- 17fa42d5274acc8693ed0d68fb2b26cf27adcf3d tint: Prevent Expr() implicit conversion to bool by Ben Clayton <bclayton@google.com>
- 41285aa57874023f346a06f48cdf7c218c771d0e tint: Lex different tokens for float suffixes by Ben Clayton <bclayton@google.com>
- 6c9e475211042d6d70caaae9f45fc0ed4901789a tint: Support dot4I8Packed and dot4U8Packed in sem by Jiawei Shao <jiawei.shao@intel.com>
GitOrigin-RevId: 824e824709a70401b4862cf6e1adf3a0a2a84c49
Change-Id: I12013f4c1cad059931d567c0a72bf7ab5969c89d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/89740
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/ast/builtin_texture_helper_test.cc b/src/tint/ast/builtin_texture_helper_test.cc
index 8f9091d..21cbd93 100644
--- a/src/tint/ast/builtin_texture_helper_test.cc
+++ b/src/tint/ast/builtin_texture_helper_test.cc
@@ -461,7 +461,7 @@
return b->ExprList(0_i, // component
"texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f)); // coords
+ b->vec2<f32>(1_f, 2_f)); // coords
},
},
{
@@ -480,7 +480,7 @@
return b->ExprList(0_i, // component
"texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
b->vec2<i32>(3_i, 4_i)); // offset
},
},
@@ -500,7 +500,7 @@
return b->ExprList(0_i, // component
"texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i); // array index
},
},
@@ -521,7 +521,7 @@
return b->ExprList(0_i, // component
"texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
b->vec2<i32>(4_i, 5_i)); // offset
},
@@ -541,7 +541,7 @@
return b->ExprList(0_i, // component
"texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f)); // coords
+ b->vec3<f32>(1_f, 2_f, 3_f)); // coords
},
},
{
@@ -560,7 +560,7 @@
return b->ExprList(0_i, // component
"texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
4_i); // array_index
},
},
@@ -577,7 +577,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f)); // coords
+ b->vec2<f32>(1_f, 2_f)); // coords
},
},
{
@@ -594,7 +594,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
b->vec2<i32>(3_i, 4_i)); // offset
},
},
@@ -612,7 +612,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i); // array_index
},
},
@@ -631,7 +631,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
b->vec2<i32>(4_i, 5_i)); // offset
},
@@ -649,7 +649,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f)); // coords
+ b->vec3<f32>(1_f, 2_f, 3_f)); // coords
},
},
{
@@ -666,7 +666,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
4_i); // array_index
},
},
@@ -684,8 +684,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
- 3.f); // depth_ref
+ b->vec2<f32>(1_f, 2_f), // coords
+ 3_f); // depth_ref
},
},
{
@@ -703,8 +703,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
- 3.f, // depth_ref
+ b->vec2<f32>(1_f, 2_f), // coords
+ 3_f, // depth_ref
b->vec2<i32>(4_i, 5_i)); // offset
},
},
@@ -723,9 +723,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
- 4.f); // depth_ref
+ 4_f); // depth_ref
},
},
{
@@ -744,9 +744,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
- 4.f, // depth_ref
+ 4_f, // depth_ref
b->vec2<i32>(5_i, 6_i)); // offset
},
},
@@ -764,8 +764,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- 4.f); // depth_ref
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ 4_f); // depth_ref
},
},
{
@@ -783,9 +783,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
4_i, // array_index
- 5.f); // depth_ref
+ 5_f); // depth_ref
},
},
{
@@ -951,7 +951,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- 1.0f); // coords
+ 1_f); // coords
},
},
{
@@ -967,7 +967,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f)); // coords
+ b->vec2<f32>(1_f, 2_f)); // coords
},
},
{
@@ -984,7 +984,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
b->vec2<i32>(3_i, 4_i)); // offset
},
},
@@ -1002,7 +1002,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i); // array_index
},
},
@@ -1021,7 +1021,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
b->vec2<i32>(4_i, 5_i)); // offset
},
@@ -1039,7 +1039,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f)); // coords
+ b->vec3<f32>(1_f, 2_f, 3_f)); // coords
},
},
{
@@ -1056,7 +1056,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
b->vec3<i32>(4_i, 5_i, 6_i)); // offset
},
},
@@ -1073,7 +1073,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f)); // coords
+ b->vec3<f32>(1_f, 2_f, 3_f)); // coords
},
},
{
@@ -1090,7 +1090,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
4_i); // array_index
},
},
@@ -1107,7 +1107,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f)); // coords
+ b->vec2<f32>(1_f, 2_f)); // coords
},
},
{
@@ -1124,7 +1124,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
b->vec2<i32>(3_i, 4_i)); // offset
},
},
@@ -1142,7 +1142,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i); // array_index
},
},
@@ -1161,7 +1161,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
b->vec2<i32>(4_i, 5_i)); // offset
},
@@ -1179,7 +1179,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f)); // coords
+ b->vec3<f32>(1_f, 2_f, 3_f)); // coords
},
},
{
@@ -1196,7 +1196,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
4_i); // array_index
},
},
@@ -1214,8 +1214,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
- 3.f); // bias
+ b->vec2<f32>(1_f, 2_f), // coords
+ 3_f); // bias
},
},
{
@@ -1233,8 +1233,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
- 3.f, // bias
+ b->vec2<f32>(1_f, 2_f), // coords
+ 3_f, // bias
b->vec2<i32>(4_i, 5_i)); // offset
},
},
@@ -1253,9 +1253,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
4_i, // array_index
- 3.f); // bias
+ 3_f); // bias
},
},
{
@@ -1274,9 +1274,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
- 4.f, // bias
+ 4_f, // bias
b->vec2<i32>(5_i, 6_i)); // offset
},
},
@@ -1294,8 +1294,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- 4.f); // bias
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ 4_f); // bias
},
},
{
@@ -1313,8 +1313,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- 4.f, // bias
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ 4_f, // bias
b->vec3<i32>(5_i, 6_i, 7_i)); // offset
},
},
@@ -1332,8 +1332,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- 4.f); // bias
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ 4_f); // bias
},
},
{
@@ -1351,9 +1351,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
3_i, // array_index
- 4.f); // bias
+ 4_f); // bias
},
},
{
@@ -1370,8 +1370,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
- 3.f); // level
+ b->vec2<f32>(1_f, 2_f), // coords
+ 3_f); // level
},
},
{
@@ -1389,8 +1389,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
- 3.f, // level
+ b->vec2<f32>(1_f, 2_f), // coords
+ 3_f, // level
b->vec2<i32>(4_i, 5_i)); // offset
},
},
@@ -1409,9 +1409,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
- 4.f); // level
+ 4_f); // level
},
},
{
@@ -1430,9 +1430,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
- 4.f, // level
+ 4_f, // level
b->vec2<i32>(5_i, 6_i)); // offset
},
},
@@ -1450,8 +1450,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- 4.f); // level
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ 4_f); // level
},
},
{
@@ -1469,8 +1469,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- 4.f, // level
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ 4_f, // level
b->vec3<i32>(5_i, 6_i, 7_i)); // offset
},
},
@@ -1488,8 +1488,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- 4.f); // level
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ 4_f); // level
},
},
{
@@ -1507,9 +1507,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
4_i, // array_index
- 5.f); // level
+ 5_f); // level
},
},
{
@@ -1526,7 +1526,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i); // level
},
},
@@ -1545,7 +1545,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // level
b->vec2<i32>(4_i, 5_i)); // offset
},
@@ -1565,7 +1565,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
4_i); // level
},
@@ -1586,7 +1586,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
4_i, // level
b->vec2<i32>(5_i, 6_i)); // offset
@@ -1606,7 +1606,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
4_i); // level
},
},
@@ -1625,7 +1625,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
4_i, // array_index
5_i); // level
},
@@ -1643,11 +1643,11 @@
TextureDataType::kF32,
"textureSampleGrad",
[](ProgramBuilder* b) {
- return b->ExprList("texture", // t
- "sampler", // s
- b->vec2<f32>(1.0f, 2.0f), // coords
- b->vec2<f32>(3.0f, 4.0f), // ddx
- b->vec2<f32>(5.0f, 6.0f)); // ddy
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec2<f32>(1_f, 2_f), // coords
+ b->vec2<f32>(3_f, 4_f), // ddx
+ b->vec2<f32>(5_f, 6_f)); // ddy
},
},
{
@@ -1666,9 +1666,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
- b->vec2<f32>(3.f, 4.f), // ddx
- b->vec2<f32>(5.f, 6.f), // ddy
+ b->vec2<f32>(1_f, 2_f), // coords
+ b->vec2<f32>(3_f, 4_f), // ddx
+ b->vec2<f32>(5_f, 6_f), // ddy
b->vec2<i32>(7_i, 7_i)); // offset
},
},
@@ -1688,10 +1688,10 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
- b->vec2<f32>(4.f, 5.f), // ddx
- b->vec2<f32>(6.f, 7.f)); // ddy
+ b->vec2<f32>(4_f, 5_f), // ddx
+ b->vec2<f32>(6_f, 7_f)); // ddy
},
},
{
@@ -1711,10 +1711,10 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
3_i, // array_index
- b->vec2<f32>(4.f, 5.f), // ddx
- b->vec2<f32>(6.f, 7.f), // ddy
+ b->vec2<f32>(4_f, 5_f), // ddx
+ b->vec2<f32>(6_f, 7_f), // ddy
b->vec2<i32>(6_i, 7_i)); // offset
},
},
@@ -1733,9 +1733,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- b->vec3<f32>(4.f, 5.f, 6.f), // ddx
- b->vec3<f32>(7.f, 8.f, 9.f)); // ddy
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ b->vec3<f32>(4_f, 5_f, 6_f), // ddx
+ b->vec3<f32>(7_f, 8_f, 9_f)); // ddy
},
},
{
@@ -1754,9 +1754,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- b->vec3<f32>(4.f, 5.f, 6.f), // ddx
- b->vec3<f32>(7.f, 8.f, 9.f), // ddy
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ b->vec3<f32>(4_f, 5_f, 6_f), // ddx
+ b->vec3<f32>(7_f, 8_f, 9_f), // ddy
b->vec3<i32>(0_i, 1_i, 2_i)); // offset
},
},
@@ -1775,9 +1775,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- b->vec3<f32>(4.f, 5.f, 6.f), // ddx
- b->vec3<f32>(7.f, 8.f, 9.f)); // ddy
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ b->vec3<f32>(4_f, 5_f, 6_f), // ddx
+ b->vec3<f32>(7_f, 8_f, 9_f)); // ddy
},
},
{
@@ -1796,10 +1796,10 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
4_i, // array_index
- b->vec3<f32>(5.f, 6.f, 7.f), // ddx
- b->vec3<f32>(8.f, 9.f, 10.f)); // ddy
+ b->vec3<f32>(5_f, 6_f, 7_f), // ddx
+ b->vec3<f32>(8_f, 9_f, 10_f)); // ddy
},
},
{
@@ -1816,8 +1816,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
- 3.f); // depth_ref
+ b->vec2<f32>(1_f, 2_f), // coords
+ 3_f); // depth_ref
},
},
{
@@ -1835,8 +1835,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
- 3.f, // depth_ref
+ b->vec2<f32>(1_f, 2_f), // coords
+ 3_f, // depth_ref
b->vec2<i32>(4_i, 5_i)); // offset
},
},
@@ -1855,9 +1855,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
4_i, // array_index
- 3.f); // depth_ref
+ 3_f); // depth_ref
},
},
{
@@ -1876,9 +1876,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<f32>(1_f, 2_f), // coords
4_i, // array_index
- 3.f, // depth_ref
+ 3_f, // depth_ref
b->vec2<i32>(5_i, 6_i)); // offset
},
},
@@ -1896,8 +1896,8 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
- 4.f); // depth_ref
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
+ 4_f); // depth_ref
},
},
{
@@ -1915,9 +1915,9 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
"sampler", // s
- b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ b->vec3<f32>(1_f, 2_f, 3_f), // coords
4_i, // array_index
- 5.f); // depth_ref
+ 5_f); // depth_ref
},
},
{
@@ -2196,7 +2196,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
1_i, // coords
- b->vec4<f32>(2.f, 3.f, 4.f, 5.f)); // value
+ b->vec4<f32>(2_f, 3_f, 4_f, 5_f)); // value
},
},
{
@@ -2212,7 +2212,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
b->vec2<i32>(1_i, 2_i), // coords
- b->vec4<f32>(3.f, 4.f, 5.f, 6.f)); // value
+ b->vec4<f32>(3_f, 4_f, 5_f, 6_f)); // value
},
},
{
@@ -2230,7 +2230,7 @@
return b->ExprList("texture", // t
b->vec2<i32>(1_i, 2_i), // coords
3_i, // array_index
- b->vec4<f32>(4.f, 5.f, 6.f, 7.f)); // value
+ b->vec4<f32>(4_f, 5_f, 6_f, 7_f)); // value
},
},
{
@@ -2246,7 +2246,7 @@
[](ProgramBuilder* b) {
return b->ExprList("texture", // t
b->vec3<i32>(1_i, 2_i, 3_i), // coords
- b->vec4<f32>(4.f, 5.f, 6.f, 7.f)); // value
+ b->vec4<f32>(4_f, 5_f, 6_f, 7_f)); // value
},
},
};
diff --git a/src/tint/ast/enable.cc b/src/tint/ast/enable.cc
index f4c6dd6..857e110 100644
--- a/src/tint/ast/enable.cc
+++ b/src/tint/ast/enable.cc
@@ -22,6 +22,10 @@
namespace tint::ast {
Enable::ExtensionKind Enable::NameToKind(const std::string& name) {
+ if (name == "chromium_experimental_dp4a") {
+ return Enable::ExtensionKind::kChromiumExperimentalDP4a;
+ }
+
// The reserved internal extension name for testing
if (name == "InternalExtensionForTesting") {
return Enable::ExtensionKind::kInternalExtensionForTesting;
@@ -32,6 +36,8 @@
std::string Enable::KindToName(ExtensionKind kind) {
switch (kind) {
+ case ExtensionKind::kChromiumExperimentalDP4a:
+ return "chromium_experimental_dp4a";
// The reserved internal extension for testing
case ExtensionKind::kInternalExtensionForTesting:
return "InternalExtensionForTesting";
diff --git a/src/tint/ast/enable.h b/src/tint/ast/enable.h
index 67c47c9..7bcd20e 100644
--- a/src/tint/ast/enable.h
+++ b/src/tint/ast/enable.h
@@ -32,6 +32,11 @@
public:
/// The enum class identifing each supported WGSL extension
enum class ExtensionKind {
+ /// An extension for the experimental feature
+ /// "chromium_experimental_dp4a".
+ /// See crbug.com/tint/1497 for more details
+ kChromiumExperimentalDP4a,
+
/// An internal reserved extension for test, named
/// "InternalExtensionForTesting"
kInternalExtensionForTesting = -2,
diff --git a/src/tint/ast/float_literal_expression.cc b/src/tint/ast/float_literal_expression.cc
index 5be5a19..ab2d6cf 100644
--- a/src/tint/ast/float_literal_expression.cc
+++ b/src/tint/ast/float_literal_expression.cc
@@ -22,15 +22,18 @@
namespace tint::ast {
-FloatLiteralExpression::FloatLiteralExpression(ProgramID pid, const Source& src, float val)
- : Base(pid, src), value(val) {}
+FloatLiteralExpression::FloatLiteralExpression(ProgramID pid,
+ const Source& src,
+ double val,
+ Suffix suf)
+ : Base(pid, src), value(val), suffix(suf) {}
FloatLiteralExpression::~FloatLiteralExpression() = default;
const FloatLiteralExpression* FloatLiteralExpression::Clone(CloneContext* ctx) const {
// Clone arguments outside of create() call to have deterministic ordering
auto src = ctx->Clone(source);
- return ctx->dst->create<FloatLiteralExpression>(src, value);
+ return ctx->dst->create<FloatLiteralExpression>(src, value, suffix);
}
} // namespace tint::ast
diff --git a/src/tint/ast/float_literal_expression.h b/src/tint/ast/float_literal_expression.h
index d1e1a64..321efc891 100644
--- a/src/tint/ast/float_literal_expression.h
+++ b/src/tint/ast/float_literal_expression.h
@@ -24,11 +24,20 @@
/// A float literal
class FloatLiteralExpression final : public Castable<FloatLiteralExpression, LiteralExpression> {
public:
+ /// Literal suffix
+ enum class Suffix {
+ /// No suffix
+ kNone,
+ /// 'f' suffix (f32)
+ kF,
+ };
+
/// Constructor
/// @param pid the identifier of the program that owns this node
/// @param src the source of this node
- /// @param value the float literals value
- FloatLiteralExpression(ProgramID pid, const Source& src, float value);
+ /// @param val the literal value
+ /// @param suf the literal suffix
+ FloatLiteralExpression(ProgramID pid, const Source& src, double val, Suffix suf);
~FloatLiteralExpression() override;
/// Clones this node and all transitive child nodes using the `CloneContext`
@@ -37,8 +46,11 @@
/// @return the newly cloned node
const FloatLiteralExpression* Clone(CloneContext* ctx) const override;
- /// The float literal value
- const float value;
+ /// The literal value
+ const double value;
+
+ /// The literal suffix
+ const Suffix suffix;
};
} // namespace tint::ast
diff --git a/src/tint/ast/float_literal_expression_test.cc b/src/tint/ast/float_literal_expression_test.cc
index c0f1e16..a2f9b25 100644
--- a/src/tint/ast/float_literal_expression_test.cc
+++ b/src/tint/ast/float_literal_expression_test.cc
@@ -19,10 +19,18 @@
using FloatLiteralExpressionTest = TestHelper;
-TEST_F(FloatLiteralExpressionTest, Value) {
- auto* f = create<FloatLiteralExpression>(47.2f);
- ASSERT_TRUE(f->Is<FloatLiteralExpression>());
- EXPECT_EQ(f->value, 47.2f);
+TEST_F(FloatLiteralExpressionTest, SuffixNone) {
+ auto* i = create<FloatLiteralExpression>(42.0, FloatLiteralExpression::Suffix::kNone);
+ ASSERT_TRUE(i->Is<FloatLiteralExpression>());
+ EXPECT_EQ(i->value, 42);
+ EXPECT_EQ(i->suffix, FloatLiteralExpression::Suffix::kNone);
+}
+
+TEST_F(FloatLiteralExpressionTest, SuffixF) {
+ auto* i = create<FloatLiteralExpression>(42.0, FloatLiteralExpression::Suffix::kF);
+ ASSERT_TRUE(i->Is<FloatLiteralExpression>());
+ EXPECT_EQ(i->value, 42);
+ EXPECT_EQ(i->suffix, FloatLiteralExpression::Suffix::kF);
}
} // namespace
diff --git a/src/tint/ast/variable_test.cc b/src/tint/ast/variable_test.cc
index b43a19e..e62ec1e 100644
--- a/src/tint/ast/variable_test.cc
+++ b/src/tint/ast/variable_test.cc
@@ -17,6 +17,8 @@
#include "src/tint/ast/id_attribute.h"
#include "src/tint/ast/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::ast {
namespace {
@@ -84,7 +86,7 @@
{
ProgramBuilder b1;
ProgramBuilder b2;
- b1.Var("x", b1.ty.f32(), StorageClass::kNone, b2.Expr(1.2f));
+ b1.Var("x", b1.ty.f32(), StorageClass::kNone, b2.Expr(1.2_f));
},
"internal compiler error");
}
diff --git a/src/tint/inspector/inspector.cc b/src/tint/inspector/inspector.cc
index bdc14b0..36fcfb7 100644
--- a/src/tint/inspector/inspector.cc
+++ b/src/tint/inspector/inspector.cc
@@ -259,7 +259,7 @@
}
if (auto* l = literal->As<ast::FloatLiteralExpression>()) {
- result[constant_id] = Scalar(l->value);
+ result[constant_id] = Scalar(static_cast<float>(l->value));
continue;
}
diff --git a/src/tint/inspector/inspector_test.cc b/src/tint/inspector/inspector_test.cc
index 8e3662b..18a33b1 100644
--- a/src/tint/inspector/inspector_test.cc
+++ b/src/tint/inspector/inspector_test.cc
@@ -623,7 +623,7 @@
}
TEST_F(InspectorGetEntryPointTest, OverridableConstantInitialized) {
- AddOverridableConstantWithoutID("foo", ty.f32(), Expr(0.0f));
+ AddOverridableConstantWithoutID("foo", ty.f32(), Expr(0_f));
MakePlainGlobalReferenceBodyFunction("ep_func", "foo", ty.f32(),
{Stage(ast::PipelineStage::kCompute), WorkgroupSize(1_i)});
@@ -991,7 +991,7 @@
TEST_F(InspectorGetConstantIDsTest, I32) {
AddOverridableConstantWithID("foo", 1, ty.i32(), nullptr);
- AddOverridableConstantWithID("bar", 20, ty.i32(), Expr(i32(-42)));
+ AddOverridableConstantWithID("bar", 20, ty.i32(), Expr(-42_i));
AddOverridableConstantWithID("baz", 300, ty.i32(), Expr(42_i));
Inspector& inspector = Build();
@@ -1013,9 +1013,9 @@
TEST_F(InspectorGetConstantIDsTest, Float) {
AddOverridableConstantWithID("foo", 1, ty.f32(), nullptr);
- AddOverridableConstantWithID("bar", 20, ty.f32(), Expr(0.0f));
- AddOverridableConstantWithID("baz", 300, ty.f32(), Expr(-10.0f));
- AddOverridableConstantWithID("x", 4000, ty.f32(), Expr(15.0f));
+ AddOverridableConstantWithID("bar", 20, ty.f32(), Expr(0_f));
+ AddOverridableConstantWithID("baz", 300, ty.f32(), Expr(-10_f));
+ AddOverridableConstantWithID("x", 4000, ty.f32(), Expr(15_f));
Inspector& inspector = Build();
@@ -1027,15 +1027,15 @@
ASSERT_TRUE(result.find(20) != result.end());
EXPECT_TRUE(result[20].IsFloat());
- EXPECT_FLOAT_EQ(0.0, result[20].AsFloat());
+ EXPECT_FLOAT_EQ(0.0f, result[20].AsFloat());
ASSERT_TRUE(result.find(300) != result.end());
EXPECT_TRUE(result[300].IsFloat());
- EXPECT_FLOAT_EQ(-10.0, result[300].AsFloat());
+ EXPECT_FLOAT_EQ(-10.0f, result[300].AsFloat());
ASSERT_TRUE(result.find(4000) != result.end());
EXPECT_TRUE(result[4000].IsFloat());
- EXPECT_FLOAT_EQ(15.0, result[4000].AsFloat());
+ EXPECT_FLOAT_EQ(15.0f, result[4000].AsFloat());
}
TEST_F(InspectorGetConstantNameToIdMapTest, WithAndWithoutIds) {
diff --git a/src/tint/intrinsics.def b/src/tint/intrinsics.def
index cebbd55..0bebe4b 100644
--- a/src/tint/intrinsics.def
+++ b/src/tint/intrinsics.def
@@ -300,6 +300,8 @@
fn distance(f32, f32) -> f32
fn distance<N: num>(vec<N, f32>, vec<N, f32>) -> f32
fn dot<N: num, T: fiu32>(vec<N, T>, vec<N, T>) -> T
+fn dot4I8Packed(u32, u32) -> i32
+fn dot4U8Packed(u32, u32) -> u32
[[stage("fragment")]] fn dpdx(f32) -> f32
[[stage("fragment")]] fn dpdx<N: num>(vec<N, f32>) -> vec<N, f32>
[[stage("fragment")]] fn dpdxCoarse(f32) -> f32
diff --git a/src/tint/number.h b/src/tint/number.h
index 165a00a..a4bd369 100644
--- a/src/tint/number.h
+++ b/src/tint/number.h
@@ -16,6 +16,7 @@
#define SRC_TINT_NUMBER_H_
#include <stdint.h>
+#include <functional>
namespace tint {
@@ -27,12 +28,22 @@
/// Constructor.
/// @param v the value to initialize this Number to
- explicit Number(T v) : value(v) {}
+ template <typename U>
+ explicit Number(U v) : value(static_cast<T>(v)) {}
+
+ /// Constructor.
+ /// @param v the value to initialize this Number to
+ template <typename U>
+ explicit Number(Number<U> v) : value(static_cast<T>(v.value)) {}
/// Conversion operator
/// @returns the value as T
operator T() const { return value; }
+ /// Negation operator
+ /// @returns the negative value of the number
+ Number operator-() const { return Number(-value); }
+
/// Assignment operator
/// @param v the new value
/// @returns this Number so calls can be chained
@@ -47,30 +58,46 @@
template <typename A, typename B>
bool operator==(Number<A> a, Number<B> b) {
- return a.value == b.value;
+ using T = decltype(a.value + b.value);
+ return std::equal_to<T>()(a.value, b.value);
}
template <typename A, typename B>
bool operator==(Number<A> a, B b) {
- return a.value == b;
+ return a == Number<B>(b);
}
template <typename A, typename B>
bool operator==(A a, Number<B> b) {
- return a == b.value;
+ return Number<A>(a) == b;
}
+/// `AInt` is a type alias to `Number<int64_t>`.
+using AInt = Number<int64_t>;
+/// `AFloat` is a type alias to `Number<double>`.
+using AFloat = Number<double>;
+
/// `i32` is a type alias to `Number<int32_t>`.
using i32 = Number<int32_t>;
/// `u32` is a type alias to `Number<uint32_t>`.
using u32 = Number<uint32_t>;
-/// `f32` is a type alias to `float`
-using f32 = float;
+/// `f32` is a type alias to `Number<float>`
+using f32 = Number<float>;
} // namespace tint
namespace tint::number_suffixes {
+/// Literal suffix for abstract integer literals
+inline AInt operator"" _a(unsigned long long int value) { // NOLINT
+ return AInt(static_cast<int64_t>(value));
+}
+
+/// Literal suffix for abstract float literals
+inline AFloat operator"" _a(long double value) { // NOLINT
+ return AFloat(static_cast<double>(value));
+}
+
/// Literal suffix for i32 literals
inline i32 operator"" _i(unsigned long long int value) { // NOLINT
return i32(static_cast<int32_t>(value));
@@ -81,6 +108,16 @@
return u32(static_cast<uint32_t>(value));
}
+/// Literal suffix for f32 literals
+inline f32 operator"" _f(long double value) { // NOLINT
+ return f32(static_cast<double>(value));
+}
+
+/// Literal suffix for f32 literals
+inline f32 operator"" _f(unsigned long long int value) { // NOLINT
+ return f32(static_cast<double>(value));
+}
+
} // namespace tint::number_suffixes
#endif // SRC_TINT_NUMBER_H_
diff --git a/src/tint/program_builder.h b/src/tint/program_builder.h
index 088efc9..7dd2c81 100644
--- a/src/tint/program_builder.h
+++ b/src/tint/program_builder.h
@@ -974,53 +974,89 @@
/// @param source the source information
/// @param value the boolean value
/// @return a Scalar constructor for the given value
- const ast::BoolLiteralExpression* Expr(const Source& source, bool value) {
+ template <typename BOOL>
+ std::enable_if_t<std::is_same_v<BOOL, bool>, const ast::BoolLiteralExpression*> Expr(
+ const Source& source,
+ BOOL value) {
return create<ast::BoolLiteralExpression>(source, value);
}
/// @param value the boolean value
/// @return a Scalar constructor for the given value
- const ast::BoolLiteralExpression* Expr(bool value) {
+ template <typename BOOL>
+ std::enable_if_t<std::is_same_v<BOOL, bool>, const ast::BoolLiteralExpression*> Expr(
+ BOOL value) {
return create<ast::BoolLiteralExpression>(value);
}
/// @param source the source information
/// @param value the float value
- /// @return a Scalar constructor for the given value
+ /// @return a 'f'-suffixed FloatLiteralExpression for the f32 value
const ast::FloatLiteralExpression* Expr(const Source& source, f32 value) {
- return create<ast::FloatLiteralExpression>(source, value);
+ return create<ast::FloatLiteralExpression>(source, static_cast<double>(value.value),
+ ast::FloatLiteralExpression::Suffix::kF);
}
/// @param value the float value
- /// @return a Scalar constructor for the given value
+ /// @return a 'f'-suffixed FloatLiteralExpression for the f32 value
const ast::FloatLiteralExpression* Expr(f32 value) {
- return create<ast::FloatLiteralExpression>(value);
+ return create<ast::FloatLiteralExpression>(static_cast<double>(value.value),
+ ast::FloatLiteralExpression::Suffix::kF);
}
/// @param source the source information
/// @param value the integer value
- /// @return a 'i'-suffixed IntLiteralExpression for the given value
+ /// @return an unsuffixed IntLiteralExpression for the AInt value
+ const ast::IntLiteralExpression* Expr(const Source& source, AInt value) {
+ return create<ast::IntLiteralExpression>(source, value,
+ ast::IntLiteralExpression::Suffix::kNone);
+ }
+
+ /// @param value the integer value
+ /// @return an unsuffixed IntLiteralExpression for the AInt value
+ const ast::IntLiteralExpression* Expr(AInt value) {
+ return create<ast::IntLiteralExpression>(value, ast::IntLiteralExpression::Suffix::kNone);
+ }
+
+ /// @param source the source information
+ /// @param value the integer value
+ /// @return an unsuffixed FloatLiteralExpression for the AFloat value
+ const ast::FloatLiteralExpression* Expr(const Source& source, AFloat value) {
+ return create<ast::FloatLiteralExpression>(source, value.value,
+ ast::FloatLiteralExpression::Suffix::kNone);
+ }
+
+ /// @param value the integer value
+ /// @return an unsuffixed FloatLiteralExpression for the AFloat value
+ const ast::FloatLiteralExpression* Expr(AFloat value) {
+ return create<ast::FloatLiteralExpression>(value.value,
+ ast::FloatLiteralExpression::Suffix::kNone);
+ }
+
+ /// @param source the source information
+ /// @param value the integer value
+ /// @return a signed 'i'-suffixed IntLiteralExpression for the i32 value
const ast::IntLiteralExpression* Expr(const Source& source, i32 value) {
return create<ast::IntLiteralExpression>(source, value,
ast::IntLiteralExpression::Suffix::kI);
}
/// @param value the integer value
- /// @return a 'i'-suffixed IntLiteralExpression for the given value
+ /// @return a signed 'i'-suffixed IntLiteralExpression for the i32 value
const ast::IntLiteralExpression* Expr(i32 value) {
return create<ast::IntLiteralExpression>(value, ast::IntLiteralExpression::Suffix::kI);
}
/// @param source the source information
/// @param value the unsigned int value
- /// @return a 'u'-suffixed IntLiteralExpression for the given value
+ /// @return an unsigned 'u'-suffixed IntLiteralExpression for the u32 value
const ast::IntLiteralExpression* Expr(const Source& source, u32 value) {
return create<ast::IntLiteralExpression>(source, value,
ast::IntLiteralExpression::Suffix::kU);
}
/// @param value the unsigned int value
- /// @return a 'u'-suffixed IntLiteralExpression for the given value
+ /// @return an unsigned 'u'-suffixed IntLiteralExpression for the u32 value
const ast::IntLiteralExpression* Expr(u32 value) {
return create<ast::IntLiteralExpression>(value, ast::IntLiteralExpression::Suffix::kU);
}
diff --git a/src/tint/reader/spirv/function.cc b/src/tint/reader/spirv/function.cc
index b416a6a..82f6224 100644
--- a/src/tint/reader/spirv/function.cc
+++ b/src/tint/reader/spirv/function.cc
@@ -137,6 +137,8 @@
// constructs
//
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::reader::spirv {
namespace {
@@ -2499,7 +2501,8 @@
return source_expr;
}
case SkipReason::kPointSizeBuiltinValue: {
- return {ty_.F32(), create<ast::FloatLiteralExpression>(Source{}, 1.0f)};
+ return {ty_.F32(), create<ast::FloatLiteralExpression>(
+ Source{}, 1.0, ast::FloatLiteralExpression::Suffix::kF)};
}
case SkipReason::kPointSizeBuiltinPointer:
Fail() << "unhandled use of a pointer to the PointSize builtin, with ID: " << id;
@@ -3928,7 +3931,7 @@
case GLSLstd450Normalize:
// WGSL does not have scalar form of the normalize builtin.
// The answer would be 1 anyway, so return that directly.
- return {ty_.F32(), builder_.Expr(1.0f)};
+ return {ty_.F32(), builder_.Expr(1_f)};
case GLSLstd450FaceForward: {
// If dot(Nref, Incident) < 0, the result is Normal, otherwise -Normal.
@@ -3951,7 +3954,7 @@
create<ast::BinaryExpression>(
Source{}, ast::BinaryOp::kLessThan,
builder_.Mul({}, incident.expr, nref.expr),
- builder_.Expr(0.0f))})};
+ builder_.Expr(0_f))})};
}
case GLSLstd450Reflect: {
@@ -3960,12 +3963,12 @@
auto normal = MakeOperand(inst, 3);
TINT_ASSERT(Reader, incident.type->Is<F32>());
TINT_ASSERT(Reader, normal.type->Is<F32>());
- return {ty_.F32(),
- builder_.Sub(
- incident.expr,
- builder_.Mul(2.0f,
- builder_.Mul(normal.expr,
- builder_.Mul(normal.expr, incident.expr))))};
+ return {
+ ty_.F32(),
+ builder_.Sub(
+ incident.expr,
+ builder_.Mul(2_f, builder_.Mul(normal.expr,
+ builder_.Mul(normal.expr, incident.expr))))};
}
case GLSLstd450Refract: {
@@ -3982,13 +3985,13 @@
return {};
}
const Type* f32 = eta.type;
- return {f32,
- builder_.MemberAccessor(
- builder_.Call(Source{}, "refract",
- ast::ExpressionList{
- builder_.vec2<float>(incident.expr, 0.0f),
- builder_.vec2<float>(normal.expr, 0.0f), eta.expr}),
- "x")};
+ return {f32, builder_.MemberAccessor(
+ builder_.Call(
+ Source{}, "refract",
+ ast::ExpressionList{
+ builder_.vec2<tint::f32>(incident.expr, 0_f),
+ builder_.vec2<tint::f32>(normal.expr, 0_f), eta.expr}),
+ "x")};
}
default:
break;
diff --git a/src/tint/reader/spirv/parser_impl.cc b/src/tint/reader/spirv/parser_impl.cc
index 28dc856..bdc52e6 100644
--- a/src/tint/reader/spirv/parser_impl.cc
+++ b/src/tint/reader/spirv/parser_impl.cc
@@ -1343,7 +1343,9 @@
float float_value;
// Copy the bits so we can read them as a float.
std::memcpy(&float_value, &literal_value, sizeof(float_value));
- return create<ast::FloatLiteralExpression>(Source{}, float_value);
+ return create<ast::FloatLiteralExpression>(
+ Source{}, static_cast<double>(float_value),
+ ast::FloatLiteralExpression::Suffix::kF);
});
if (ast_expr == nullptr) {
return Fail() << " invalid result type for OpSpecConstant "
@@ -1905,18 +1907,22 @@
return Switch(
ast_type,
[&](const I32*) {
- return TypedExpression{ty_.I32(), create<ast::IntLiteralExpression>(
- source, spirv_const->GetS32(),
- ast::IntLiteralExpression::Suffix::kI)};
+ return TypedExpression{ty_.I32(),
+ create<ast::IntLiteralExpression>(
+ source, static_cast<int64_t>(spirv_const->GetS32()),
+ ast::IntLiteralExpression::Suffix::kI)};
},
[&](const U32*) {
- return TypedExpression{ty_.U32(), create<ast::IntLiteralExpression>(
- source, spirv_const->GetU32(),
- ast::IntLiteralExpression::Suffix::kU)};
+ return TypedExpression{ty_.U32(),
+ create<ast::IntLiteralExpression>(
+ source, static_cast<int64_t>(spirv_const->GetU32()),
+ ast::IntLiteralExpression::Suffix::kU)};
},
[&](const F32*) {
- return TypedExpression{
- ty_.F32(), create<ast::FloatLiteralExpression>(source, spirv_const->GetFloat())};
+ return TypedExpression{ty_.F32(),
+ create<ast::FloatLiteralExpression>(
+ source, static_cast<double>(spirv_const->GetFloat()),
+ ast::FloatLiteralExpression::Suffix::kF)};
},
[&](const Bool*) {
const bool value =
@@ -1953,7 +1959,10 @@
return create<ast::IntLiteralExpression>(Source{}, 0,
ast::IntLiteralExpression::Suffix::kU);
},
- [&](const F32*) { return create<ast::FloatLiteralExpression>(Source{}, 0.0f); },
+ [&](const F32*) {
+ return create<ast::FloatLiteralExpression>(Source{}, 0,
+ ast::FloatLiteralExpression::Suffix::kF);
+ },
[&](const Vector*) { return builder_.Construct(Source{}, type->Build(builder_)); },
[&](const Matrix*) { return builder_.Construct(Source{}, type->Build(builder_)); },
[&](const Array*) { return builder_.Construct(Source{}, type->Build(builder_)); },
diff --git a/src/tint/reader/wgsl/lexer.cc b/src/tint/reader/wgsl/lexer.cc
index d9a9f34..db75613 100644
--- a/src/tint/reader/wgsl/lexer.cc
+++ b/src/tint/reader/wgsl/lexer.cc
@@ -94,7 +94,7 @@
template <typename T>
LimitCheck check_limits(int64_t value) {
static_assert(std::is_integral_v<T>, "T must be an integer");
- if (value < static_cast<int64_t>(std::numeric_limits<T>::min())) {
+ if (value < static_cast<int64_t>(std::numeric_limits<T>::lowest())) {
return LimitCheck::kTooSmall;
}
if (value > static_cast<int64_t>(std::numeric_limits<T>::max())) {
@@ -103,6 +103,19 @@
return LimitCheck::kWithinLimits;
}
+/// Checks whether the value fits within the floating point type `T`
+template <typename T>
+LimitCheck check_limits(double value) {
+ static_assert(std::is_floating_point_v<T>, "T must be a floating point");
+ if (value < static_cast<double>(std::numeric_limits<T>::lowest())) {
+ return LimitCheck::kTooSmall;
+ }
+ if (value > static_cast<double>(std::numeric_limits<T>::max())) {
+ return LimitCheck::kTooLarge;
+ }
+ return LimitCheck::kWithinLimits;
+}
+
} // namespace
Lexer::Lexer(const Source::File* file) : file_(file), location_{1, 1} {}
@@ -378,23 +391,40 @@
advance(end - start);
end_source(source);
- auto res = strtod(&at(start), nullptr);
- // This errors out if a non-zero magnitude is too small to represent in a
- // float. It can't be represented faithfully in an f32.
- const auto magnitude = std::fabs(res);
- if (0.0 < magnitude && magnitude < static_cast<double>(std::numeric_limits<float>::min())) {
- return {Token::Type::kError, source,
- "f32 (" + str + ") magnitude too small, not representable"};
- }
- // This handles if the number is really large negative number
- if (res < static_cast<double>(std::numeric_limits<float>::lowest())) {
- return {Token::Type::kError, source, "f32 (" + str + ") too large (negative)"};
- }
- if (res > static_cast<double>(std::numeric_limits<float>::max())) {
- return {Token::Type::kError, source, "f32 (" + str + ") too large (positive)"};
+ double value = strtod(&at(start), nullptr);
+ const double magnitude = std::abs(value);
+
+ if (has_f_suffix) {
+ // This errors out if a non-zero magnitude is too small to represent in a
+ // float. It can't be represented faithfully in an f32.
+ if (0.0 < magnitude && magnitude < static_cast<double>(std::numeric_limits<float>::min())) {
+ return {Token::Type::kError, source, "magnitude too small to be represented as f32"};
+ }
+ switch (check_limits<float>(value)) {
+ case LimitCheck::kTooSmall:
+ return {Token::Type::kError, source, "value too small for f32"};
+ case LimitCheck::kTooLarge:
+ return {Token::Type::kError, source, "value too large for f32"};
+ default:
+ return {Token::Type::kFloatLiteral_F, source, value};
+ }
}
- return {source, static_cast<float>(res)};
+ // TODO(crbug.com/tint/1504): Properly support abstract float:
+ // Change `AbstractFloatType` to `double`, update errors to say 'abstract int'.
+ using AbstractFloatType = float;
+ if (0.0 < magnitude &&
+ magnitude < static_cast<double>(std::numeric_limits<AbstractFloatType>::min())) {
+ return {Token::Type::kError, source, "magnitude too small to be represented as f32"};
+ }
+ switch (check_limits<AbstractFloatType>(value)) {
+ case LimitCheck::kTooSmall:
+ return {Token::Type::kError, source, "value too small for f32"};
+ case LimitCheck::kTooLarge:
+ return {Token::Type::kError, source, "value too large for f32"};
+ default:
+ return {Token::Type::kFloatLiteral, source, value};
+ }
}
Token Lexer::try_hex_float() {
@@ -566,6 +596,7 @@
uint32_t input_exponent = 0; // Defaults to 0 if not present
int32_t exponent_sign = 1;
// If the 'p' part is present, the rest of the exponent must exist.
+ bool has_f_suffix = false;
if (has_exponent) {
// Parse the rest of the exponent.
// (+|-)?
@@ -597,6 +628,7 @@
// when the exponent is present. Otherwise it will look like
// one of the mantissa digits.
if (end < length() && matches(end, "f")) {
+ has_f_suffix = true;
end++;
}
@@ -680,44 +712,41 @@
result_u32 |= (static_cast<uint32_t>(signed_exponent) & kExponentMask) << kExponentLeftShift;
// Reinterpret as float and return
- float result;
- std::memcpy(&result, &result_u32, sizeof(result));
- return {source, static_cast<float>(result)};
+ float result_f32;
+ std::memcpy(&result_f32, &result_u32, sizeof(result_f32));
+ double result_f64 = static_cast<double>(result_f32);
+ return {has_f_suffix ? Token::Type::kFloatLiteral_F : Token::Type::kFloatLiteral, source,
+ result_f64};
}
-Token Lexer::build_token_from_int_if_possible(Source source,
- size_t start,
- size_t end,
- int32_t base) {
+Token Lexer::build_token_from_int_if_possible(Source source, size_t start, int32_t base) {
int64_t res = strtoll(&at(start), nullptr, base);
- auto str = [&] { return std::string{substr(start, end - start)}; };
-
if (matches(pos(), "u")) {
switch (check_limits<uint32_t>(res)) {
case LimitCheck::kTooSmall:
return {Token::Type::kError, source, "unsigned literal cannot be negative"};
case LimitCheck::kTooLarge:
- return {Token::Type::kError, source, str() + " too large for u32"};
+ return {Token::Type::kError, source, "value too large for u32"};
default:
advance(1);
end_source(source);
- return {Token::Type::kIntULiteral, source, res};
+ return {Token::Type::kIntLiteral_U, source, res};
}
}
if (matches(pos(), "i")) {
switch (check_limits<int32_t>(res)) {
case LimitCheck::kTooSmall:
- return {Token::Type::kError, source, str() + " too small for i32"};
+ return {Token::Type::kError, source, "value too small for i32"};
case LimitCheck::kTooLarge:
- return {Token::Type::kError, source, str() + " too large for i32"};
+ return {Token::Type::kError, source, "value too large for i32"};
default:
break;
}
advance(1);
end_source(source);
- return {Token::Type::kIntILiteral, source, res};
+ return {Token::Type::kIntLiteral_I, source, res};
}
// TODO(crbug.com/tint/1504): Properly support abstract int:
@@ -725,9 +754,9 @@
using AbstractIntType = int32_t;
switch (check_limits<AbstractIntType>(res)) {
case LimitCheck::kTooSmall:
- return {Token::Type::kError, source, str() + " too small for i32"};
+ return {Token::Type::kError, source, "value too small for i32"};
case LimitCheck::kTooLarge:
- return {Token::Type::kError, source, str() + " too large for i32"};
+ return {Token::Type::kError, source, "value too large for i32"};
default:
end_source(source);
return {Token::Type::kIntLiteral, source, res};
@@ -769,7 +798,7 @@
advance(end - start);
- return build_token_from_int_if_possible(source, start, end, 16);
+ return build_token_from_int_if_possible(source, start, 16);
}
Token Lexer::try_integer() {
@@ -812,7 +841,7 @@
advance(end - start);
- return build_token_from_int_if_possible(source, start, end, 10);
+ return build_token_from_int_if_possible(source, start, 10);
}
Token Lexer::try_ident() {
diff --git a/src/tint/reader/wgsl/lexer.h b/src/tint/reader/wgsl/lexer.h
index 11ac9cf..d93848f 100644
--- a/src/tint/reader/wgsl/lexer.h
+++ b/src/tint/reader/wgsl/lexer.h
@@ -43,7 +43,8 @@
/// @returns uninitialized token on success, or error
Token skip_comment();
- Token build_token_from_int_if_possible(Source source, size_t start, size_t end, int32_t base);
+ Token build_token_from_int_if_possible(Source source, size_t start, int32_t base);
+
Token check_keyword(const Source&, std::string_view);
/// The try_* methods have the following in common:
diff --git a/src/tint/reader/wgsl/lexer_test.cc b/src/tint/reader/wgsl/lexer_test.cc
index 6bcea15..0c3e162 100644
--- a/src/tint/reader/wgsl/lexer_test.cc
+++ b/src/tint/reader/wgsl/lexer_test.cc
@@ -303,7 +303,7 @@
struct FloatData {
const char* input;
- float result;
+ double result;
};
inline std::ostream& operator<<(std::ostream& out, FloatData data) {
out << std::string(data.input);
@@ -316,8 +316,12 @@
Lexer l(&file);
auto t = l.next();
- EXPECT_TRUE(t.Is(Token::Type::kFloatLiteral));
- EXPECT_EQ(t.to_f32(), params.result);
+ if (std::string(params.input).back() == 'f') {
+ EXPECT_TRUE(t.Is(Token::Type::kFloatLiteral_F));
+ } else {
+ EXPECT_TRUE(t.Is(Token::Type::kFloatLiteral));
+ }
+ EXPECT_EQ(t.to_f64(), params.result);
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
EXPECT_EQ(t.source().range.end.line, 1u);
@@ -330,63 +334,63 @@
FloatTest,
testing::Values(
// No decimal, with 'f' suffix
- FloatData{"0f", 0.0f},
- FloatData{"1f", 1.0f},
- FloatData{"-0f", 0.0f},
- FloatData{"-1f", -1.0f},
+ FloatData{"0f", 0.0},
+ FloatData{"1f", 1.0},
+ FloatData{"-0f", 0.0},
+ FloatData{"-1f", -1.0},
// Zero, with decimal.
- FloatData{"0.0", 0.0f},
- FloatData{"0.", 0.0f},
- FloatData{".0", 0.0f},
- FloatData{"-0.0", 0.0f},
- FloatData{"-0.", 0.0f},
- FloatData{"-.0", 0.0f},
+ FloatData{"0.0", 0.0},
+ FloatData{"0.", 0.0},
+ FloatData{".0", 0.0},
+ FloatData{"-0.0", 0.0},
+ FloatData{"-0.", 0.0},
+ FloatData{"-.0", 0.0},
// Zero, with decimal and 'f' suffix
- FloatData{"0.0f", 0.0f},
- FloatData{"0.f", 0.0f},
- FloatData{".0f", 0.0f},
- FloatData{"-0.0f", 0.0f},
- FloatData{"-0.f", 0.0f},
- FloatData{"-.0", 0.0f},
+ FloatData{"0.0f", 0.0},
+ FloatData{"0.f", 0.0},
+ FloatData{".0f", 0.0},
+ FloatData{"-0.0f", 0.0},
+ FloatData{"-0.f", 0.0},
+ FloatData{"-.0", 0.0},
// Non-zero with decimal
- FloatData{"5.7", 5.7f},
- FloatData{"5.", 5.f},
- FloatData{".7", .7f},
- FloatData{"-5.7", -5.7f},
- FloatData{"-5.", -5.f},
- FloatData{"-.7", -.7f},
+ FloatData{"5.7", 5.7},
+ FloatData{"5.", 5.},
+ FloatData{".7", .7},
+ FloatData{"-5.7", -5.7},
+ FloatData{"-5.", -5.},
+ FloatData{"-.7", -.7},
// Non-zero with decimal and 'f' suffix
- FloatData{"5.7f", 5.7f},
- FloatData{"5.f", 5.f},
- FloatData{".7f", .7f},
- FloatData{"-5.7f", -5.7f},
- FloatData{"-5.f", -5.f},
- FloatData{"-.7f", -.7f},
+ FloatData{"5.7f", 5.7},
+ FloatData{"5.f", 5.},
+ FloatData{".7f", .7},
+ FloatData{"-5.7f", -5.7},
+ FloatData{"-5.f", -5.},
+ FloatData{"-.7f", -.7},
// No decimal, with exponent
- FloatData{"1e5", 1e5f},
- FloatData{"1E5", 1e5f},
- FloatData{"1e-5", 1e-5f},
- FloatData{"1E-5", 1e-5f},
+ FloatData{"1e5", 1e5},
+ FloatData{"1E5", 1e5},
+ FloatData{"1e-5", 1e-5},
+ FloatData{"1E-5", 1e-5},
// No decimal, with exponent and 'f' suffix
- FloatData{"1e5f", 1e5f},
- FloatData{"1E5f", 1e5f},
- FloatData{"1e-5f", 1e-5f},
- FloatData{"1E-5f", 1e-5f},
+ FloatData{"1e5f", 1e5},
+ FloatData{"1E5f", 1e5},
+ FloatData{"1e-5f", 1e-5},
+ FloatData{"1E-5f", 1e-5},
// With decimal and exponents
- FloatData{"0.2e+12", 0.2e12f},
- FloatData{"1.2e-5", 1.2e-5f},
- FloatData{"2.57e23", 2.57e23f},
- FloatData{"2.5e+0", 2.5f},
- FloatData{"2.5e-0", 2.5f},
+ FloatData{"0.2e+12", 0.2e12},
+ FloatData{"1.2e-5", 1.2e-5},
+ FloatData{"2.57e23", 2.57e23},
+ FloatData{"2.5e+0", 2.5},
+ FloatData{"2.5e-0", 2.5},
// With decimal and exponents and 'f' suffix
- FloatData{"0.2e+12f", 0.2e12f},
- FloatData{"1.2e-5f", 1.2e-5f},
- FloatData{"2.57e23f", 2.57e23f},
- FloatData{"2.5e+0f", 2.5f},
- FloatData{"2.5e-0f", 2.5f}));
+ FloatData{"0.2e+12f", 0.2e12},
+ FloatData{"1.2e-5f", 1.2e-5},
+ FloatData{"2.57e23f", 2.57e23},
+ FloatData{"2.5e+0f", 2.5},
+ FloatData{"2.5e-0f", 2.5}));
using FloatTest_Invalid = testing::TestWithParam<const char*>;
TEST_P(FloatTest_Invalid, Handles) {
@@ -607,7 +611,7 @@
Lexer l(&file);
auto t = l.next();
- EXPECT_TRUE(t.Is(Token::Type::kIntILiteral));
+ EXPECT_TRUE(t.Is(Token::Type::kIntLiteral_I));
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
EXPECT_EQ(t.source().range.end.line, 1u);
@@ -676,7 +680,7 @@
auto t = l.next();
ASSERT_TRUE(t.Is(Token::Type::kError));
- EXPECT_EQ(t.to_str(), "0x80000000 too large for i32");
+ EXPECT_EQ(t.to_str(), "value too large for i32");
}
TEST_F(LexerTest, IntegerTest_HexSignedTooSmall) {
@@ -685,7 +689,7 @@
auto t = l.next();
ASSERT_TRUE(t.Is(Token::Type::kError));
- EXPECT_EQ(t.to_str(), "-0x8000000F too small for i32");
+ EXPECT_EQ(t.to_str(), "value too small for i32");
}
TEST_F(LexerTest, IntegerTest_HexSignedTooManyDigits) {
@@ -723,7 +727,7 @@
Lexer l(&file);
auto t = l.next();
- EXPECT_TRUE(t.Is(Token::Type::kIntULiteral));
+ EXPECT_TRUE(t.Is(Token::Type::kIntLiteral_U));
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
EXPECT_EQ(t.source().range.end.line, 1u);
@@ -766,7 +770,7 @@
Lexer l(&file);
auto t = l.next();
- EXPECT_TRUE(t.Is(Token::Type::kIntULiteral));
+ EXPECT_TRUE(t.Is(Token::Type::kIntLiteral_U));
EXPECT_EQ(t.to_i64(), params.result);
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
@@ -835,8 +839,8 @@
auto t = l.next();
EXPECT_FALSE(t.Is(Token::Type::kIntLiteral));
- EXPECT_FALSE(t.Is(Token::Type::kIntULiteral));
- EXPECT_FALSE(t.Is(Token::Type::kIntILiteral));
+ EXPECT_FALSE(t.Is(Token::Type::kIntLiteral_U));
+ EXPECT_FALSE(t.Is(Token::Type::kIntLiteral_I));
}
INSTANTIATE_TEST_SUITE_P(
LexerTest,
diff --git a/src/tint/reader/wgsl/parser_impl.cc b/src/tint/reader/wgsl/parser_impl.cc
index 8661a00..b2b9a03 100644
--- a/src/tint/reader/wgsl/parser_impl.cc
+++ b/src/tint/reader/wgsl/parser_impl.cc
@@ -2781,16 +2781,21 @@
return create<ast::IntLiteralExpression>(t.source(), t.to_i64(),
ast::IntLiteralExpression::Suffix::kNone);
}
- if (match(Token::Type::kIntILiteral)) {
+ if (match(Token::Type::kIntLiteral_I)) {
return create<ast::IntLiteralExpression>(t.source(), t.to_i64(),
ast::IntLiteralExpression::Suffix::kI);
}
- if (match(Token::Type::kIntULiteral)) {
+ if (match(Token::Type::kIntLiteral_U)) {
return create<ast::IntLiteralExpression>(t.source(), t.to_i64(),
ast::IntLiteralExpression::Suffix::kU);
}
if (match(Token::Type::kFloatLiteral)) {
- return create<ast::FloatLiteralExpression>(t.source(), t.to_f32());
+ return create<ast::FloatLiteralExpression>(t.source(), t.to_f64(),
+ ast::FloatLiteralExpression::Suffix::kNone);
+ }
+ if (match(Token::Type::kFloatLiteral_F)) {
+ return create<ast::FloatLiteralExpression>(t.source(), t.to_f64(),
+ ast::FloatLiteralExpression::Suffix::kF);
}
if (match(Token::Type::kTrue)) {
return create<ast::BoolLiteralExpression>(t.source(), true);
@@ -3126,7 +3131,7 @@
Expect<int32_t> ParserImpl::expect_sint(std::string_view use) {
auto t = peek();
- if (!t.Is(Token::Type::kIntLiteral) && !t.Is(Token::Type::kIntILiteral)) {
+ if (!t.Is(Token::Type::kIntLiteral) && !t.Is(Token::Type::kIntLiteral_I)) {
return add_error(t.source(), "expected signed integer literal", use);
}
diff --git a/src/tint/reader/wgsl/parser_impl_const_expr_test.cc b/src/tint/reader/wgsl/parser_impl_const_expr_test.cc
index 9d58058..80536bd 100644
--- a/src/tint/reader/wgsl/parser_impl_const_expr_test.cc
+++ b/src/tint/reader/wgsl/parser_impl_const_expr_test.cc
@@ -31,10 +31,14 @@
ASSERT_EQ(t->args.size(), 2u);
ASSERT_TRUE(t->args[0]->Is<ast::FloatLiteralExpression>());
- EXPECT_FLOAT_EQ(t->args[0]->As<ast::FloatLiteralExpression>()->value, 1.);
+ EXPECT_DOUBLE_EQ(t->args[0]->As<ast::FloatLiteralExpression>()->value, 1.);
+ EXPECT_EQ(t->args[0]->As<ast::FloatLiteralExpression>()->suffix,
+ ast::FloatLiteralExpression::Suffix::kNone);
ASSERT_TRUE(t->args[1]->Is<ast::FloatLiteralExpression>());
- EXPECT_FLOAT_EQ(t->args[1]->As<ast::FloatLiteralExpression>()->value, 2.);
+ EXPECT_DOUBLE_EQ(t->args[1]->As<ast::FloatLiteralExpression>()->value, 2.);
+ EXPECT_EQ(t->args[1]->As<ast::FloatLiteralExpression>()->suffix,
+ ast::FloatLiteralExpression::Suffix::kNone);
}
TEST_F(ParserImplTest, ConstExpr_TypeDecl_Empty) {
diff --git a/src/tint/reader/wgsl/parser_impl_const_literal_test.cc b/src/tint/reader/wgsl/parser_impl_const_literal_test.cc
index 3e37092..cbddce3 100644
--- a/src/tint/reader/wgsl/parser_impl_const_literal_test.cc
+++ b/src/tint/reader/wgsl/parser_impl_const_literal_test.cc
@@ -26,7 +26,7 @@
// - 0 sign if sign is 0, 1 otherwise
// - 'exponent_bits' is placed in the exponent space.
// So, the exponent bias must already be included.
-float MakeFloat(int sign, int biased_exponent, int mantissa) {
+float MakeFloat(uint32_t sign, uint32_t biased_exponent, uint32_t mantissa) {
const uint32_t sign_bit = sign ? 0x80000000u : 0u;
// The binary32 exponent is 8 bits, just below the sign.
const uint32_t exponent_bits = (biased_exponent & 0xffu) << 23;
@@ -41,6 +41,25 @@
return result;
}
+// Makes an IEEE 754 binary64 floating point number with
+// - 0 sign if sign is 0, 1 otherwise
+// - 'exponent_bits' is placed in the exponent space.
+// So, the exponent bias must already be included.
+double MakeDouble(uint64_t sign, uint64_t biased_exponent, uint64_t mantissa) {
+ const uint64_t sign_bit = sign ? 0x8000000000000000u : 0u;
+ // The binary64 exponent is 11 bits, just below the sign.
+ const uint64_t exponent_bits = (biased_exponent & 0x7FFull) << 52;
+ // The mantissa is the bottom 52 bits.
+ const uint64_t mantissa_bits = (mantissa & 0xFFFFFFFFFFFFFull);
+
+ uint64_t bits = sign_bit | exponent_bits | mantissa_bits;
+ double result = 0.0;
+ static_assert(sizeof(result) == sizeof(bits),
+ "expected double and uint64_t to be the same size");
+ std::memcpy(&result, &bits, sizeof(bits));
+ return result;
+}
+
TEST_F(ParserImplTest, ConstLiteral_Int) {
{
auto p = parser("234");
@@ -126,10 +145,26 @@
EXPECT_FALSE(p->has_error()) << p->error();
ASSERT_NE(c.value, nullptr);
ASSERT_TRUE(c->Is<ast::FloatLiteralExpression>());
- EXPECT_FLOAT_EQ(c->As<ast::FloatLiteralExpression>()->value, 234e12f);
+ EXPECT_DOUBLE_EQ(c->As<ast::FloatLiteralExpression>()->value, 234e12);
+ EXPECT_EQ(c->As<ast::FloatLiteralExpression>()->suffix,
+ ast::FloatLiteralExpression::Suffix::kNone);
EXPECT_EQ(c->source.range, (Source::Range{{1u, 1u}, {1u, 8u}}));
}
+TEST_F(ParserImplTest, ConstLiteral_FloatF) {
+ auto p = parser("234.e12f");
+ auto c = p->const_literal();
+ EXPECT_TRUE(c.matched);
+ EXPECT_FALSE(c.errored);
+ EXPECT_FALSE(p->has_error()) << p->error();
+ ASSERT_NE(c.value, nullptr);
+ ASSERT_TRUE(c->Is<ast::FloatLiteralExpression>());
+ EXPECT_DOUBLE_EQ(c->As<ast::FloatLiteralExpression>()->value, 234e12);
+ EXPECT_EQ(c->As<ast::FloatLiteralExpression>()->suffix,
+ ast::FloatLiteralExpression::Suffix::kF);
+ EXPECT_EQ(c->source.range, (Source::Range{{1u, 1u}, {1u, 9u}}));
+}
+
TEST_F(ParserImplTest, ConstLiteral_InvalidFloat_IncompleteExponent) {
auto p = parser("1.0e+");
auto c = p->const_literal();
@@ -144,7 +179,7 @@
auto c = p->const_literal();
EXPECT_FALSE(c.matched);
EXPECT_TRUE(c.errored);
- EXPECT_EQ(p->error(), "1:1: f32 (1e-256) magnitude too small, not representable");
+ EXPECT_EQ(p->error(), "1:1: magnitude too small to be represented as f32");
ASSERT_EQ(c.value, nullptr);
}
@@ -153,7 +188,7 @@
auto c = p->const_literal();
EXPECT_FALSE(c.matched);
EXPECT_TRUE(c.errored);
- EXPECT_EQ(p->error(), "1:1: f32 (-1.2e+256) too large (negative)");
+ EXPECT_EQ(p->error(), "1:1: value too small for f32");
ASSERT_EQ(c.value, nullptr);
}
@@ -162,22 +197,15 @@
auto c = p->const_literal();
EXPECT_FALSE(c.matched);
EXPECT_TRUE(c.errored);
- EXPECT_EQ(p->error(), "1:1: f32 (1.2e+256) too large (positive)");
+ EXPECT_EQ(p->error(), "1:1: value too large for f32");
ASSERT_EQ(c.value, nullptr);
}
-// Returns true if the given non-Nan float numbers are equal.
-bool FloatEqual(float a, float b) {
- // Avoid Clang complaining about equality test on float.
- // -Wfloat-equal.
- return (a <= b) && (a >= b);
-}
-
struct FloatLiteralTestCase {
std::string input;
- float expected;
+ double expected;
bool operator==(const FloatLiteralTestCase& other) const {
- return (input == other.input) && FloatEqual(expected, other.expected);
+ return (input == other.input) && std::equal_to<double>()(expected, other.expected);
}
};
@@ -197,22 +225,28 @@
EXPECT_FALSE(p->has_error()) << p->error();
ASSERT_NE(c.value, nullptr);
ASSERT_TRUE(c->Is<ast::FloatLiteralExpression>());
- EXPECT_FLOAT_EQ(c->As<ast::FloatLiteralExpression>()->value, params.expected);
+ EXPECT_DOUBLE_EQ(c->As<ast::FloatLiteralExpression>()->value, params.expected);
+ if (params.input.back() == 'f') {
+ EXPECT_EQ(c->As<ast::FloatLiteralExpression>()->suffix,
+ ast::FloatLiteralExpression::Suffix::kF);
+ } else {
+ EXPECT_EQ(c->As<ast::FloatLiteralExpression>()->suffix,
+ ast::FloatLiteralExpression::Suffix::kNone);
+ }
}
-
using FloatLiteralTestCaseList = std::vector<FloatLiteralTestCase>;
FloatLiteralTestCaseList DecimalFloatCases() {
return FloatLiteralTestCaseList{
- {"0.0", 0.0f}, // Zero
- {"1.0", 1.0f}, // One
- {"-1.0", -1.0f}, // MinusOne
- {"1000000000.0", 1e9f}, // Billion
- {"-0.0", std::copysign(0.0f, -5.0f)}, // NegativeZero
- {"0.0", MakeFloat(0, 0, 0)}, // Zero
- {"-0.0", MakeFloat(1, 0, 0)}, // NegativeZero
- {"1.0", MakeFloat(0, 127, 0)}, // One
- {"-1.0", MakeFloat(1, 127, 0)}, // NegativeOne
+ {"0.0", 0.0}, // Zero
+ {"1.0", 1.0}, // One
+ {"-1.0", -1.0}, // MinusOne
+ {"1000000000.0", 1e9}, // Billion
+ {"-0.0", std::copysign(0.0, -5.0)}, // NegativeZero
+ {"0.0", MakeDouble(0, 0, 0)}, // Zero
+ {"-0.0", MakeDouble(1, 0, 0)}, // NegativeZero
+ {"1.0", MakeDouble(0, 1023, 0)}, // One
+ {"-1.0", MakeDouble(1, 1023, 0)}, // NegativeOne
};
}
@@ -220,75 +254,76 @@
ParserImplFloatLiteralTest,
testing::ValuesIn(DecimalFloatCases()));
-const float NegInf = MakeFloat(1, 255, 0);
-const float PosInf = MakeFloat(0, 255, 0);
+const double NegInf = MakeDouble(1, 0x7FF, 0);
+const double PosInf = MakeDouble(0, 0x7FF, 0);
FloatLiteralTestCaseList HexFloatCases() {
return FloatLiteralTestCaseList{
// Regular numbers
- {"0x0p+0", 0.f},
- {"0x1p+0", 1.f},
- {"0x1p+1", 2.f},
- {"0x1.8p+1", 3.f},
- {"0x1.99999ap-4", 0.1f},
- {"0x1p-1", 0.5f},
- {"0x1p-2", 0.25f},
- {"0x1.8p-1", 0.75f},
- {"-0x0p+0", -0.f},
- {"-0x1p+0", -1.f},
- {"-0x1p-1", -0.5f},
- {"-0x1p-2", -0.25f},
- {"-0x1.8p-1", -0.75f},
+ {"0x0p+0", 0.0},
+ {"0x1p+0", 1.0},
+ {"0x1p+1", 2.0},
+ {"0x1.8p+1", 3.0},
+ {"0x1.99999ap-4", 0.10000000149011612},
+ {"0x1p-1", 0.5},
+ {"0x1p-2", 0.25},
+ {"0x1.8p-1", 0.75},
+ {"-0x0p+0", -0.0},
+ {"-0x1p+0", -1.0},
+ {"-0x1p-1", -0.5},
+ {"-0x1p-2", -0.25},
+ {"-0x1.8p-1", -0.75},
// Large numbers
- {"0x1p+9", 512.f},
- {"0x1p+10", 1024.f},
- {"0x1.02p+10", 1024.f + 8.f},
- {"-0x1p+9", -512.f},
- {"-0x1p+10", -1024.f},
- {"-0x1.02p+10", -1024.f - 8.f},
+ {"0x1p+9", 512.0},
+ {"0x1p+10", 1024.0},
+ {"0x1.02p+10", 1024.0 + 8.0},
+ {"-0x1p+9", -512.0},
+ {"-0x1p+10", -1024.0},
+ {"-0x1.02p+10", -1024.0 - 8.0},
// Small numbers
- {"0x1p-9", 1.0f / 512.f},
- {"0x1p-10", 1.0f / 1024.f},
- {"0x1.02p-3", 1.0f / 1024.f + 1.0f / 8.f},
- {"-0x1p-9", 1.0f / -512.f},
- {"-0x1p-10", 1.0f / -1024.f},
- {"-0x1.02p-3", 1.0f / -1024.f - 1.0f / 8.f},
+ {"0x1p-9", 1.0 / 512.0},
+ {"0x1p-10", 1.0 / 1024.0},
+ {"0x1.02p-3", 1.0 / 1024.0 + 1.0 / 8.0},
+ {"-0x1p-9", 1.0 / -512.0},
+ {"-0x1p-10", 1.0 / -1024.0},
+ {"-0x1.02p-3", 1.0 / -1024.0 - 1.0 / 8.0},
// Near lowest non-denorm
- {"0x1p-124", std::ldexp(1.f * 8.f, -127)},
- {"0x1p-125", std::ldexp(1.f * 4.f, -127)},
- {"-0x1p-124", -std::ldexp(1.f * 8.f, -127)},
- {"-0x1p-125", -std::ldexp(1.f * 4.f, -127)},
+ {"0x1p-124", std::ldexp(1.0 * 8.0, -127)},
+ {"0x1p-125", std::ldexp(1.0 * 4.0, -127)},
+ {"-0x1p-124", -std::ldexp(1.0 * 8.0, -127)},
+ {"-0x1p-125", -std::ldexp(1.0 * 4.0, -127)},
// Lowest non-denorm
- {"0x1p-126", std::ldexp(1.f * 2.f, -127)},
- {"-0x1p-126", -std::ldexp(1.f * 2.f, -127)},
+ {"0x1p-126", std::ldexp(1.0 * 2.0, -127)},
+ {"-0x1p-126", -std::ldexp(1.0 * 2.0, -127)},
// Denormalized values
- {"0x1p-127", std::ldexp(1.f, -127)},
- {"0x1p-128", std::ldexp(1.f / 2.f, -127)},
- {"0x1p-129", std::ldexp(1.f / 4.f, -127)},
- {"0x1p-130", std::ldexp(1.f / 8.f, -127)},
- {"-0x1p-127", -std::ldexp(1.f, -127)},
- {"-0x1p-128", -std::ldexp(1.f / 2.f, -127)},
- {"-0x1p-129", -std::ldexp(1.f / 4.f, -127)},
- {"-0x1p-130", -std::ldexp(1.f / 8.f, -127)},
+ {"0x1p-127", std::ldexp(1.0, -127)},
+ {"0x1p-128", std::ldexp(1.0 / 2.0, -127)},
+ {"0x1p-129", std::ldexp(1.0 / 4.0, -127)},
+ {"0x1p-130", std::ldexp(1.0 / 8.0, -127)},
+ {"-0x1p-127", -std::ldexp(1.0, -127)},
+ {"-0x1p-128", -std::ldexp(1.0 / 2.0, -127)},
+ {"-0x1p-129", -std::ldexp(1.0 / 4.0, -127)},
+ {"-0x1p-130", -std::ldexp(1.0 / 8.0, -127)},
- {"0x1.8p-127", std::ldexp(1.f, -127) + (std::ldexp(1.f, -127) / 2.f)},
- {"0x1.8p-128", std::ldexp(1.f, -127) / 2.f + (std::ldexp(1.f, -127) / 4.f)},
+ {"0x1.8p-127", std::ldexp(1.0, -127) + (std::ldexp(1.0, -127) / 2.0)},
+ {"0x1.8p-128", std::ldexp(1.0, -127) / 2.0 + (std::ldexp(1.0, -127) / 4.0)},
- {"0x1p-149", MakeFloat(0, 0, 1)}, // +SmallestDenormal
- {"0x1p-148", MakeFloat(0, 0, 2)}, // +BiggerDenormal
- {"0x1.fffffcp-127", MakeFloat(0, 0, 0x7fffff)}, // +LargestDenormal
- {"-0x1p-149", MakeFloat(1, 0, 1)}, // -SmallestDenormal
- {"-0x1p-148", MakeFloat(1, 0, 2)}, // -BiggerDenormal
- {"-0x1.fffffcp-127", MakeFloat(1, 0, 0x7fffff)}, // -LargestDenormal
+ // F32 extremities
+ {"0x1p-149", static_cast<double>(MakeFloat(0, 0, 1))}, // +SmallestDenormal
+ {"0x1p-148", static_cast<double>(MakeFloat(0, 0, 2))}, // +BiggerDenormal
+ {"0x1.fffffcp-127", static_cast<double>(MakeFloat(0, 0, 0x7fffff))}, // +LargestDenormal
+ {"-0x1p-149", static_cast<double>(MakeFloat(1, 0, 1))}, // -SmallestDenormal
+ {"-0x1p-148", static_cast<double>(MakeFloat(1, 0, 2))}, // -BiggerDenormal
+ {"-0x1.fffffcp-127", static_cast<double>(MakeFloat(1, 0, 0x7fffff))}, // -LargestDenormal
- {"0x1.2bfaf8p-127", MakeFloat(0, 0, 0xcafebe)}, // +Subnormal
- {"-0x1.2bfaf8p-127", MakeFloat(1, 0, 0xcafebe)}, // -Subnormal
- {"0x1.55554p-130", MakeFloat(0, 0, 0xaaaaa)}, // +Subnormal
- {"-0x1.55554p-130", MakeFloat(1, 0, 0xaaaaa)}, // -Subnormal
+ {"0x1.2bfaf8p-127", static_cast<double>(MakeFloat(0, 0, 0xcafebe))}, // +Subnormal
+ {"-0x1.2bfaf8p-127", static_cast<double>(MakeFloat(1, 0, 0xcafebe))}, // -Subnormal
+ {"0x1.55554p-130", static_cast<double>(MakeFloat(0, 0, 0xaaaaa))}, // +Subnormal
+ {"-0x1.55554p-130", static_cast<double>(MakeFloat(1, 0, 0xaaaaa))}, // -Subnormal
// Nan -> Infinity
{"0x1.8p+128", PosInf},
@@ -318,76 +353,76 @@
{"0x1.0p2147483520", PosInf}, // INT_MAX - 127 (largest valid exponent)
// Underflow -> Zero
- {"0x1p-500", 0.f}, // Exponent underflows
- {"-0x1p-500", -0.f},
- {"0x0.00000000001p-126", 0.f}, // Fraction causes underflow
- {"-0x0.0000000001p-127", -0.f},
- {"0x0.01p-142", 0.f},
- {"-0x0.01p-142", -0.f}, // Fraction causes additional underflow
+ {"0x1p-500", 0.0}, // Exponent underflows
+ {"-0x1p-500", -0.0},
+ {"0x0.00000000001p-126", 0.0}, // Fraction causes underflow
+ {"-0x0.0000000001p-127", -0.0},
+ {"0x0.01p-142", 0.0},
+ {"-0x0.01p-142", -0.0}, // Fraction causes additional underflow
{"0x1.0p-2147483520", 0}, // -(INT_MAX - 127) (smallest valid exponent)
// Zero with non-zero exponent -> Zero
- {"0x0p+0", 0.f},
- {"0x0p+1", 0.f},
- {"0x0p-1", 0.f},
- {"0x0p+9999999999", 0.f},
- {"0x0p-9999999999", 0.f},
+ {"0x0p+0", 0.0},
+ {"0x0p+1", 0.0},
+ {"0x0p-1", 0.0},
+ {"0x0p+9999999999", 0.0},
+ {"0x0p-9999999999", 0.0},
// Same, but with very large positive exponents that would cause overflow
// if the mantissa were non-zero.
- {"0x0p+4000000000", 0.f}, // 4 billion:
- {"0x0p+40000000000", 0.f}, // 40 billion
- {"-0x0p+40000000000", 0.f}, // As above 2, but negative mantissa
- {"-0x0p+400000000000", 0.f},
- {"0x0.00p+4000000000", 0.f}, // As above 4, but with fractional part
- {"0x0.00p+40000000000", 0.f},
- {"-0x0.00p+40000000000", 0.f},
- {"-0x0.00p+400000000000", 0.f},
- {"0x0p-4000000000", 0.f}, // As above 8, but with negative exponents
- {"0x0p-40000000000", 0.f},
- {"-0x0p-40000000000", 0.f},
- {"-0x0p-400000000000", 0.f},
- {"0x0.00p-4000000000", 0.f},
- {"0x0.00p-40000000000", 0.f},
- {"-0x0.00p-40000000000", 0.f},
- {"-0x0.00p-400000000000", 0.f},
+ {"0x0p+4000000000", 0.0}, // 4 billion:
+ {"0x0p+40000000000", 0.0}, // 40 billion
+ {"-0x0p+40000000000", 0.0}, // As above 2, but negative mantissa
+ {"-0x0p+400000000000", 0.0},
+ {"0x0.00p+4000000000", 0.0}, // As above 4, but with fractional part
+ {"0x0.00p+40000000000", 0.0},
+ {"-0x0.00p+40000000000", 0.0},
+ {"-0x0.00p+400000000000", 0.0},
+ {"0x0p-4000000000", 0.0}, // As above 8, but with negative exponents
+ {"0x0p-40000000000", 0.0},
+ {"-0x0p-40000000000", 0.0},
+ {"-0x0p-400000000000", 0.0},
+ {"0x0.00p-4000000000", 0.0},
+ {"0x0.00p-40000000000", 0.0},
+ {"-0x0.00p-40000000000", 0.0},
+ {"-0x0.00p-400000000000", 0.0},
// Test parsing
- {"0x0p0", 0.f},
- {"0x0p-0", 0.f},
- {"0x0p+000", 0.f},
- {"0x00000000000000p+000000000000000", 0.f},
- {"0x00000000000000p-000000000000000", 0.f},
- {"0x00000000000001p+000000000000000", 1.f},
- {"0x00000000000001p-000000000000000", 1.f},
- {"0x0000000000000000000001.99999ap-000000000000000004", 0.1f},
- {"0x2p+0", 2.f},
- {"0xFFp+0", 255.f},
- {"0x0.8p+0", 0.5f},
- {"0x0.4p+0", 0.25f},
- {"0x0.4p+1", 2 * 0.25f},
- {"0x0.4p+2", 4 * 0.25f},
- {"0x123Ep+1", 9340.f},
- {"-0x123Ep+1", -9340.f},
- {"0x1a2b3cP12", 7.024656e+09f},
- {"-0x1a2b3cP12", -7.024656e+09f},
+ {"0x0p0", 0.0},
+ {"0x0p-0", 0.0},
+ {"0x0p+000", 0.0},
+ {"0x00000000000000p+000000000000000", 0.0},
+ {"0x00000000000000p-000000000000000", 0.0},
+ {"0x00000000000001p+000000000000000", 1.0},
+ {"0x00000000000001p-000000000000000", 1.0},
+ {"0x0000000000000000000001.99999ap-000000000000000004", 0.10000000149011612},
+ {"0x2p+0", 2.0},
+ {"0xFFp+0", 255.0},
+ {"0x0.8p+0", 0.5},
+ {"0x0.4p+0", 0.25},
+ {"0x0.4p+1", 2 * 0.25},
+ {"0x0.4p+2", 4 * 0.25},
+ {"0x123Ep+1", 9340.0},
+ {"-0x123Ep+1", -9340.0},
+ {"0x1a2b3cP12", 7.024656384e+09},
+ {"-0x1a2b3cP12", -7.024656384e+09},
// Examples without a binary exponent part.
- {"0x1.", 1.0f},
- {"0x.8", 0.5f},
- {"0x1.8", 1.5f},
- {"-0x1.", -1.0f},
- {"-0x.8", -0.5f},
- {"-0x1.8", -1.5f},
+ {"0x1.", 1.0},
+ {"0x.8", 0.5},
+ {"0x1.8", 1.5},
+ {"-0x1.", -1.0},
+ {"-0x.8", -0.5},
+ {"-0x1.8", -1.5},
// Examples with a binary exponent and a 'f' suffix.
- {"0x1.p0f", 1.0f},
- {"0x.8p2f", 2.0f},
- {"0x1.8p-1f", 0.75f},
- {"0x2p-2f", 0.5f}, // No binary point
- {"-0x1.p0f", -1.0f},
- {"-0x.8p2f", -2.0f},
- {"-0x1.8p-1f", -0.75f},
- {"-0x2p-2f", -0.5f}, // No binary point
+ {"0x1.p0f", 1.0},
+ {"0x.8p2f", 2.0},
+ {"0x1.8p-1f", 0.75},
+ {"0x2p-2f", 0.5}, // No binary point
+ {"-0x1.p0f", -1.0},
+ {"-0x.8p2f", -2.0},
+ {"-0x1.8p-1f", -0.75},
+ {"-0x2p-2f", -0.5}, // No binary point
};
}
INSTANTIATE_TEST_SUITE_P(ParserImplFloatLiteralTest_HexFloat,
@@ -501,7 +536,10 @@
EXPECT_FALSE(p->has_error()) << p->error();
ASSERT_NE(c.value, nullptr);
ASSERT_TRUE(c->Is<ast::FloatLiteralExpression>());
- EXPECT_FLOAT_EQ(c->As<ast::FloatLiteralExpression>()->value, std::numeric_limits<float>::max());
+ EXPECT_DOUBLE_EQ(c->As<ast::FloatLiteralExpression>()->value,
+ std::numeric_limits<float>::max());
+ EXPECT_EQ(c->As<ast::FloatLiteralExpression>()->suffix,
+ ast::FloatLiteralExpression::Suffix::kNone);
EXPECT_EQ(c->source.range, (Source::Range{{1u, 1u}, {1u, 42u}}));
}
@@ -522,8 +560,10 @@
EXPECT_FALSE(p->has_error()) << p->error();
ASSERT_NE(c.value, nullptr);
ASSERT_TRUE(c->Is<ast::FloatLiteralExpression>());
- EXPECT_FLOAT_EQ(c->As<ast::FloatLiteralExpression>()->value,
- std::numeric_limits<float>::lowest());
+ EXPECT_DOUBLE_EQ(c->As<ast::FloatLiteralExpression>()->value,
+ std::numeric_limits<float>::lowest());
+ EXPECT_EQ(c->As<ast::FloatLiteralExpression>()->suffix,
+ ast::FloatLiteralExpression::Suffix::kNone);
EXPECT_EQ(c->source.range, (Source::Range{{1u, 1u}, {1u, 43u}}));
}
diff --git a/src/tint/reader/wgsl/token.cc b/src/tint/reader/wgsl/token.cc
index 2f51a85..06eb6fb 100644
--- a/src/tint/reader/wgsl/token.cc
+++ b/src/tint/reader/wgsl/token.cc
@@ -26,12 +26,14 @@
case Token::Type::kIdentifier:
return "identifier";
case Token::Type::kFloatLiteral:
- return "float literal";
+ return "abstract float literal";
+ case Token::Type::kFloatLiteral_F:
+ return "'f'-suffixed float literal";
case Token::Type::kIntLiteral:
return "abstract integer literal";
- case Token::Type::kIntILiteral:
+ case Token::Type::kIntLiteral_I:
return "'i'-suffixed integer literal";
- case Token::Type::kIntULiteral:
+ case Token::Type::kIntLiteral_U:
return "'u'-suffixed integer literal";
case Token::Type::kUninitialized:
return "uninitialized";
@@ -278,8 +280,8 @@
Token::Token(Type type, const Source& source, int64_t val)
: type_(type), source_(source), value_(val) {}
-Token::Token(const Source& source, float val)
- : type_(Type::kFloatLiteral), source_(source), value_(val) {}
+Token::Token(Type type, const Source& source, double val)
+ : type_(type), source_(source), value_(val) {}
Token::Token(Type type, const Source& source) : type_(type), source_(source) {}
@@ -304,12 +306,14 @@
std::string Token::to_str() const {
switch (type_) {
case Type::kFloatLiteral:
- return std::to_string(std::get<float>(value_));
+ return std::to_string(std::get<double>(value_));
+ case Type::kFloatLiteral_F:
+ return std::to_string(std::get<double>(value_)) + "f";
case Type::kIntLiteral:
return std::to_string(std::get<int64_t>(value_));
- case Type::kIntILiteral:
+ case Type::kIntLiteral_I:
return std::to_string(std::get<int64_t>(value_)) + "i";
- case Type::kIntULiteral:
+ case Type::kIntLiteral_U:
return std::to_string(std::get<int64_t>(value_)) + "u";
case Type::kIdentifier:
case Type::kError:
@@ -322,8 +326,8 @@
}
}
-float Token::to_f32() const {
- return std::get<float>(value_);
+double Token::to_f64() const {
+ return std::get<double>(value_);
}
int64_t Token::to_i64() const {
diff --git a/src/tint/reader/wgsl/token.h b/src/tint/reader/wgsl/token.h
index 106d1a6..82b3fab 100644
--- a/src/tint/reader/wgsl/token.h
+++ b/src/tint/reader/wgsl/token.h
@@ -38,14 +38,16 @@
/// An identifier
kIdentifier,
- /// A float value
+ /// A float literal with no suffix
kFloatLiteral,
+ /// A float literal with an 'f' suffix
+ kFloatLiteral_F,
/// An integer literal with no suffix
kIntLiteral,
/// An integer literal with an 'i' suffix
- kIntILiteral,
+ kIntLiteral_I,
/// An integer literal with a 'u' suffix
- kIntULiteral,
+ kIntLiteral_U,
/// A '&'
kAnd,
@@ -304,10 +306,11 @@
/// @param source the source of the token
/// @param val the source unsigned for the token
Token(Type type, const Source& source, int64_t val);
- /// Create a float Token
+ /// Create a double Token
+ /// @param type the Token::Type of the token
/// @param source the source of the token
- /// @param val the source float for the token
- Token(const Source& source, float val);
+ /// @param val the source double for the token
+ Token(Type type, const Source& source, double val);
/// Move constructor
Token(Token&&);
/// Copy constructor
@@ -339,9 +342,9 @@
bool IsIdentifier() const { return type_ == Type::kIdentifier; }
/// @returns true if the token is a literal
bool IsLiteral() const {
- return type_ == Type::kIntLiteral || type_ == Type::kIntILiteral ||
- type_ == Type::kIntULiteral || type_ == Type::kFalse || type_ == Type::kTrue ||
- type_ == Type::kFloatLiteral;
+ return type_ == Type::kIntLiteral || type_ == Type::kIntLiteral_I ||
+ type_ == Type::kIntLiteral_U || type_ == Type::kFalse || type_ == Type::kTrue ||
+ type_ == Type::kFloatLiteral || type_ == Type::kFloatLiteral_F;
}
/// @returns true if token is a 'matNxM'
bool IsMatrix() const {
@@ -379,8 +382,8 @@
std::string to_str() const;
/// Returns the float value of the token. 0 is returned if the token does not
/// contain a float value.
- /// @return float
- float to_f32() const;
+ /// @return double
+ double to_f64() const;
/// Returns the int64_t value of the token. 0 is returned if the token does
/// not contain an integer value.
/// @return int64_t
@@ -395,7 +398,7 @@
/// The source where the token appeared
Source source_;
/// The value represented by the token
- std::variant<int64_t, float, std::string, std::string_view> value_;
+ std::variant<int64_t, double, std::string, std::string_view> value_;
};
#ifndef NDEBUG
diff --git a/src/tint/reader/wgsl/token_test.cc b/src/tint/reader/wgsl/token_test.cc
index dd46616..93fe834 100644
--- a/src/tint/reader/wgsl/token_test.cc
+++ b/src/tint/reader/wgsl/token_test.cc
@@ -16,46 +16,53 @@
#include <limits>
-#include "gtest/gtest.h"
+#include "gmock/gmock.h"
namespace tint::reader::wgsl {
namespace {
+using ::testing::EndsWith;
+using ::testing::Not;
+using ::testing::StartsWith;
+
using TokenTest = testing::Test;
-TEST_F(TokenTest, ReturnsF32) {
- Token t1(Source{}, -2.345f);
- EXPECT_EQ(t1.to_f32(), -2.345f);
+TEST_F(TokenTest, ReturnsF64) {
+ Token t1(Token::Type::kFloatLiteral_F, Source{}, -2.345);
+ EXPECT_EQ(t1.to_f64(), -2.345);
- Token t2(Source{}, 2.345f);
- EXPECT_EQ(t2.to_f32(), 2.345f);
+ Token t2(Token::Type::kFloatLiteral_F, Source{}, 2.345);
+ EXPECT_EQ(t2.to_f64(), 2.345);
}
TEST_F(TokenTest, ReturnsI32) {
- Token t1(Token::Type::kIntILiteral, Source{}, -2345);
+ Token t1(Token::Type::kIntLiteral_I, Source{}, static_cast<int64_t>(-2345));
EXPECT_EQ(t1.to_i64(), -2345);
- Token t2(Token::Type::kIntILiteral, Source{}, 2345);
+ Token t2(Token::Type::kIntLiteral_I, Source{}, static_cast<int64_t>(2345));
EXPECT_EQ(t2.to_i64(), 2345);
}
TEST_F(TokenTest, HandlesMaxI32) {
- Token t1(Token::Type::kIntILiteral, Source{}, std::numeric_limits<int32_t>::max());
+ Token t1(Token::Type::kIntLiteral_I, Source{},
+ static_cast<int64_t>(std::numeric_limits<int32_t>::max()));
EXPECT_EQ(t1.to_i64(), std::numeric_limits<int32_t>::max());
}
TEST_F(TokenTest, HandlesMinI32) {
- Token t1(Token::Type::kIntILiteral, Source{}, std::numeric_limits<int32_t>::min());
+ Token t1(Token::Type::kIntLiteral_I, Source{},
+ static_cast<int64_t>(std::numeric_limits<int32_t>::min()));
EXPECT_EQ(t1.to_i64(), std::numeric_limits<int32_t>::min());
}
TEST_F(TokenTest, ReturnsU32) {
- Token t2(Token::Type::kIntULiteral, Source{}, 2345u);
+ Token t2(Token::Type::kIntLiteral_U, Source{}, static_cast<int64_t>(2345u));
EXPECT_EQ(t2.to_i64(), 2345u);
}
TEST_F(TokenTest, ReturnsMaxU32) {
- Token t1(Token::Type::kIntULiteral, Source{}, std::numeric_limits<uint32_t>::max());
+ Token t1(Token::Type::kIntLiteral_U, Source{},
+ static_cast<int64_t>(std::numeric_limits<uint32_t>::max()));
EXPECT_EQ(t1.to_i64(), std::numeric_limits<uint32_t>::max());
}
@@ -71,5 +78,19 @@
EXPECT_EQ(t.source().range.end.column, 3u);
}
+TEST_F(TokenTest, ToStr) {
+ double d = 123.0;
+ int64_t i = 123;
+ EXPECT_THAT(Token(Token::Type::kFloatLiteral, Source{}, d).to_str(), StartsWith("123"));
+ EXPECT_THAT(Token(Token::Type::kFloatLiteral, Source{}, d).to_str(), Not(EndsWith("f")));
+ EXPECT_THAT(Token(Token::Type::kFloatLiteral_F, Source{}, d).to_str(), StartsWith("123"));
+ EXPECT_THAT(Token(Token::Type::kFloatLiteral_F, Source{}, d).to_str(), EndsWith("f"));
+ EXPECT_EQ(Token(Token::Type::kIntLiteral, Source{}, i).to_str(), "123");
+ EXPECT_EQ(Token(Token::Type::kIntLiteral_I, Source{}, i).to_str(), "123i");
+ EXPECT_EQ(Token(Token::Type::kIntLiteral_U, Source{}, i).to_str(), "123u");
+ EXPECT_EQ(Token(Token::Type::kIdentifier, Source{}, "blah").to_str(), "blah");
+ EXPECT_EQ(Token(Token::Type::kError, Source{}, "blah").to_str(), "blah");
+}
+
} // namespace
} // namespace tint::reader::wgsl
diff --git a/src/tint/resolver/array_accessor_test.cc b/src/tint/resolver/array_accessor_test.cc
index 1704699..9323b23 100644
--- a/src/tint/resolver/array_accessor_test.cc
+++ b/src/tint/resolver/array_accessor_test.cc
@@ -27,7 +27,7 @@
TEST_F(ResolverIndexAccessorTest, Matrix_Dynamic_F32) {
Global("my_var", ty.mat2x3<f32>(), ast::StorageClass::kPrivate);
- auto* acc = IndexAccessor("my_var", Expr(Source{{12, 34}}, 1.0f));
+ auto* acc = IndexAccessor("my_var", Expr(Source{{12, 34}}, 1_f));
WrapInFunction(acc);
EXPECT_FALSE(r()->Resolve());
@@ -116,7 +116,7 @@
TEST_F(ResolverIndexAccessorTest, Vector_F32) {
Global("my_var", ty.vec3<f32>(), ast::StorageClass::kPrivate);
- auto* acc = IndexAccessor("my_var", Expr(Source{{12, 34}}, 2.0f));
+ auto* acc = IndexAccessor("my_var", Expr(Source{{12, 34}}, 2_f));
WrapInFunction(acc);
EXPECT_FALSE(r()->Resolve());
@@ -224,7 +224,7 @@
// let a : array<f32, 3>;
// var f : f32 = a[2.0f];
auto* a = Let("a", ty.array<f32, 3>(), array<f32, 3>());
- auto* f = Var("a_2", ty.f32(), IndexAccessor("a", Expr(Source{{12, 34}}, 2.0f)));
+ auto* f = Var("a_2", ty.f32(), IndexAccessor("a", Expr(Source{{12, 34}}, 2_f)));
Func("my_func", ast::VariableList{}, ty.void_(),
{
Decl(a),
diff --git a/src/tint/resolver/assignment_validation_test.cc b/src/tint/resolver/assignment_validation_test.cc
index f12f804..e9fb7bf 100644
--- a/src/tint/resolver/assignment_validation_test.cc
+++ b/src/tint/resolver/assignment_validation_test.cc
@@ -52,7 +52,7 @@
auto* var = Var("a", ty.i32(), ast::StorageClass::kNone, Expr(2_i));
- auto* assign = Assign(Source{{12, 34}}, "a", 2.3f);
+ auto* assign = Assign(Source{{12, 34}}, "a", 2.3_f);
WrapInFunction(var, assign);
ASSERT_FALSE(r()->Resolve());
@@ -118,7 +118,7 @@
// }
auto* var = Var("a", ty.i32(), ast::StorageClass::kNone, Expr(2_i));
- WrapInFunction(var, Assign(Source{{12, 34}}, "a", 2.3f));
+ WrapInFunction(var, Assign(Source{{12, 34}}, "a", 2.3_f));
ASSERT_FALSE(r()->Resolve());
@@ -134,7 +134,7 @@
// }
auto* var = Var("a", ty.i32(), ast::StorageClass::kNone, Expr(2_i));
- auto* inner_block = Block(Decl(var), Assign(Source{{12, 34}}, "a", 2.3f));
+ auto* inner_block = Block(Decl(var), Assign(Source{{12, 34}}, "a", 2.3_f));
auto* outer_block = Block(inner_block);
WrapInFunction(outer_block);
@@ -353,7 +353,7 @@
WrapInFunction(Assign(Phony(), 1_i), //
Assign(Phony(), 2_u), //
- Assign(Phony(), 3.f), //
+ Assign(Phony(), 3_f), //
Assign(Phony(), vec2<bool>()), //
Assign(Phony(), "tex"), //
Assign(Phony(), "smp"), //
diff --git a/src/tint/resolver/attribute_validation_test.cc b/src/tint/resolver/attribute_validation_test.cc
index dbefb14..3280ebf 100644
--- a/src/tint/resolver/attribute_validation_test.cc
+++ b/src/tint/resolver/attribute_validation_test.cc
@@ -161,7 +161,7 @@
TEST_P(FunctionReturnTypeAttributeTest, IsValid) {
auto& params = GetParam();
- Func("main", ast::VariableList{}, ty.f32(), ast::StatementList{Return(1.f)}, {},
+ Func("main", ast::VariableList{}, ty.f32(), ast::StatementList{Return(1_f)}, {},
createAttributes({}, *this, params.kind));
if (params.should_pass) {
@@ -316,7 +316,7 @@
using ComputeShaderReturnTypeAttributeTest = TestWithParams;
TEST_P(ComputeShaderReturnTypeAttributeTest, IsValid) {
auto& params = GetParam();
- Func("main", ast::VariableList{}, ty.vec4<f32>(), {Return(Construct(ty.vec4<f32>(), 1.f))},
+ Func("main", ast::VariableList{}, ty.vec4<f32>(), {Return(Construct(ty.vec4<f32>(), 1_f))},
{Stage(ast::PipelineStage::kCompute), WorkgroupSize(1_i)},
createAttributes(Source{{12, 34}}, *this, params.kind));
@@ -450,7 +450,7 @@
using EntryPointParameterAttributeTest = TestWithParams;
TEST_F(EntryPointParameterAttributeTest, DuplicateAttribute) {
- Func("main", ast::VariableList{}, ty.f32(), ast::StatementList{Return(1.f)},
+ Func("main", ast::VariableList{}, ty.f32(), ast::StatementList{Return(1_f)},
{Stage(ast::PipelineStage::kFragment)},
{
Location(Source{{12, 34}}, 2),
@@ -478,7 +478,7 @@
using EntryPointReturnTypeAttributeTest = ResolverTest;
TEST_F(EntryPointReturnTypeAttributeTest, DuplicateAttribute) {
- Func("main", ast::VariableList{}, ty.f32(), ast::StatementList{Return(1.f)},
+ Func("main", ast::VariableList{}, ty.f32(), ast::StatementList{Return(1_f)},
ast::AttributeList{Stage(ast::PipelineStage::kFragment)},
ast::AttributeList{
Location(Source{{12, 34}}, 2),
@@ -721,7 +721,8 @@
TEST_P(ConstantAttributeTest, IsValid) {
auto& params = GetParam();
- GlobalConst("a", ty.f32(), Expr(1.23f), createAttributes(Source{{12, 34}}, *this, params.kind));
+ GlobalConst("a", ty.f32(), Expr(1.23_f),
+ createAttributes(Source{{12, 34}}, *this, params.kind));
WrapInFunction();
@@ -750,7 +751,7 @@
TestParams{AttributeKind::kBindingAndGroup, false}));
TEST_F(ConstantAttributeTest, DuplicateAttribute) {
- GlobalConst("a", ty.f32(), Expr(1.23f),
+ GlobalConst("a", ty.f32(), Expr(1.23_f),
ast::AttributeList{
create<ast::IdAttribute>(Source{{12, 34}}, 0),
create<ast::IdAttribute>(Source{{56, 78}}, 1),
diff --git a/src/tint/resolver/builtin_test.cc b/src/tint/resolver/builtin_test.cc
index 94684ba..6020eae 100644
--- a/src/tint/resolver/builtin_test.cc
+++ b/src/tint/resolver/builtin_test.cc
@@ -287,7 +287,7 @@
}
TEST_F(ResolverBuiltinTest, Dot_Error_Scalar) {
- auto* expr = Call("dot", 1.0f, 1.0f);
+ auto* expr = Call("dot", 1_f, 1_f);
WrapInFunction(expr);
EXPECT_FALSE(r()->Resolve());
@@ -349,8 +349,8 @@
}
TEST_F(ResolverBuiltinTest, Select_Error_Matrix) {
- auto* expr = Call("select", mat2x2<f32>(vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f)),
- mat2x2<f32>(vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f)), Expr(true));
+ auto* expr = Call("select", mat2x2<f32>(vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f)),
+ mat2x2<f32>(vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f)), Expr(true));
WrapInFunction(expr);
EXPECT_FALSE(r()->Resolve());
@@ -366,7 +366,7 @@
}
TEST_F(ResolverBuiltinTest, Select_Error_MismatchTypes) {
- auto* expr = Call("select", 1.0f, vec2<f32>(2.0f, 3.0f), Expr(true));
+ auto* expr = Call("select", 1_f, vec2<f32>(2_f, 3_f), Expr(true));
WrapInFunction(expr);
EXPECT_FALSE(r()->Resolve());
@@ -382,7 +382,7 @@
}
TEST_F(ResolverBuiltinTest, Select_Error_MismatchVectorSize) {
- auto* expr = Call("select", vec2<f32>(1.0f, 2.0f), vec3<f32>(3.0f, 4.0f, 5.0f), Expr(true));
+ auto* expr = Call("select", vec2<f32>(1_f, 2_f), vec3<f32>(3_f, 4_f, 5_f), Expr(true));
WrapInFunction(expr);
EXPECT_FALSE(r()->Resolve());
@@ -422,7 +422,7 @@
TEST_P(ResolverBuiltinTest_Barrier, Error_TooManyParams) {
auto param = GetParam();
- auto* call = Call(param.name, vec4<f32>(1.f, 2.f, 3.f, 4.f), 1.0f);
+ auto* call = Call(param.name, vec4<f32>(1_f, 2_f, 3_f, 4_f), 1_f);
WrapInFunction(CallStmt(call));
EXPECT_FALSE(r()->Resolve());
@@ -443,8 +443,8 @@
bool pack4 =
param.builtin == BuiltinType::kPack4x8snorm || param.builtin == BuiltinType::kPack4x8unorm;
- auto* call = pack4 ? Call(param.name, vec4<f32>(1.f, 2.f, 3.f, 4.f))
- : Call(param.name, vec2<f32>(1.f, 2.f));
+ auto* call = pack4 ? Call(param.name, vec4<f32>(1_f, 2_f, 3_f, 4_f))
+ : Call(param.name, vec2<f32>(1_f, 2_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -484,8 +484,8 @@
bool pack4 =
param.builtin == BuiltinType::kPack4x8snorm || param.builtin == BuiltinType::kPack4x8unorm;
- auto* call = pack4 ? Call(param.name, vec4<f32>(1.f, 2.f, 3.f, 4.f), 1.0f)
- : Call(param.name, vec2<f32>(1.f, 2.f), 1.0f);
+ auto* call = pack4 ? Call(param.name, vec4<f32>(1_f, 2_f, 3_f, 4_f), 1_f)
+ : Call(param.name, vec2<f32>(1_f, 2_f), 1_f);
WrapInFunction(call);
EXPECT_FALSE(r()->Resolve());
@@ -535,7 +535,7 @@
TEST_P(ResolverBuiltinTest_SingleParam, Scalar) {
auto param = GetParam();
- auto* call = Call(param.name, 1.f);
+ auto* call = Call(param.name, 1_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -547,7 +547,7 @@
TEST_P(ResolverBuiltinTest_SingleParam, Vector) {
auto param = GetParam();
- auto* call = Call(param.name, vec3<f32>(1.0f, 1.0f, 3.0f));
+ auto* call = Call(param.name, vec3<f32>(1_f, 1_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -647,7 +647,7 @@
}
TEST_F(ResolverBuiltinDataTest, Normalize_Vector) {
- auto* call = Call("normalize", vec3<f32>(1.0f, 1.0f, 3.0f));
+ auto* call = Call("normalize", vec3<f32>(1_f, 1_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -671,7 +671,7 @@
}
TEST_F(ResolverBuiltinDataTest, FrexpScalar) {
- auto* call = Call("frexp", 1.0f);
+ auto* call = Call("frexp", 1_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -750,7 +750,7 @@
TEST_F(ResolverBuiltinDataTest, Frexp_Error_SecondParamFloatPtr) {
Global("v", ty.f32(), ast::StorageClass::kWorkgroup);
- auto* call = Call("frexp", 1.0f, AddressOf("v"));
+ auto* call = Call("frexp", 1_f, AddressOf("v"));
WrapInFunction(call);
EXPECT_FALSE(r()->Resolve());
@@ -765,7 +765,7 @@
}
TEST_F(ResolverBuiltinDataTest, Frexp_Error_SecondParamNotAPointer) {
- auto* call = Call("frexp", 1.0f, 1_i);
+ auto* call = Call("frexp", 1_f, 1_i);
WrapInFunction(call);
EXPECT_FALSE(r()->Resolve());
@@ -780,7 +780,7 @@
TEST_F(ResolverBuiltinDataTest, Frexp_Error_VectorSizesDontMatch) {
Global("v", ty.vec4<i32>(), ast::StorageClass::kWorkgroup);
- auto* call = Call("frexp", vec2<f32>(1.0f, 2.0f), AddressOf("v"));
+ auto* call = Call("frexp", vec2<f32>(1_f, 2_f), AddressOf("v"));
WrapInFunction(call);
EXPECT_FALSE(r()->Resolve());
@@ -795,7 +795,7 @@
}
TEST_F(ResolverBuiltinDataTest, ModfScalar) {
- auto* call = Call("modf", 1.0f);
+ auto* call = Call("modf", 1_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -874,7 +874,7 @@
TEST_F(ResolverBuiltinDataTest, Modf_Error_SecondParamIntPtr) {
Global("whole", ty.i32(), ast::StorageClass::kWorkgroup);
- auto* call = Call("modf", 1.0f, AddressOf("whole"));
+ auto* call = Call("modf", 1_f, AddressOf("whole"));
WrapInFunction(call);
EXPECT_FALSE(r()->Resolve());
@@ -889,7 +889,7 @@
}
TEST_F(ResolverBuiltinDataTest, Modf_Error_SecondParamNotAPointer) {
- auto* call = Call("modf", 1.0f, 1.0f);
+ auto* call = Call("modf", 1_f, 1_f);
WrapInFunction(call);
EXPECT_FALSE(r()->Resolve());
@@ -904,7 +904,7 @@
TEST_F(ResolverBuiltinDataTest, Modf_Error_VectorSizesDontMatch) {
Global("whole", ty.vec4<f32>(), ast::StorageClass::kWorkgroup);
- auto* call = Call("modf", vec2<f32>(1.0f, 2.0f), AddressOf("whole"));
+ auto* call = Call("modf", vec2<f32>(1_f, 2_f), AddressOf("whole"));
WrapInFunction(call);
EXPECT_FALSE(r()->Resolve());
@@ -922,7 +922,7 @@
TEST_P(ResolverBuiltinTest_SingleParam_FloatOrInt, Float_Scalar) {
auto param = GetParam();
- auto* call = Call(param.name, 1.f);
+ auto* call = Call(param.name, 1_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -934,7 +934,7 @@
TEST_P(ResolverBuiltinTest_SingleParam_FloatOrInt, Float_Vector) {
auto param = GetParam();
- auto* call = Call(param.name, vec3<f32>(1.0f, 1.0f, 3.0f));
+ auto* call = Call(param.name, vec3<f32>(1_f, 1_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -947,7 +947,7 @@
TEST_P(ResolverBuiltinTest_SingleParam_FloatOrInt, Sint_Scalar) {
auto param = GetParam();
- auto* call = Call(param.name, i32(-1));
+ auto* call = Call(param.name, -1_i);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1015,7 +1015,7 @@
testing::Values(BuiltinData{"abs", BuiltinType::kAbs}));
TEST_F(ResolverBuiltinTest, Length_Scalar) {
- auto* call = Call("length", 1.f);
+ auto* call = Call("length", 1_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1025,7 +1025,7 @@
}
TEST_F(ResolverBuiltinTest, Length_FloatVector) {
- auto* call = Call("length", vec3<f32>(1.0f, 1.0f, 3.0f));
+ auto* call = Call("length", vec3<f32>(1_f, 1_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1038,7 +1038,7 @@
TEST_P(ResolverBuiltinTest_TwoParam, Scalar) {
auto param = GetParam();
- auto* call = Call(param.name, 1.f, 1.f);
+ auto* call = Call(param.name, 1_f, 1_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1050,7 +1050,7 @@
TEST_P(ResolverBuiltinTest_TwoParam, Vector) {
auto param = GetParam();
- auto* call = Call(param.name, vec3<f32>(1.0f, 1.0f, 3.0f), vec3<f32>(1.0f, 1.0f, 3.0f));
+ auto* call = Call(param.name, vec3<f32>(1_f, 1_f, 3_f), vec3<f32>(1_f, 1_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1097,7 +1097,7 @@
BuiltinData{"step", BuiltinType::kStep}));
TEST_F(ResolverBuiltinTest, Distance_Scalar) {
- auto* call = Call("distance", 1.f, 1.f);
+ auto* call = Call("distance", 1_f, 1_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1107,7 +1107,7 @@
}
TEST_F(ResolverBuiltinTest, Distance_Vector) {
- auto* call = Call("distance", vec3<f32>(1.0f, 1.0f, 3.0f), vec3<f32>(1.0f, 1.0f, 3.0f));
+ auto* call = Call("distance", vec3<f32>(1_f, 1_f, 3_f), vec3<f32>(1_f, 1_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1117,7 +1117,7 @@
}
TEST_F(ResolverBuiltinTest, Cross) {
- auto* call = Call("cross", vec3<f32>(1.0f, 2.0f, 3.0f), vec3<f32>(1.0f, 2.0f, 3.0f));
+ auto* call = Call("cross", vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(1_f, 2_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1141,7 +1141,7 @@
}
TEST_F(ResolverBuiltinTest, Cross_Error_Scalar) {
- auto* call = Call("cross", 1.0f, 1.0f);
+ auto* call = Call("cross", 1_f, 1_f);
WrapInFunction(call);
EXPECT_FALSE(r()->Resolve());
@@ -1168,8 +1168,7 @@
}
TEST_F(ResolverBuiltinTest, Cross_Error_Vec4) {
- auto* call =
- Call("cross", vec4<f32>(1.0f, 2.0f, 3.0f, 4.0f), vec4<f32>(1.0f, 2.0f, 3.0f, 4.0f));
+ auto* call = Call("cross", vec4<f32>(1_f, 2_f, 3_f, 4_f), vec4<f32>(1_f, 2_f, 3_f, 4_f));
WrapInFunction(call);
@@ -1184,8 +1183,8 @@
}
TEST_F(ResolverBuiltinTest, Cross_Error_TooManyParams) {
- auto* call = Call("cross", vec3<f32>(1.0f, 2.0f, 3.0f), vec3<f32>(1.0f, 2.0f, 3.0f),
- vec3<f32>(1.0f, 2.0f, 3.0f));
+ auto* call =
+ Call("cross", vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(1_f, 2_f, 3_f));
WrapInFunction(call);
@@ -1199,7 +1198,7 @@
)");
}
TEST_F(ResolverBuiltinTest, Normalize) {
- auto* call = Call("normalize", vec3<f32>(1.0f, 1.0f, 3.0f));
+ auto* call = Call("normalize", vec3<f32>(1_f, 1_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1226,7 +1225,7 @@
TEST_P(ResolverBuiltinTest_ThreeParam, Scalar) {
auto param = GetParam();
- auto* call = Call(param.name, 1.f, 1.f, 1.f);
+ auto* call = Call(param.name, 1_f, 1_f, 1_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1238,8 +1237,8 @@
TEST_P(ResolverBuiltinTest_ThreeParam, Vector) {
auto param = GetParam();
- auto* call = Call(param.name, vec3<f32>(1.0f, 1.0f, 3.0f), vec3<f32>(1.0f, 1.0f, 3.0f),
- vec3<f32>(1.0f, 1.0f, 3.0f));
+ auto* call = Call(param.name, vec3<f32>(1_f, 1_f, 3_f), vec3<f32>(1_f, 1_f, 3_f),
+ vec3<f32>(1_f, 1_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1271,7 +1270,7 @@
TEST_P(ResolverBuiltinTest_ThreeParam_FloatOrInt, Float_Scalar) {
auto param = GetParam();
- auto* call = Call(param.name, 1.f, 1.f, 1.f);
+ auto* call = Call(param.name, 1_f, 1_f, 1_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1283,8 +1282,8 @@
TEST_P(ResolverBuiltinTest_ThreeParam_FloatOrInt, Float_Vector) {
auto param = GetParam();
- auto* call = Call(param.name, vec3<f32>(1.0f, 1.0f, 3.0f), vec3<f32>(1.0f, 1.0f, 3.0f),
- vec3<f32>(1.0f, 1.0f, 3.0f));
+ auto* call = Call(param.name, vec3<f32>(1_f, 1_f, 3_f), vec3<f32>(1_f, 1_f, 3_f),
+ vec3<f32>(1_f, 1_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1443,7 +1442,7 @@
TEST_P(ResolverBuiltinTest_FloatOrInt_TwoParam, Scalar_Float) {
auto param = GetParam();
- auto* call = Call(param.name, 1.0f, 1.0f);
+ auto* call = Call(param.name, 1_f, 1_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1481,7 +1480,7 @@
TEST_P(ResolverBuiltinTest_FloatOrInt_TwoParam, Vector_Float) {
auto param = GetParam();
- auto* call = Call(param.name, vec3<f32>(1.f, 1.f, 3.f), vec3<f32>(1.f, 1.f, 3.f));
+ auto* call = Call(param.name, vec3<f32>(1_f, 1_f, 3_f), vec3<f32>(1_f, 1_f, 3_f));
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
diff --git a/src/tint/resolver/builtin_validation_test.cc b/src/tint/resolver/builtin_validation_test.cc
index 98e29fa..0e48b55 100644
--- a/src/tint/resolver/builtin_validation_test.cc
+++ b/src/tint/resolver/builtin_validation_test.cc
@@ -37,7 +37,7 @@
// @stage(compute) @workgroup_size(1) fn func { return dpdx(1.0); }
auto* dpdx =
- create<ast::CallExpression>(Source{{3, 4}}, Expr("dpdx"), ast::ExpressionList{Expr(1.0f)});
+ create<ast::CallExpression>(Source{{3, 4}}, Expr("dpdx"), ast::ExpressionList{Expr(1_f)});
Func(Source{{1, 2}}, "func", ast::VariableList{}, ty.void_(), {CallStmt(dpdx)},
{Stage(ast::PipelineStage::kCompute), WorkgroupSize(1_i)});
@@ -52,7 +52,7 @@
// @stage(compute) @workgroup_size(1) fn main { return f2(); }
auto* dpdx =
- create<ast::CallExpression>(Source{{3, 4}}, Expr("dpdx"), ast::ExpressionList{Expr(1.0f)});
+ create<ast::CallExpression>(Source{{3, 4}}, Expr("dpdx"), ast::ExpressionList{Expr(1_f)});
Func(Source{{1, 2}}, "f0", {}, ty.void_(), {CallStmt(dpdx)});
Func(Source{{3, 4}}, "f1", {}, ty.void_(), {CallStmt(Call("f0"))});
@@ -371,5 +371,71 @@
} // namespace texture_constexpr_args
+// TODO(crbug.com/tint/1497): Update or remove ResolverDP4aExtensionValidationTest when the
+// experimental extension chromium_experimental_dp4a is not needed.
+using ResolverDP4aExtensionValidationTest = ResolverTest;
+
+TEST_F(ResolverDP4aExtensionValidationTest, Dot4I8PackedWithExtension) {
+ // enable chromium_experimental_dp4a;
+ // fn func { return dot4I8Packed(1u, 2u); }
+ auto* ext =
+ create<ast::Enable>(Source{Source::Range{Source::Location{10, 2}, Source::Location{10, 5}}},
+ "chromium_experimental_dp4a");
+ AST().AddEnable(ext);
+
+ Func("func", {}, ty.i32(),
+ {
+ Return(Call(Source{Source::Location{12, 34}}, "dot4I8Packed",
+ ast::ExpressionList{Expr(1_u), Expr(2_u)})),
+ });
+
+ EXPECT_TRUE(r()->Resolve());
+}
+
+TEST_F(ResolverDP4aExtensionValidationTest, Dot4I8PackedWithoutExtension) {
+ // fn func { return dot4I8Packed(1u, 2u); }
+ Func("func", {}, ty.i32(),
+ {
+ Return(Call(Source{Source::Location{12, 34}}, "dot4I8Packed",
+ ast::ExpressionList{Expr(1_u), Expr(2_u)})),
+ });
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(
+ r()->error(),
+ R"(12:34 error: cannot call built-in function 'dot4I8Packed' without extension chromium_experimental_dp4a)");
+}
+
+TEST_F(ResolverDP4aExtensionValidationTest, Dot4U8PackedWithExtension) {
+ // enable chromium_experimental_dp4a;
+ // fn func { return dot4U8Packed(1u, 2u); }
+ auto* ext =
+ create<ast::Enable>(Source{Source::Range{Source::Location{10, 2}, Source::Location{10, 5}}},
+ "chromium_experimental_dp4a");
+ AST().AddEnable(ext);
+
+ Func("func", {}, ty.u32(),
+ {
+ Return(Call(Source{Source::Location{12, 34}}, "dot4U8Packed",
+ ast::ExpressionList{Expr(1_u), Expr(2_u)})),
+ });
+
+ EXPECT_TRUE(r()->Resolve());
+}
+
+TEST_F(ResolverDP4aExtensionValidationTest, Dot4U8PackedWithoutExtension) {
+ // fn func { return dot4U8Packed(1u, 2u); }
+ Func("func", {}, ty.u32(),
+ {
+ Return(Call(Source{Source::Location{12, 34}}, "dot4U8Packed",
+ ast::ExpressionList{Expr(1_u), Expr(2_u)})),
+ });
+
+ EXPECT_FALSE(r()->Resolve());
+ EXPECT_EQ(
+ r()->error(),
+ R"(12:34 error: cannot call built-in function 'dot4U8Packed' without extension chromium_experimental_dp4a)");
+}
+
} // namespace
} // namespace tint::resolver
diff --git a/src/tint/resolver/builtins_validation_test.cc b/src/tint/resolver/builtins_validation_test.cc
index 87835d6..9744e9b 100644
--- a/src/tint/resolver/builtins_validation_test.cc
+++ b/src/tint/resolver/builtins_validation_test.cc
@@ -132,7 +132,7 @@
// ) -> @location(0) f32 { return 1.0; }
auto* fd = Param("fd", ty.f32(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kFragDepth)});
- Func("fs_main", ast::VariableList{fd}, ty.f32(), {Return(1.0f)},
+ Func("fs_main", ast::VariableList{fd}, ty.f32(), {Return(1_f)},
ast::AttributeList{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
@@ -152,7 +152,7 @@
{Member("frag_depth", ty.f32(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kFragDepth)})});
- Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1.0f)},
+ Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1_f)},
{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
@@ -187,7 +187,7 @@
auto* m = Member("position", ty.vec4<u32>(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kPosition)});
auto* s = Structure("MyInputs", {m});
- Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1.0f)},
+ Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1_f)},
{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
@@ -197,7 +197,7 @@
TEST_F(ResolverBuiltinsValidationTest, PositionNotF32_ReturnType_Fail) {
// @stage(vertex)
// fn main() -> @builtin(position) f32 { return 1.0; }
- Func("main", {}, ty.f32(), {Return(1.0f)}, {Stage(ast::PipelineStage::kVertex)},
+ Func("main", {}, ty.f32(), {Return(1_f)}, {Stage(ast::PipelineStage::kVertex)},
{Builtin(Source{{12, 34}}, ast::Builtin::kPosition)});
EXPECT_FALSE(r()->Resolve());
@@ -214,7 +214,7 @@
auto* m = Member("frag_depth", ty.i32(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kFragDepth)});
auto* s = Structure("MyInputs", {m});
- Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1.0f)},
+ Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1_f)},
{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
@@ -232,7 +232,7 @@
"MyInputs",
{Member("m", ty.f32(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kSampleMask)})});
- Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1.0f)},
+ Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1_f)},
{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
@@ -256,7 +256,7 @@
// ) -> @location(0) f32 { return 1.0; }
auto* arg = Param("arg", ty.bool_(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kSampleMask)});
- Func("fs_main", ast::VariableList{arg}, ty.f32(), {Return(1.0f)},
+ Func("fs_main", ast::VariableList{arg}, ty.f32(), {Return(1_f)},
ast::AttributeList{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: store type of builtin(sample_mask) must be 'u32'");
@@ -273,7 +273,7 @@
"MyInputs",
{Member("m", ty.f32(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kSampleIndex)})});
- Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1.0f)},
+ Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1_f)},
{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
@@ -287,7 +287,7 @@
// ) -> @location(0) f32 { return 1.0; }
auto* arg = Param("arg", ty.bool_(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kSampleIndex)});
- Func("fs_main", ast::VariableList{arg}, ty.f32(), {Return(1.0f)},
+ Func("fs_main", ast::VariableList{arg}, ty.f32(), {Return(1_f)},
ast::AttributeList{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: store type of builtin(sample_index) must be 'u32'");
@@ -300,7 +300,7 @@
// ) -> @location(0) f32 { return 1.0; }
auto* p = Param("p", ty.vec3<f32>(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kPosition)});
- Func("fs_main", ast::VariableList{p}, ty.f32(), {Return(1.0f)},
+ Func("fs_main", ast::VariableList{p}, ty.f32(), {Return(1_f)},
ast::AttributeList{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: store type of builtin(position) must be 'vec4<f32>'");
@@ -503,7 +503,7 @@
ast::AttributeList{Builtin(ast::Builtin::kFrontFacing)}),
Member("sample_index", ty.u32(), ast::AttributeList{Builtin(ast::Builtin::kSampleIndex)}),
Member("sample_mask", ty.u32(), ast::AttributeList{Builtin(ast::Builtin::kSampleMask)})});
- Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1.0f)},
+ Func("fragShader", {Param("arg", ty.Of(s))}, ty.f32(), {Return(1_f)},
{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
@@ -517,7 +517,7 @@
auto* is_front =
Param("is_front", ty.i32(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kFrontFacing)});
- Func("fs_main", ast::VariableList{is_front}, ty.f32(), {Return(1.0f)},
+ Func("fs_main", ast::VariableList{is_front}, ty.f32(), {Return(1_f)},
ast::AttributeList{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
@@ -535,7 +535,7 @@
"MyInputs",
{Member("pos", ty.f32(),
ast::AttributeList{Builtin(Source{{12, 34}}, ast::Builtin::kFrontFacing)})});
- Func("fragShader", {Param("is_front", ty.Of(s))}, ty.f32(), {Return(1.0f)},
+ Func("fragShader", {Param("is_front", ty.Of(s))}, ty.f32(), {Return(1_f)},
{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_FALSE(r()->Resolve());
@@ -543,90 +543,88 @@
}
TEST_F(ResolverBuiltinsValidationTest, Length_Float_Scalar) {
- auto* builtin = Call("length", 1.0f);
+ auto* builtin = Call("length", 1_f);
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Length_Float_Vec2) {
- auto* builtin = Call("length", vec2<f32>(1.0f, 1.0f));
+ auto* builtin = Call("length", vec2<f32>(1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Length_Float_Vec3) {
- auto* builtin = Call("length", vec3<f32>(1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("length", vec3<f32>(1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Length_Float_Vec4) {
- auto* builtin = Call("length", vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("length", vec4<f32>(1_f, 1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Distance_Float_Scalar) {
- auto* builtin = Call("distance", 1.0f, 1.0f);
+ auto* builtin = Call("distance", 1_f, 1_f);
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Distance_Float_Vec2) {
- auto* builtin = Call("distance", vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f));
+ auto* builtin = Call("distance", vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Distance_Float_Vec3) {
- auto* builtin = Call("distance", vec3<f32>(1.0f, 1.0f, 1.0f), vec3<f32>(1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("distance", vec3<f32>(1_f, 1_f, 1_f), vec3<f32>(1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Distance_Float_Vec4) {
- auto* builtin =
- Call("distance", vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f), vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("distance", vec4<f32>(1_f, 1_f, 1_f, 1_f), vec4<f32>(1_f, 1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Determinant_Mat2x2) {
- auto* builtin = Call("determinant", mat2x2<f32>(vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f)));
+ auto* builtin = Call("determinant", mat2x2<f32>(vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f)));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Determinant_Mat3x3) {
- auto* builtin =
- Call("determinant", mat3x3<f32>(vec3<f32>(1.0f, 1.0f, 1.0f), vec3<f32>(1.0f, 1.0f, 1.0f),
- vec3<f32>(1.0f, 1.0f, 1.0f)));
+ auto* builtin = Call(
+ "determinant",
+ mat3x3<f32>(vec3<f32>(1_f, 1_f, 1_f), vec3<f32>(1_f, 1_f, 1_f), vec3<f32>(1_f, 1_f, 1_f)));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Determinant_Mat4x4) {
- auto* builtin =
- Call("determinant",
- mat4x4<f32>(vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f), vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f),
- vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f), vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f)));
+ auto* builtin = Call("determinant",
+ mat4x4<f32>(vec4<f32>(1_f, 1_f, 1_f, 1_f), vec4<f32>(1_f, 1_f, 1_f, 1_f),
+ vec4<f32>(1_f, 1_f, 1_f, 1_f), vec4<f32>(1_f, 1_f, 1_f, 1_f)));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Frexp_Scalar) {
- auto* builtin = Call("frexp", 1.0f);
+ auto* builtin = Call("frexp", 1_f);
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -639,7 +637,7 @@
}
TEST_F(ResolverBuiltinsValidationTest, Frexp_Vec2) {
- auto* builtin = Call("frexp", vec2<f32>(1.0f, 1.0f));
+ auto* builtin = Call("frexp", vec2<f32>(1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -656,7 +654,7 @@
}
TEST_F(ResolverBuiltinsValidationTest, Frexp_Vec3) {
- auto* builtin = Call("frexp", vec3<f32>(1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("frexp", vec3<f32>(1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -673,7 +671,7 @@
}
TEST_F(ResolverBuiltinsValidationTest, Frexp_Vec4) {
- auto* builtin = Call("frexp", vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("frexp", vec4<f32>(1_f, 1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -690,7 +688,7 @@
}
TEST_F(ResolverBuiltinsValidationTest, Modf_Scalar) {
- auto* builtin = Call("modf", 1.0f);
+ auto* builtin = Call("modf", 1_f);
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -703,7 +701,7 @@
}
TEST_F(ResolverBuiltinsValidationTest, Modf_Vec2) {
- auto* builtin = Call("modf", vec2<f32>(1.0f, 1.0f));
+ auto* builtin = Call("modf", vec2<f32>(1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -720,7 +718,7 @@
}
TEST_F(ResolverBuiltinsValidationTest, Modf_Vec3) {
- auto* builtin = Call("modf", vec3<f32>(1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("modf", vec3<f32>(1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -737,7 +735,7 @@
}
TEST_F(ResolverBuiltinsValidationTest, Modf_Vec4) {
- auto* builtin = Call("modf", vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("modf", vec4<f32>(1_f, 1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -754,36 +752,35 @@
}
TEST_F(ResolverBuiltinsValidationTest, Cross_Float_Vec3) {
- auto* builtin = Call("cross", vec3<f32>(1.0f, 1.0f, 1.0f), vec3<f32>(1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("cross", vec3<f32>(1_f, 1_f, 1_f), vec3<f32>(1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Dot_Float_Vec2) {
- auto* builtin = Call("dot", vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f));
+ auto* builtin = Call("dot", vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Dot_Float_Vec3) {
- auto* builtin = Call("dot", vec3<f32>(1.0f, 1.0f, 1.0f), vec3<f32>(1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("dot", vec3<f32>(1_f, 1_f, 1_f), vec3<f32>(1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Dot_Float_Vec4) {
- auto* builtin =
- Call("dot", vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f), vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f));
+ auto* builtin = Call("dot", vec4<f32>(1_f, 1_f, 1_f, 1_f), vec4<f32>(1_f, 1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverBuiltinsValidationTest, Select_Float_Scalar) {
- auto* builtin = Call("select", Expr(1.0f), Expr(1.0f), Expr(true));
+ auto* builtin = Call("select", Expr(1_f), Expr(1_f), Expr(true));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -805,7 +802,7 @@
TEST_F(ResolverBuiltinsValidationTest, Select_Float_Vec2) {
auto* builtin =
- Call("select", vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f), vec2<bool>(true, true));
+ Call("select", vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f), vec2<bool>(true, true));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -840,7 +837,7 @@
ast::ExpressionList params;
for (uint32_t i = 0; i < num_params; ++i) {
- params.push_back(Expr(1.0f));
+ params.push_back(Expr(1_f));
}
auto* builtin = Call(name, params);
Func("func", {}, ty.void_(), {CallStmt(builtin)},
@@ -856,7 +853,7 @@
ast::ExpressionList params;
for (uint32_t i = 0; i < num_params; ++i) {
- params.push_back(vec2<f32>(1.0f, 1.0f));
+ params.push_back(vec2<f32>(1_f, 1_f));
}
auto* builtin = Call(name, params);
Func("func", {}, ty.void_(), {CallStmt(builtin)},
@@ -872,7 +869,7 @@
ast::ExpressionList params;
for (uint32_t i = 0; i < num_params; ++i) {
- params.push_back(vec3<f32>(1.0f, 1.0f, 1.0f));
+ params.push_back(vec3<f32>(1_f, 1_f, 1_f));
}
auto* builtin = Call(name, params);
Func("func", {}, ty.void_(), {CallStmt(builtin)},
@@ -888,7 +885,7 @@
ast::ExpressionList params;
for (uint32_t i = 0; i < num_params; ++i) {
- params.push_back(vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f));
+ params.push_back(vec4<f32>(1_f, 1_f, 1_f, 1_f));
}
auto* builtin = Call(name, params);
Func("func", {}, ty.void_(), {CallStmt(builtin)},
@@ -1126,7 +1123,7 @@
TEST_P(DataPacking4x8, Float_Vec4) {
auto name = GetParam();
- auto* builtin = Call(name, vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f));
+ auto* builtin = Call(name, vec4<f32>(1_f, 1_f, 1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
@@ -1139,7 +1136,7 @@
TEST_P(DataPacking2x16, Float_Vec2) {
auto name = GetParam();
- auto* builtin = Call(name, vec2<f32>(1.0f, 1.0f));
+ auto* builtin = Call(name, vec2<f32>(1_f, 1_f));
WrapInFunction(builtin);
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
diff --git a/src/tint/resolver/call_test.cc b/src/tint/resolver/call_test.cc
index c8b9856..d84f300 100644
--- a/src/tint/resolver/call_test.cc
+++ b/src/tint/resolver/call_test.cc
@@ -18,6 +18,8 @@
#include "src/tint/ast/call_statement.h"
#include "src/tint/resolver/resolver_test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::resolver {
namespace {
// Helpers and typedefs
@@ -86,7 +88,7 @@
args.push_back(p.create_value(*this, 0));
}
- auto* func = Func("foo", std::move(params), ty.f32(), {Return(1.23f)});
+ auto* func = Func("foo", std::move(params), ty.f32(), {Return(1.23_f)});
auto* call_expr = Call("foo", std::move(args));
WrapInFunction(call_expr);
diff --git a/src/tint/resolver/call_validation_test.cc b/src/tint/resolver/call_validation_test.cc
index 756ba5c..84d2a51 100644
--- a/src/tint/resolver/call_validation_test.cc
+++ b/src/tint/resolver/call_validation_test.cc
@@ -36,7 +36,7 @@
TEST_F(ResolverCallValidationTest, TooManyArgs) {
Func("foo", {Param(Sym(), ty.i32()), Param(Sym(), ty.f32())}, ty.void_(), {Return()});
- auto* call = Call(Source{{12, 34}}, "foo", 1_i, 1.0f, 1.0f);
+ auto* call = Call(Source{{12, 34}}, "foo", 1_i, 1_f, 1_f);
WrapInFunction(call);
EXPECT_FALSE(r()->Resolve());
@@ -45,7 +45,7 @@
TEST_F(ResolverCallValidationTest, MismatchedArgs) {
Func("foo", {Param(Sym(), ty.i32()), Param(Sym(), ty.f32())}, ty.void_(), {Return()});
- auto* call = Call("foo", Expr(Source{{12, 34}}, true), 1.0f);
+ auto* call = Call("foo", Expr(Source{{12, 34}}, true), 1_f);
WrapInFunction(call);
EXPECT_FALSE(r()->Resolve());
@@ -58,7 +58,7 @@
// fn func() -> f32 { return 1.0; }
// fn main() {func(); return; }
- Func("func", {}, ty.f32(), {Return(Expr(1.0f))}, {});
+ Func("func", {}, ty.f32(), {Return(Expr(1_f))}, {});
Func("main", {}, ty.void_(),
{
@@ -139,7 +139,7 @@
Func("main", {}, ty.void_(),
{
Decl(Let("v", ty.Of(S), Construct(ty.Of(S)))),
- CallStmt(Call("foo", AddressOf(Expr(Source{{12, 34}}, MemberAccessor("v", "m"))))),
+ CallStmt(Call("foo", AddressOf(MemberAccessor(Source{{12, 34}}, "v", "m")))),
});
EXPECT_FALSE(r()->Resolve());
diff --git a/src/tint/resolver/compound_assignment_validation_test.cc b/src/tint/resolver/compound_assignment_validation_test.cc
index 1bfffb9..1ae7040 100644
--- a/src/tint/resolver/compound_assignment_validation_test.cc
+++ b/src/tint/resolver/compound_assignment_validation_test.cc
@@ -68,7 +68,7 @@
auto* var = Var("a", ty.i32(), ast::StorageClass::kNone, Expr(2_i));
- auto* assign = CompoundAssign(Source{{12, 34}}, "a", 2.3f, ast::BinaryOp::kAdd);
+ auto* assign = CompoundAssign(Source{{12, 34}}, "a", 2.3_f, ast::BinaryOp::kAdd);
WrapInFunction(var, assign);
ASSERT_FALSE(r()->Resolve());
@@ -83,9 +83,9 @@
// a |= 2.0;
// }
- auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(1.f));
+ auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(1_f));
- auto* assign = CompoundAssign(Source{{12, 34}}, "a", 2.0f, ast::BinaryOp::kOr);
+ auto* assign = CompoundAssign(Source{{12, 34}}, "a", 2_f, ast::BinaryOp::kOr);
WrapInFunction(var, assign);
ASSERT_FALSE(r()->Resolve());
@@ -102,7 +102,7 @@
auto* var = Var("a", ty.vec4<f32>(), ast::StorageClass::kNone);
- auto* assign = CompoundAssign(Source{{12, 34}}, "a", 1.f, ast::BinaryOp::kAdd);
+ auto* assign = CompoundAssign(Source{{12, 34}}, "a", 1_f, ast::BinaryOp::kAdd);
WrapInFunction(var, assign);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -132,7 +132,7 @@
auto* var = Var("a", ty.mat4x4<f32>(), ast::StorageClass::kNone);
- auto* assign = CompoundAssign(Source{{12, 34}}, "a", 2.f, ast::BinaryOp::kMultiply);
+ auto* assign = CompoundAssign(Source{{12, 34}}, "a", 2_f, ast::BinaryOp::kMultiply);
WrapInFunction(var, assign);
EXPECT_TRUE(r()->Resolve()) << r()->error();
diff --git a/src/tint/resolver/control_block_validation_test.cc b/src/tint/resolver/control_block_validation_test.cc
index b4742c9..a5ba7ca 100644
--- a/src/tint/resolver/control_block_validation_test.cc
+++ b/src/tint/resolver/control_block_validation_test.cc
@@ -30,7 +30,7 @@
// switch (a) {
// default: {}
// }
- auto* var = Var("a", ty.f32(), Expr(3.14f));
+ auto* var = Var("a", ty.f32(), Expr(3.14_f));
auto* block = Block(Decl(var), Switch(Expr(Source{{12, 34}}, "a"), //
DefaultCase()));
@@ -232,9 +232,9 @@
// }
auto* var = Var("a", ty.u32(), Expr(2_u));
- auto* block = Block(Decl(var), //
- Switch("a", //
- Case(Source{{12, 34}}, {Expr(i32(-1))}), //
+ auto* block = Block(Decl(var), //
+ Switch("a", //
+ Case(Source{{12, 34}}, {Expr(-1_i)}), //
DefaultCase()));
WrapInFunction(block);
@@ -281,12 +281,12 @@
auto* block = Block(Decl(var), //
Switch("a", //
- Case(Expr(Source{{12, 34}}, i32(-10))),
+ Case(Expr(Source{{12, 34}}, -10_i)),
Case({
Expr(0_i),
Expr(1_i),
Expr(2_i),
- Expr(Source{{56, 78}}, i32(-10)),
+ Expr(Source{{56, 78}}, -10_i),
}),
DefaultCase()));
WrapInFunction(block);
diff --git a/src/tint/resolver/dependency_graph_test.cc b/src/tint/resolver/dependency_graph_test.cc
index 248dc87..82b0a69 100644
--- a/src/tint/resolver/dependency_graph_test.cc
+++ b/src/tint/resolver/dependency_graph_test.cc
@@ -717,9 +717,10 @@
// }
// var G: f32 = 2.1;
- Func("F", ast::VariableList{}, ty.void_(), {Block(Assign(Expr(Source{{12, 34}}, "G"), 3.14f))});
+ Func("F", ast::VariableList{}, ty.void_(),
+ {Block(Assign(Expr(Source{{12, 34}}, "G"), 3.14_f))});
- Global(Source{{56, 78}}, "G", ty.f32(), ast::StorageClass::kPrivate, Expr(2.1f));
+ Global(Source{{56, 78}}, "G", ty.f32(), ast::StorageClass::kPrivate, Expr(2.1_f));
Build();
}
diff --git a/src/tint/resolver/entry_point_validation_test.cc b/src/tint/resolver/entry_point_validation_test.cc
index d1d9a48..3028d9b 100644
--- a/src/tint/resolver/entry_point_validation_test.cc
+++ b/src/tint/resolver/entry_point_validation_test.cc
@@ -49,7 +49,7 @@
TEST_F(ResolverEntryPointValidationTest, ReturnTypeAttribute_Location) {
// @stage(fragment)
// fn main() -> @location(0) f32 { return 1.0; }
- Func(Source{{12, 34}}, "main", {}, ty.f32(), {Return(1.0f)},
+ Func(Source{{12, 34}}, "main", {}, ty.f32(), {Return(1_f)},
{Stage(ast::PipelineStage::kFragment)}, {Location(0)});
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -501,7 +501,7 @@
// @stage(fragment)
// fn main(param : Input) {}
auto* input =
- Structure("Input", {Member(Source{{13, 43}}, "a", ty.array<float>(), {Location(0)})});
+ Structure("Input", {Member(Source{{13, 43}}, "a", ty.array<f32>(), {Location(0)})});
auto* param = Param("param", ty.Of(input));
Func(Source{{12, 34}}, "main", {param}, ty.void_(), {}, {Stage(ast::PipelineStage::kFragment)});
@@ -633,7 +633,7 @@
// fn main() -> Output {
// return Output();
// }
- auto* output = Structure("Output", {Member(Source{{13, 43}}, "a", ty.array<float>(),
+ auto* output = Structure("Output", {Member(Source{{13, 43}}, "a", ty.array<f32>(),
{Location(Source{{12, 34}}, 0)})});
Func(Source{{12, 34}}, "main", {}, ty.Of(output), {Return(Construct(ty.Of(output)))},
{Stage(ast::PipelineStage::kFragment)});
diff --git a/src/tint/resolver/function_validation_test.cc b/src/tint/resolver/function_validation_test.cc
index 1bc70a5..ce37ba5 100644
--- a/src/tint/resolver/function_validation_test.cc
+++ b/src/tint/resolver/function_validation_test.cc
@@ -288,7 +288,7 @@
// fn func() -> f32 { return 2.0; }
Func("func", ast::VariableList{}, ty.f32(),
ast::StatementList{
- Return(Source{{12, 34}}, Expr(2.f)),
+ Return(Source{{12, 34}}, Expr(2_f)),
},
ast::AttributeList{});
@@ -315,7 +315,7 @@
auto* myf32 = Alias("myf32", ty.f32());
Func("func", ast::VariableList{}, ty.Of(myf32),
ast::StatementList{
- Return(Source{{12, 34}}, Expr(2.f)),
+ Return(Source{{12, 34}}, Expr(2_f)),
},
ast::AttributeList{});
@@ -539,7 +539,7 @@
// fn main() {}
Func("main", {}, ty.void_(), {},
- {Stage(ast::PipelineStage::kCompute), WorkgroupSize(Expr(Source{{12, 34}}, 64.f))});
+ {Stage(ast::PipelineStage::kCompute), WorkgroupSize(Expr(Source{{12, 34}}, 64_f))});
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
@@ -552,7 +552,7 @@
// fn main() {}
Func("main", {}, ty.void_(), {},
- {Stage(ast::PipelineStage::kCompute), WorkgroupSize(Expr(Source{{12, 34}}, i32(-2)))});
+ {Stage(ast::PipelineStage::kCompute), WorkgroupSize(Expr(Source{{12, 34}}, -2_i))});
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: workgroup_size argument must be at least 1");
@@ -573,7 +573,7 @@
// let x = 64.0;
// @stage(compute) @workgroup_size(x)
// fn main() {}
- GlobalConst("x", ty.f32(), Expr(64.f));
+ GlobalConst("x", ty.f32(), Expr(64_f));
Func("main", {}, ty.void_(), {},
{Stage(ast::PipelineStage::kCompute), WorkgroupSize(Expr(Source{{12, 34}}, "x"))});
@@ -587,7 +587,7 @@
// let x = -2i;
// @stage(compute) @workgroup_size(x)
// fn main() {}
- GlobalConst("x", ty.i32(), Expr(i32(-2)));
+ GlobalConst("x", ty.i32(), Expr(-2_i));
Func("main", {}, ty.void_(), {},
{Stage(ast::PipelineStage::kCompute), WorkgroupSize(Expr(Source{{12, 34}}, "x"))});
diff --git a/src/tint/resolver/increment_decrement_validation_test.cc b/src/tint/resolver/increment_decrement_validation_test.cc
index 37033c5..e03352e 100644
--- a/src/tint/resolver/increment_decrement_validation_test.cc
+++ b/src/tint/resolver/increment_decrement_validation_test.cc
@@ -101,7 +101,7 @@
TEST_F(ResolverIncrementDecrementValidationTest, Float) {
// var a : f32 = 2.0;
// a++;
- auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2.f));
+ auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2_f));
auto* inc = Increment(Expr(Source{{12, 34}}, "a"));
WrapInFunction(var, inc);
diff --git a/src/tint/resolver/intrinsic_table.inl b/src/tint/resolver/intrinsic_table.inl
index f29c291..9981bb8 100644
--- a/src/tint/resolver/intrinsic_table.inl
+++ b/src/tint/resolver/intrinsic_table.inl
@@ -1675,7 +1675,7 @@
constexpr MatcherIndex kMatcherIndices[] = {
/* [0] */ 30,
- /* [1] */ 5,
+ /* [1] */ 4,
/* [2] */ 10,
/* [3] */ 0,
/* [4] */ 11,
@@ -1691,12 +1691,12 @@
/* [14] */ 0,
/* [15] */ 2,
/* [16] */ 9,
- /* [17] */ 1,
- /* [18] */ 0,
+ /* [17] */ 0,
+ /* [18] */ 1,
/* [19] */ 2,
/* [20] */ 9,
- /* [21] */ 0,
- /* [22] */ 1,
+ /* [21] */ 1,
+ /* [22] */ 0,
/* [23] */ 2,
/* [24] */ 9,
/* [25] */ 0,
@@ -1715,112 +1715,112 @@
/* [38] */ 8,
/* [39] */ 0,
/* [40] */ 0,
- /* [41] */ 8,
- /* [42] */ 1,
- /* [43] */ 2,
- /* [44] */ 8,
+ /* [41] */ 29,
+ /* [42] */ 0,
+ /* [43] */ 1,
+ /* [44] */ 30,
/* [45] */ 0,
- /* [46] */ 3,
+ /* [46] */ 1,
/* [47] */ 8,
- /* [48] */ 0,
- /* [49] */ 4,
- /* [50] */ 29,
- /* [51] */ 5,
- /* [52] */ 10,
- /* [53] */ 28,
- /* [54] */ 5,
- /* [55] */ 10,
- /* [56] */ 27,
- /* [57] */ 5,
- /* [58] */ 10,
- /* [59] */ 30,
- /* [60] */ 4,
- /* [61] */ 10,
- /* [62] */ 29,
- /* [63] */ 4,
+ /* [48] */ 1,
+ /* [49] */ 2,
+ /* [50] */ 28,
+ /* [51] */ 0,
+ /* [52] */ 1,
+ /* [53] */ 27,
+ /* [54] */ 0,
+ /* [55] */ 1,
+ /* [56] */ 8,
+ /* [57] */ 0,
+ /* [58] */ 3,
+ /* [59] */ 8,
+ /* [60] */ 0,
+ /* [61] */ 4,
+ /* [62] */ 27,
+ /* [63] */ 3,
/* [64] */ 10,
/* [65] */ 28,
- /* [66] */ 4,
+ /* [66] */ 3,
/* [67] */ 10,
- /* [68] */ 27,
- /* [69] */ 4,
+ /* [68] */ 29,
+ /* [69] */ 3,
/* [70] */ 10,
/* [71] */ 30,
/* [72] */ 3,
/* [73] */ 10,
- /* [74] */ 29,
- /* [75] */ 3,
+ /* [74] */ 27,
+ /* [75] */ 4,
/* [76] */ 10,
/* [77] */ 28,
- /* [78] */ 3,
+ /* [78] */ 4,
/* [79] */ 10,
- /* [80] */ 27,
- /* [81] */ 3,
+ /* [80] */ 30,
+ /* [81] */ 5,
/* [82] */ 10,
/* [83] */ 29,
- /* [84] */ 0,
- /* [85] */ 1,
- /* [86] */ 30,
- /* [87] */ 0,
- /* [88] */ 1,
+ /* [84] */ 5,
+ /* [85] */ 10,
+ /* [86] */ 29,
+ /* [87] */ 4,
+ /* [88] */ 10,
/* [89] */ 28,
- /* [90] */ 0,
- /* [91] */ 1,
+ /* [90] */ 5,
+ /* [91] */ 10,
/* [92] */ 27,
- /* [93] */ 0,
- /* [94] */ 1,
- /* [95] */ 5,
+ /* [93] */ 5,
+ /* [94] */ 10,
+ /* [95] */ 6,
/* [96] */ 3,
- /* [97] */ 6,
- /* [98] */ 2,
- /* [99] */ 35,
- /* [100] */ 0,
- /* [101] */ 5,
- /* [102] */ 0,
- /* [103] */ 7,
- /* [104] */ 2,
+ /* [97] */ 7,
+ /* [98] */ 3,
+ /* [99] */ 5,
+ /* [100] */ 3,
+ /* [101] */ 7,
+ /* [102] */ 4,
+ /* [103] */ 15,
+ /* [104] */ 0,
/* [105] */ 7,
/* [106] */ 0,
- /* [107] */ 21,
+ /* [107] */ 16,
/* [108] */ 0,
- /* [109] */ 6,
- /* [110] */ 3,
- /* [111] */ 18,
+ /* [109] */ 7,
+ /* [110] */ 2,
+ /* [111] */ 17,
/* [112] */ 0,
- /* [113] */ 17,
- /* [114] */ 0,
- /* [115] */ 16,
+ /* [113] */ 5,
+ /* [114] */ 2,
+ /* [115] */ 33,
/* [116] */ 0,
- /* [117] */ 15,
+ /* [117] */ 18,
/* [118] */ 0,
- /* [119] */ 7,
- /* [120] */ 4,
- /* [121] */ 7,
- /* [122] */ 3,
- /* [123] */ 5,
+ /* [119] */ 21,
+ /* [120] */ 0,
+ /* [121] */ 6,
+ /* [122] */ 2,
+ /* [123] */ 20,
/* [124] */ 2,
- /* [125] */ 33,
+ /* [125] */ 19,
/* [126] */ 0,
/* [127] */ 19,
- /* [128] */ 0,
+ /* [128] */ 2,
/* [129] */ 20,
/* [130] */ 0,
- /* [131] */ 20,
+ /* [131] */ 18,
/* [132] */ 2,
- /* [133] */ 19,
+ /* [133] */ 17,
/* [134] */ 2,
- /* [135] */ 18,
- /* [136] */ 2,
- /* [137] */ 17,
- /* [138] */ 2,
+ /* [135] */ 5,
+ /* [136] */ 0,
+ /* [137] */ 35,
+ /* [138] */ 0,
/* [139] */ 16,
/* [140] */ 2,
/* [141] */ 15,
/* [142] */ 2,
- /* [143] */ 24,
- /* [144] */ 13,
- /* [145] */ 25,
- /* [146] */ 23,
+ /* [143] */ 13,
+ /* [144] */ 23,
+ /* [145] */ 24,
+ /* [146] */ 25,
/* [147] */ 22,
/* [148] */ 26,
/* [149] */ 14,
@@ -1839,72 +1839,72 @@
{
/* [0] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [1] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [2] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [3] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [4] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [5] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [6] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [7] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [8] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [9] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [10] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [11] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [12] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [13] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [14] */
@@ -1914,12 +1914,12 @@
{
/* [15] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [16] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [17] */
@@ -1929,102 +1929,102 @@
{
/* [18] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [19] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[139],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [20] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [21] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [22] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [23] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [24] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [25] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [26] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [27] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [28] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [29] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [30] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [31] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [32] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [33] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [34] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [35] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [36] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [37] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [38] */
@@ -2034,12 +2034,12 @@
{
/* [39] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [40] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [41] */
@@ -2049,172 +2049,172 @@
{
/* [42] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [43] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [44] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [45] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [46] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [47] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [48] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[109],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [49] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [50] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[149],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [51] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [52] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [53] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [54] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [55] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [56] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [57] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [58] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [59] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [60] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [61] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [62] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[149],
},
{
/* [63] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [64] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [65] */
- /* usage */ ParameterUsage::kBias,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[15],
},
{
/* [66] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [67] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[139],
},
{
/* [68] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [69] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [70] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [71] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [72] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [73] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [74] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [75] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [76] */
@@ -2224,37 +2224,37 @@
{
/* [77] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[109],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [78] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [79] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [80] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [81] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [82] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[109],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [83] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [84] */
@@ -2264,12 +2264,12 @@
{
/* [85] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [86] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [87] */
@@ -2284,12 +2284,12 @@
{
/* [89] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [90] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [91] */
@@ -2299,137 +2299,137 @@
{
/* [92] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [93] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [94] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [95] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [96] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [97] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [98] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [99] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[149],
},
{
/* [100] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [101] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [102] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
- },
- {
- /* [103] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
- },
- {
- /* [104] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[149],
- },
- {
- /* [105] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
- },
- {
- /* [106] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
- },
- {
- /* [107] */
/* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[15],
},
{
- /* [108] */
+ /* [103] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[139],
},
{
+ /* [104] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
+ },
+ {
+ /* [105] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[113],
+ },
+ {
+ /* [106] */
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[113],
+ },
+ {
+ /* [107] */
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[113],
+ },
+ {
+ /* [108] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[123],
+ },
+ {
/* [109] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [110] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [111] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [112] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [113] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [114] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [115] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [116] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[97],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [117] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[97],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [118] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [119] */
@@ -2439,12 +2439,12 @@
{
/* [120] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [121] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [122] */
@@ -2454,22 +2454,22 @@
{
/* [123] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [124] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [125] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [126] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [127] */
@@ -2479,32 +2479,32 @@
{
/* [128] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [129] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [130] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [131] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [132] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [133] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [134] */
@@ -2514,12 +2514,12 @@
{
/* [135] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [136] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [137] */
@@ -2529,7 +2529,7 @@
{
/* [138] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [139] */
@@ -2539,12 +2539,12 @@
{
/* [140] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [141] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [142] */
@@ -2554,77 +2554,77 @@
{
/* [143] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[127],
},
{
/* [144] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [145] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [146] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [147] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [148] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [149] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [150] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [151] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [152] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [153] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[147],
},
{
/* [154] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[149],
},
{
/* [155] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [156] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[97],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [157] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[97],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [158] */
@@ -2639,7 +2639,7 @@
{
/* [160] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [161] */
@@ -2649,12 +2649,12 @@
{
/* [162] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [163] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [164] */
@@ -2664,12 +2664,12 @@
{
/* [165] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [166] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [167] */
@@ -2684,72 +2684,72 @@
{
/* [169] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [170] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [171] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [172] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [173] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [174] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [175] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [176] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [177] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [178] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [179] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [180] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [181] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [182] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [183] */
@@ -2759,12 +2759,12 @@
{
/* [184] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [185] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [186] */
@@ -2774,7 +2774,7 @@
{
/* [187] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [188] */
@@ -2789,7 +2789,7 @@
{
/* [190] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [191] */
@@ -2799,27 +2799,27 @@
{
/* [192] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [193] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [194] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [195] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [196] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [197] */
@@ -2829,7 +2829,7 @@
{
/* [198] */
/* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [199] */
@@ -2839,67 +2839,67 @@
{
/* [200] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [201] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [202] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [203] */
/* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [204] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[107],
},
{
/* [205] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [206] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [207] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [208] */
/* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [209] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [210] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [211] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [212] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [213] */
@@ -2909,62 +2909,62 @@
{
/* [214] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [215] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [216] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
- },
- {
- /* [217] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[15],
},
{
+ /* [217] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[95],
+ },
+ {
/* [218] */
/* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [219] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [220] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [221] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [222] */
/* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [223] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[107],
},
{
/* [224] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [225] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [226] */
@@ -2974,62 +2974,62 @@
{
/* [227] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [228] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [229] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [230] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [231] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [232] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [233] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [234] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [235] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [236] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [237] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [238] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[143],
+ /* matcher indices */ &kMatcherIndices[145],
},
{
/* [239] */
@@ -3039,7 +3039,7 @@
{
/* [240] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [241] */
@@ -3059,7 +3059,7 @@
{
/* [244] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [245] */
@@ -3079,7 +3079,7 @@
{
/* [248] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [249] */
@@ -3089,27 +3089,27 @@
{
/* [250] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[143],
+ /* matcher indices */ &kMatcherIndices[68],
},
{
/* [251] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [252] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [253] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [254] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[143],
+ /* matcher indices */ &kMatcherIndices[145],
},
{
/* [255] */
@@ -3119,7 +3119,7 @@
{
/* [256] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [257] */
@@ -3139,7 +3139,7 @@
{
/* [260] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [261] */
@@ -3149,7 +3149,7 @@
{
/* [262] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[143],
+ /* matcher indices */ &kMatcherIndices[145],
},
{
/* [263] */
@@ -3159,7 +3159,7 @@
{
/* [264] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [265] */
@@ -3169,77 +3169,77 @@
{
/* [266] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[127],
},
{
/* [267] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [268] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [269] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [270] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [271] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [272] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [273] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kBias,
/* matcher indices */ &kMatcherIndices[15],
},
{
/* [274] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[147],
},
{
/* [275] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [276] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [277] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [278] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[127],
},
{
/* [279] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [280] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [281] */
@@ -3249,322 +3249,322 @@
{
/* [282] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[145],
},
{
/* [283] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [284] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [285] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [286] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [287] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [288] */
/* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [289] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [290] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [291] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [292] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [293] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [294] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [295] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [296] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [297] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [298] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[50],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [299] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [300] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [301] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[119],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [302] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[147],
},
{
/* [303] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [304] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [305] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [306] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [307] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [308] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [309] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[101],
},
{
/* [310] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [311] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [312] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [313] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [314] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [315] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [316] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [317] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [318] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[62],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [319] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [320] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
- },
- {
- /* [321] */
- /* usage */ ParameterUsage::kValue,
+ /* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[121],
},
{
- /* [322] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[139],
- },
- {
- /* [323] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
- },
- {
- /* [324] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
- },
- {
- /* [325] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[15],
- },
- {
- /* [326] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[74],
- },
- {
- /* [327] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
- },
- {
- /* [328] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
- },
- {
- /* [329] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[103],
- },
- {
- /* [330] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
- },
- {
- /* [331] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
- },
- {
- /* [332] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
- },
- {
- /* [333] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
- },
- {
- /* [334] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[139],
- },
- {
- /* [335] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
- },
- {
- /* [336] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
- },
- {
- /* [337] */
+ /* [321] */
/* usage */ ParameterUsage::kOffset,
/* matcher indices */ &kMatcherIndices[95],
},
{
- /* [338] */
+ /* [322] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[86],
+ },
+ {
+ /* [323] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
+ /* [324] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
+ },
+ {
+ /* [325] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[97],
+ },
+ {
+ /* [326] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[139],
+ },
+ {
+ /* [327] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
+ },
+ {
+ /* [328] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[113],
+ },
+ {
+ /* [329] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[15],
+ },
+ {
+ /* [330] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[139],
+ },
+ {
+ /* [331] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
+ },
+ {
+ /* [332] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[113],
+ },
+ {
+ /* [333] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
+ /* [334] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [335] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
+ },
+ {
+ /* [336] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[113],
+ },
+ {
+ /* [337] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[58],
+ },
+ {
+ /* [338] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [339] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [340] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [341] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [342] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [343] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [344] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [345] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [346] */
@@ -3574,12 +3574,12 @@
{
/* [347] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [348] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [349] */
@@ -3588,63 +3588,63 @@
},
{
/* [350] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[2],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[74],
},
{
/* [351] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [352] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [353] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[2],
},
{
/* [354] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [355] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [356] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [357] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [358] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [359] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[68],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [360] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [361] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[121],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [362] */
@@ -3669,87 +3669,87 @@
{
/* [366] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [367] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [368] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [369] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [370] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [371] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[143],
+ /* matcher indices */ &kMatcherIndices[147],
},
{
/* [372] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [373] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [374] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[80],
+ /* matcher indices */ &kMatcherIndices[145],
},
{
/* [375] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [376] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[103],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [377] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [378] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [379] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [380] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [381] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [382] */
- /* usage */ ParameterUsage::kSampleIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [383] */
@@ -3768,88 +3768,88 @@
},
{
/* [386] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[148],
},
{
/* [387] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [388] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kSampleIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [389] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [390] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [391] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [392] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [393] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [394] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [395] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [396] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [397] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [398] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [399] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [400] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [401] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [402] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [403] */
@@ -3858,68 +3858,68 @@
},
{
/* [404] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [405] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [406] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [407] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[107],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [408] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [409] */
- /* usage */ ParameterUsage::kSampleIndex,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [410] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[111],
+ /* matcher indices */ &kMatcherIndices[147],
},
{
/* [411] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[109],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [412] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [413] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [414] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [415] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kSampleIndex,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [416] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [417] */
@@ -3929,67 +3929,67 @@
{
/* [418] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [419] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* matcher indices */ &kMatcherIndices[145],
},
{
/* [420] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [421] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [422] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[107],
},
{
/* [423] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[109],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [424] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[119],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [425] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[143],
+ /* matcher indices */ &kMatcherIndices[103],
},
{
/* [426] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [427] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [428] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[80],
},
{
/* [429] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [430] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[101],
},
{
/* [431] */
@@ -3999,107 +3999,107 @@
{
/* [432] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [433] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [434] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[53],
+ /* matcher indices */ &kMatcherIndices[127],
},
{
/* [435] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [436] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[119],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [437] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[56],
+ /* matcher indices */ &kMatcherIndices[150],
},
{
/* [438] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [439] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[119],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [440] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [441] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [442] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[101],
},
{
/* [443] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [444] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [445] */
- /* usage */ ParameterUsage::kNone,
+ /* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[15],
},
{
/* [446] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[59],
+ /* matcher indices */ &kMatcherIndices[62],
},
{
/* [447] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[109],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [448] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[121],
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [449] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[141],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [450] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [451] */
- /* usage */ ParameterUsage::kCoords,
+ /* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[15],
},
{
/* [452] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[65],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [453] */
@@ -4109,102 +4109,102 @@
{
/* [454] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[121],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [455] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[150],
+ /* matcher indices */ &kMatcherIndices[139],
},
{
/* [456] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [457] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [458] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[77],
},
{
/* [459] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [460] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [461] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[65],
},
{
/* [462] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [463] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [464] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [465] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [466] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [467] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[71],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [468] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [469] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[103],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [470] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[139],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [471] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[144],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [472] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[35],
},
{
/* [473] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[77],
+ /* matcher indices */ &kMatcherIndices[71],
},
{
/* [474] */
@@ -4214,22 +4214,22 @@
{
/* [475] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[103],
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [476] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[92],
},
{
/* [477] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [478] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[101],
},
{
/* [479] */
@@ -4239,7 +4239,7 @@
{
/* [480] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[47],
+ /* matcher indices */ &kMatcherIndices[59],
},
{
/* [481] */
@@ -4254,22 +4254,22 @@
{
/* [483] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [484] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [485] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [486] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [487] */
@@ -4293,63 +4293,63 @@
},
{
/* [491] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[3],
+ },
+ {
+ /* [492] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[3],
+ },
+ {
+ /* [493] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[150],
},
{
- /* [492] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
- },
- {
- /* [493] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[2],
- },
- {
/* [494] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [495] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[2],
},
{
/* [496] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [497] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[2],
},
{
/* [498] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [499] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[2],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [500] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [501] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[2],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [502] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [503] */
@@ -4364,12 +4364,12 @@
{
/* [505] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[2],
},
{
/* [506] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [507] */
@@ -4379,17 +4379,17 @@
{
/* [508] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [509] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[2],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [510] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[56],
},
{
/* [511] */
@@ -4434,7 +4434,7 @@
{
/* [519] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[2],
},
{
/* [520] */
@@ -4444,12 +4444,12 @@
{
/* [521] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [522] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [523] */
@@ -4459,37 +4459,37 @@
{
/* [524] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [525] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [526] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [527] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[20],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [528] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[20],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [529] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[16],
},
{
/* [530] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[16],
},
{
/* [531] */
@@ -4504,12 +4504,12 @@
{
/* [533] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[103],
},
{
/* [534] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [535] */
@@ -4524,12 +4524,12 @@
{
/* [537] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[107],
},
{
/* [538] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [539] */
@@ -4549,7 +4549,7 @@
{
/* [542] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [543] */
@@ -4564,32 +4564,32 @@
{
/* [545] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [546] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [547] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[20],
+ /* matcher indices */ &kMatcherIndices[16],
},
{
/* [548] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[20],
+ /* matcher indices */ &kMatcherIndices[16],
},
{
/* [549] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [550] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [551] */
@@ -4603,73 +4603,73 @@
},
{
/* [553] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [554] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[58],
+ },
+ {
+ /* [555] */
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[38],
},
{
- /* [555] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
- },
- {
/* [556] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [557] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [558] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [559] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
+ /* matcher indices */ &kMatcherIndices[147],
},
{
/* [560] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [561] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [562] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[16],
},
{
/* [563] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[143],
+ /* matcher indices */ &kMatcherIndices[144],
},
{
/* [564] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [565] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[16],
},
{
/* [566] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[20],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [567] */
@@ -4679,37 +4679,37 @@
{
/* [568] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[46],
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [569] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[20],
+ /* matcher indices */ &kMatcherIndices[16],
},
{
/* [570] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [571] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[20],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[146],
},
{
/* [572] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[58],
},
{
/* [573] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[41],
+ /* matcher indices */ &kMatcherIndices[47],
},
{
/* [574] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[20],
+ /* matcher indices */ &kMatcherIndices[16],
},
{
/* [575] */
@@ -4719,27 +4719,27 @@
{
/* [576] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[16],
+ /* matcher indices */ &kMatcherIndices[20],
},
{
/* [577] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [578] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [579] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [580] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [581] */
@@ -4814,172 +4814,172 @@
{
/* [595] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [596] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [597] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [598] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [599] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [600] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [601] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [602] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [603] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [604] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [605] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [606] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [607] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [608] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [609] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [610] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [611] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [612] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [613] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[35],
},
{
/* [614] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[35],
},
{
/* [615] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [616] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [617] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [618] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [619] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[35],
},
{
/* [620] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[35],
},
{
/* [621] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [622] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [623] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [624] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [625] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [626] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [627] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [628] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [629] */
@@ -4994,42 +4994,42 @@
{
/* [631] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [632] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [633] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [634] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [635] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [636] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [637] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [638] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [639] */
@@ -5109,7 +5109,7 @@
{
/* [654] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [655] */
@@ -5119,7 +5119,7 @@
{
/* [656] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[47],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [657] */
@@ -5129,17 +5129,17 @@
{
/* [658] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [659] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [660] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* matcher indices */ &kMatcherIndices[59],
},
{
/* [661] */
@@ -5149,232 +5149,232 @@
{
/* [662] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [663] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
- },
- {
- /* [664] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[107],
- },
- {
- /* [665] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[145],
- },
- {
- /* [666] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[143],
- },
- {
- /* [667] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
- },
- {
- /* [668] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
- },
- {
- /* [669] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [670] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
- },
- {
- /* [671] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[111],
- },
- {
- /* [672] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
- },
- {
- /* [673] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
- },
- {
- /* [674] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
- },
- {
- /* [675] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
- },
- {
- /* [676] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[83],
- },
- {
- /* [677] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[145],
- },
- {
- /* [678] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
- },
- {
- /* [679] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [680] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
- },
- {
- /* [681] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[150],
- },
- {
- /* [682] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[86],
- },
- {
- /* [683] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[83],
- },
- {
- /* [684] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [685] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[92],
- },
- {
- /* [686] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[148],
- },
- {
- /* [687] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[145],
- },
- {
- /* [688] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[143],
- },
- {
- /* [689] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[146],
- },
- {
- /* [690] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
- },
- {
- /* [691] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[107],
- },
- {
- /* [692] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [693] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
- },
- {
- /* [694] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[111],
- },
- {
- /* [695] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
- },
- {
- /* [696] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
- },
- {
- /* [697] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
- },
- {
- /* [698] */
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[38],
},
{
- /* [699] */
+ /* [664] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* matcher indices */ &kMatcherIndices[38],
+ },
+ {
+ /* [665] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[3],
+ },
+ {
+ /* [666] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[3],
+ },
+ {
+ /* [667] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[148],
+ },
+ {
+ /* [668] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[119],
+ },
+ {
+ /* [669] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[146],
+ },
+ {
+ /* [670] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[145],
+ },
+ {
+ /* [671] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[144],
+ },
+ {
+ /* [672] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[147],
+ },
+ {
+ /* [673] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
+ },
+ {
+ /* [674] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
+ },
+ {
+ /* [675] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
+ },
+ {
+ /* [676] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[111],
+ },
+ {
+ /* [677] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[107],
+ },
+ {
+ /* [678] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[16],
+ },
+ {
+ /* [679] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[103],
+ },
+ {
+ /* [680] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[41],
+ },
+ {
+ /* [681] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[146],
+ },
+ {
+ /* [682] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[144],
+ },
+ {
+ /* [683] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
+ },
+ {
+ /* [684] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[111],
+ },
+ {
+ /* [685] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[150],
+ },
+ {
+ /* [686] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[44],
+ },
+ {
+ /* [687] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[41],
+ },
+ {
+ /* [688] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[50],
+ },
+ {
+ /* [689] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[53],
+ },
+ {
+ /* [690] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[148],
+ },
+ {
+ /* [691] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[146],
+ },
+ {
+ /* [692] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[145],
+ },
+ {
+ /* [693] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[144],
+ },
+ {
+ /* [694] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[147],
+ },
+ {
+ /* [695] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[119],
+ },
+ {
+ /* [696] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
+ },
+ {
+ /* [697] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
+ },
+ {
+ /* [698] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
+ },
+ {
+ /* [699] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [700] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[107],
},
{
/* [701] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[103],
},
{
/* [702] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [703] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[49],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [704] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [705] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[20],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [706] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [707] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [708] */
@@ -5389,22 +5389,22 @@
{
/* [710] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [711] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [712] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [713] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [714] */
@@ -5444,12 +5444,12 @@
{
/* [721] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [722] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [723] */
@@ -5464,47 +5464,47 @@
{
/* [725] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[103],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [726] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[103],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [727] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [728] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [729] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [730] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [731] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [732] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [733] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [734] */
@@ -5514,32 +5514,32 @@
{
/* [735] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [736] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[2],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [737] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [738] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [739] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [740] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[2],
},
{
/* [741] */
@@ -5574,52 +5574,52 @@
{
/* [747] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [748] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [749] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [750] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [751] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[18],
},
{
/* [752] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[35],
},
{
/* [753] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [754] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [755] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [756] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [757] */
@@ -5644,42 +5644,42 @@
{
/* [761] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [762] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [763] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [764] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [765] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [766] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [767] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [768] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [769] */
@@ -5699,32 +5699,32 @@
{
/* [772] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [773] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [774] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [775] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [776] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [777] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [778] */
@@ -5739,37 +5739,37 @@
{
/* [780] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [781] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [782] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [783] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [784] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [785] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[38],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [786] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [787] */
@@ -5784,22 +5784,22 @@
{
/* [789] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [790] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [791] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[38],
},
{
/* [792] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[15],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [793] */
@@ -5834,36 +5834,56 @@
{
/* [799] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [800] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [801] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [802] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[35],
+ /* matcher indices */ &kMatcherIndices[15],
},
{
/* [803] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [804] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[35],
},
{
/* [805] */
/* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[18],
+ },
+ {
+ /* [806] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[35],
+ },
+ {
+ /* [807] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[18],
+ },
+ {
+ /* [808] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[32],
+ },
+ {
+ /* [809] */
+ /* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[15],
},
};
@@ -5957,8 +5977,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[697],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[701],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5969,8 +5989,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[529],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[533],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5981,8 +6001,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[696],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[700],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5993,8 +6013,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[533],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[537],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6005,8 +6025,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[695],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[699],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6017,8 +6037,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[537],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[541],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6029,37 +6049,13 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[694],
- /* return matcher indices */ &kMatcherIndices[109],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [7] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[541],
- /* return matcher indices */ &kMatcherIndices[109],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [8] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[693],
+ /* parameters */ &kParameters[698],
/* return matcher indices */ &kMatcherIndices[95],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [9] */
+ /* [7] */
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
@@ -6071,14 +6067,38 @@
/* is_deprecated */ false,
},
{
+ /* [8] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[697],
+ /* return matcher indices */ &kMatcherIndices[99],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [9] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[549],
+ /* return matcher indices */ &kMatcherIndices[99],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
/* [10] */
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[692],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[696],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6089,8 +6109,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[549],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[553],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6101,8 +6121,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[691],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[695],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6113,8 +6133,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[690],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[694],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6125,8 +6145,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[555],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[559],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6137,8 +6157,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[689],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[693],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6149,8 +6169,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[559],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[563],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6161,8 +6181,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[688],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[692],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6173,8 +6193,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[563],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[567],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6185,8 +6205,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[687],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[691],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6197,8 +6217,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[567],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[571],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6209,8 +6229,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[686],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[690],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6221,8 +6241,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[685],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[689],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6233,8 +6253,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[684],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[688],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6245,8 +6265,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[683],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[687],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6257,8 +6277,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[682],
- /* return matcher indices */ &kMatcherIndices[109],
+ /* parameters */ &kParameters[686],
+ /* return matcher indices */ &kMatcherIndices[95],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6269,81 +6289,81 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[681],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[685],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [27] */
- /* num parameters */ 3,
+ /* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[449],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[326],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [28] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[470],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [29] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[334],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [30] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[338],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [31] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[148],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[183],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [32] */
- /* num parameters */ 3,
+ /* [29] */
+ /* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[377],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[193],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [30] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[19],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [31] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[342],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [32] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[213],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6353,21 +6373,21 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[314],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[278],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [34] */
- /* num parameters */ 3,
+ /* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[440],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[108],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6377,193 +6397,13 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[310],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[274],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [36] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[431],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [37] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[306],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [38] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[302],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [39] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[98],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [40] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[425],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [41] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[294],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [42] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[322],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [43] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[183],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [44] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[193],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [45] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[7],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [46] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[270],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [47] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[78],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [48] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[278],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [49] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[213],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [50] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[266],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [51] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -6575,7 +6415,7 @@
/* is_deprecated */ false,
},
{
- /* [52] */
+ /* [37] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -6587,7 +6427,7 @@
/* is_deprecated */ false,
},
{
- /* [53] */
+ /* [38] */
/* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -6599,19 +6439,19 @@
/* is_deprecated */ false,
},
{
- /* [54] */
+ /* [39] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[250],
+ /* parameters */ &kParameters[282],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [55] */
+ /* [40] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -6623,163 +6463,199 @@
/* is_deprecated */ false,
},
{
- /* [56] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[455],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [57] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[374],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [58] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[473],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [59] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[326],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [60] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[467],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [61] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[359],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [62] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[452],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [63] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[318],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [64] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[446],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [65] */
+ /* [41] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[437],
- /* return matcher indices */ nullptr,
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [66] */
+ /* [42] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[443],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [43] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[455],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [44] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[330],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [45] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[334],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [46] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[148],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [47] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[377],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [48] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[318],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [49] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[434],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
- /* [67] */
+ /* [50] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[314],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [51] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[431],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [52] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[302],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [53] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[298],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
- /* [68] */
+ /* [54] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[78],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [55] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[422],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[419],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
- /* [69] */
+ /* [56] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[290],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [57] */
/* num parameters */ 4,
/* num open types */ 1,
/* num open numbers */ 0,
@@ -6791,7 +6667,7 @@
/* is_deprecated */ false,
},
{
- /* [70] */
+ /* [58] */
/* num parameters */ 5,
/* num open types */ 1,
/* num open numbers */ 0,
@@ -6803,7 +6679,7 @@
/* is_deprecated */ false,
},
{
- /* [71] */
+ /* [59] */
/* num parameters */ 5,
/* num open types */ 1,
/* num open numbers */ 0,
@@ -6815,19 +6691,19 @@
/* is_deprecated */ false,
},
{
- /* [72] */
+ /* [60] */
/* num parameters */ 6,
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[55],
+ /* parameters */ &kParameters[49],
/* return matcher indices */ &kMatcherIndices[105],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [73] */
+ /* [61] */
/* num parameters */ 4,
/* num open types */ 1,
/* num open numbers */ 0,
@@ -6839,7 +6715,7 @@
/* is_deprecated */ false,
},
{
- /* [74] */
+ /* [62] */
/* num parameters */ 5,
/* num open types */ 1,
/* num open numbers */ 0,
@@ -6851,74 +6727,218 @@
/* is_deprecated */ false,
},
{
- /* [75] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[368],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [76] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[226],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [77] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[230],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [78] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[178],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [79] */
+ /* [63] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[371],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [80] */
+ /* [64] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[226],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [65] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[230],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [66] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[178],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [67] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[374],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [68] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[234],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [69] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[446],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [70] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[461],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [71] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[250],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [72] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[473],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [73] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[350],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [74] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[458],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [75] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[322],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [76] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[452],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [77] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[476],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [78] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[440],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [79] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[306],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [80] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[428],
+ /* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6929,8 +6949,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[674],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[679],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6941,8 +6961,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[673],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[677],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6953,8 +6973,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[672],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[676],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6965,8 +6985,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[671],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[675],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6977,8 +6997,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[670],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[674],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6989,8 +7009,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[669],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[673],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7001,8 +7021,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[668],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[672],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7013,8 +7033,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[667],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[671],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7025,8 +7045,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[666],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[670],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7037,8 +7057,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[665],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[669],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7049,7 +7069,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[661],
+ /* parameters */ &kParameters[665],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7073,7 +7093,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[557],
+ /* parameters */ &kParameters[555],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7085,7 +7105,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[561],
+ /* parameters */ &kParameters[557],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7097,8 +7117,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[565],
- /* return matcher indices */ &kMatcherIndices[20],
+ /* parameters */ &kParameters[561],
+ /* return matcher indices */ &kMatcherIndices[16],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7109,8 +7129,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[569],
- /* return matcher indices */ &kMatcherIndices[20],
+ /* parameters */ &kParameters[565],
+ /* return matcher indices */ &kMatcherIndices[16],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7121,8 +7141,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[571],
- /* return matcher indices */ &kMatcherIndices[41],
+ /* parameters */ &kParameters[569],
+ /* return matcher indices */ &kMatcherIndices[47],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7157,7 +7177,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[419],
+ /* parameters */ &kParameters[425],
/* return matcher indices */ &kMatcherIndices[105],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7169,7 +7189,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[416],
+ /* parameters */ &kParameters[422],
/* return matcher indices */ &kMatcherIndices[105],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7181,7 +7201,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[290],
+ /* parameters */ &kParameters[294],
/* return matcher indices */ &kMatcherIndices[105],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7193,7 +7213,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[410],
+ /* parameters */ &kParameters[416],
/* return matcher indices */ &kMatcherIndices[105],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7205,7 +7225,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[407],
+ /* parameters */ &kParameters[413],
/* return matcher indices */ &kMatcherIndices[105],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7217,7 +7237,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[404],
+ /* parameters */ &kParameters[410],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7241,7 +7261,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[380],
+ /* parameters */ &kParameters[386],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7253,8 +7273,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[491],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[493],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7265,8 +7285,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[108],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[103],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7277,8 +7297,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[19],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[67],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7289,8 +7309,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[67],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[7],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7302,7 +7322,7 @@
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[0],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7313,8 +7333,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[113],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[93],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7326,7 +7346,7 @@
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[43],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7337,8 +7357,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[153],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[143],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7350,7 +7370,7 @@
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[25],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7362,7 +7382,7 @@
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[346],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7374,7 +7394,7 @@
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[88],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7385,8 +7405,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[93],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[113],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7397,8 +7417,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[61],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[55],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7409,8 +7429,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[282],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[270],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7422,7 +7442,7 @@
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[73],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7433,8 +7453,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[274],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[266],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7446,7 +7466,7 @@
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[123],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7457,7 +7477,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[751],
+ /* parameters */ &kParameters[755],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7469,7 +7489,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[752],
+ /* parameters */ &kParameters[756],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7481,7 +7501,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[519],
+ /* parameters */ &kParameters[521],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7493,7 +7513,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[521],
+ /* parameters */ &kParameters[523],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7505,7 +7525,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[523],
+ /* parameters */ &kParameters[525],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7517,7 +7537,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[525],
+ /* parameters */ &kParameters[527],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7529,8 +7549,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[527],
- /* return matcher indices */ &kMatcherIndices[20],
+ /* parameters */ &kParameters[529],
+ /* return matcher indices */ &kMatcherIndices[16],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7541,97 +7561,25 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[242],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [133] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[158],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [134] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[83],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [135] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[37],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [136] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[254],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [137] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[133],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [138] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[246],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [139] */
+ /* [133] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[143],
+ /* parameters */ &kParameters[153],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [140] */
+ /* [134] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -7643,19 +7591,19 @@
/* is_deprecated */ false,
},
{
- /* [141] */
+ /* [135] */
/* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[49],
+ /* parameters */ &kParameters[37],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [142] */
+ /* [136] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -7667,7 +7615,7 @@
/* is_deprecated */ false,
},
{
- /* [143] */
+ /* [137] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -7679,7 +7627,7 @@
/* is_deprecated */ false,
},
{
- /* [144] */
+ /* [138] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -7691,7 +7639,7 @@
/* is_deprecated */ false,
},
{
- /* [145] */
+ /* [139] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -7703,19 +7651,19 @@
/* is_deprecated */ false,
},
{
- /* [146] */
+ /* [140] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[103],
+ /* parameters */ &kParameters[98],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
- /* [147] */
+ /* [141] */
/* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -7727,7 +7675,7 @@
/* is_deprecated */ false,
},
{
- /* [148] */
+ /* [142] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -7739,7 +7687,7 @@
/* is_deprecated */ false,
},
{
- /* [149] */
+ /* [143] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -7751,6 +7699,78 @@
/* is_deprecated */ false,
},
{
+ /* [144] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[242],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [145] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[158],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [146] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[83],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [147] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[61],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [148] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[254],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [149] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[133],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
/* [150] */
/* num parameters */ 2,
/* num open types */ 1,
@@ -7806,7 +7826,7 @@
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[547],
- /* return matcher indices */ &kMatcherIndices[20],
+ /* return matcher indices */ &kMatcherIndices[16],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7817,8 +7837,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[680],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[684],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7829,8 +7849,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[679],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[683],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7841,8 +7861,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[678],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[682],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7853,8 +7873,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[677],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[681],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7865,8 +7885,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[676],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[680],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7877,61 +7897,13 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[579],
- /* return matcher indices */ &kMatcherIndices[3],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [161] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[581],
- /* return matcher indices */ &kMatcherIndices[38],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [162] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[583],
- /* return matcher indices */ &kMatcherIndices[38],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [163] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[585],
- /* return matcher indices */ &kMatcherIndices[38],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [164] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[587],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [165] */
+ /* [161] */
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
@@ -7943,7 +7915,7 @@
/* is_deprecated */ false,
},
{
- /* [166] */
+ /* [162] */
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
@@ -7955,7 +7927,7 @@
/* is_deprecated */ false,
},
{
- /* [167] */
+ /* [163] */
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
@@ -7967,14 +7939,62 @@
/* is_deprecated */ false,
},
{
+ /* [164] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[609],
+ /* return matcher indices */ &kMatcherIndices[18],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [165] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[613],
+ /* return matcher indices */ &kMatcherIndices[35],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [166] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[615],
+ /* return matcher indices */ &kMatcherIndices[3],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [167] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[663],
+ /* return matcher indices */ &kMatcherIndices[38],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
/* [168] */
/* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[605],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* parameters */ &kParameters[617],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7985,7 +8005,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[609],
+ /* parameters */ &kParameters[619],
/* return matcher indices */ &kMatcherIndices[35],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7997,7 +8017,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[611],
+ /* parameters */ &kParameters[621],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8009,7 +8029,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[553],
+ /* parameters */ &kParameters[623],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8017,24 +8037,24 @@
{
/* [172] */
/* num parameters */ 2,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[613],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* parameters */ &kParameters[577],
+ /* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [173] */
/* num parameters */ 2,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[615],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[579],
+ /* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8042,11 +8062,11 @@
/* [174] */
/* num parameters */ 2,
/* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[617],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[583],
+ /* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8055,9 +8075,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[619],
+ /* parameters */ &kParameters[585],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8065,96 +8085,96 @@
{
/* [176] */
/* num parameters */ 3,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[3],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[458],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[401],
+ /* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [177] */
/* num parameters */ 3,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[3],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[461],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[404],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [178] */
/* num parameters */ 3,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[3],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[464],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[407],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [179] */
/* num parameters */ 3,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[395],
- /* return matcher indices */ &kMatcherIndices[15],
+ /* parameters */ &kParameters[464],
+ /* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [180] */
/* num parameters */ 3,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[398],
- /* return matcher indices */ &kMatcherIndices[32],
+ /* parameters */ &kParameters[467],
+ /* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [181] */
/* num parameters */ 3,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[401],
- /* return matcher indices */ &kMatcherIndices[32],
+ /* parameters */ &kParameters[470],
+ /* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [182] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[735],
- /* return matcher indices */ &kMatcherIndices[15],
+ /* parameters */ &kParameters[766],
+ /* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [183] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[734],
- /* return matcher indices */ &kMatcherIndices[32],
+ /* parameters */ &kParameters[765],
+ /* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8165,7 +8185,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[773],
+ /* parameters */ &kParameters[781],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -8177,7 +8197,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[772],
+ /* parameters */ &kParameters[780],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -8189,7 +8209,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[805],
+ /* parameters */ &kParameters[779],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -8201,7 +8221,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[771],
+ /* parameters */ &kParameters[778],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -8213,7 +8233,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[770],
+ /* parameters */ &kParameters[809],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -8225,7 +8245,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[769],
+ /* parameters */ &kParameters[777],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -8237,9 +8257,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[768],
+ /* parameters */ &kParameters[776],
/* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -8249,9 +8269,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[767],
+ /* parameters */ &kParameters[775],
/* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -8261,9 +8281,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[766],
+ /* parameters */ &kParameters[774],
/* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -8273,56 +8293,56 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[765],
+ /* parameters */ &kParameters[773],
/* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [194] */
- /* num parameters */ 3,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[476],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[772],
+ /* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [195] */
- /* num parameters */ 3,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[365],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[771],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [196] */
- /* num parameters */ 2,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[641],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* parameters */ &kParameters[770],
+ /* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [197] */
- /* num parameters */ 2,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[643],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[769],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8331,10 +8351,10 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[637],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* parameters */ &kParameters[633],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8343,7 +8363,7 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[639],
/* return matcher indices */ &kMatcherIndices[35],
@@ -8352,74 +8372,74 @@
},
{
/* [200] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[762],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[629],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [201] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[761],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[631],
+ /* return matcher indices */ &kMatcherIndices[35],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [202] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[760],
- /* return matcher indices */ &kMatcherIndices[15],
+ /* parameters */ &kParameters[768],
+ /* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [203] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[759],
- /* return matcher indices */ &kMatcherIndices[32],
+ /* parameters */ &kParameters[767],
+ /* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [204] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[356],
+ /* parameters */ &kParameters[783],
/* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [205] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[353],
+ /* parameters */ &kParameters[782],
/* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -8429,7 +8449,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[758],
+ /* parameters */ &kParameters[764],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8441,32 +8461,32 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[757],
+ /* parameters */ &kParameters[763],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [208] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[756],
- /* return matcher indices */ &kMatcherIndices[152],
+ /* parameters */ &kParameters[359],
+ /* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [209] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[755],
- /* return matcher indices */ &kMatcherIndices[99],
+ /* parameters */ &kParameters[356],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8477,9 +8497,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[754],
+ /* parameters */ &kParameters[762],
/* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -8489,9 +8509,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[753],
+ /* parameters */ &kParameters[761],
/* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -8501,9 +8521,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[746],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[760],
+ /* return matcher indices */ &kMatcherIndices[152],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -8513,9 +8533,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[745],
- /* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[759],
+ /* return matcher indices */ &kMatcherIndices[137],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -8525,7 +8545,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[744],
+ /* parameters */ &kParameters[758],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -8537,33 +8557,33 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[743],
+ /* parameters */ &kParameters[757],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [216] */
- /* num parameters */ 4,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[342],
- /* return matcher indices */ &kMatcherIndices[3],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[750],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [217] */
- /* num parameters */ 4,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[330],
- /* return matcher indices */ &kMatcherIndices[38],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[749],
+ /* return matcher indices */ &kMatcherIndices[32],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -8573,9 +8593,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[742],
+ /* parameters */ &kParameters[748],
/* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -8585,32 +8605,32 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[741],
+ /* parameters */ &kParameters[747],
/* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [220] */
- /* num parameters */ 2,
- /* num open types */ 0,
+ /* num parameters */ 4,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[507],
- /* return matcher indices */ &kMatcherIndices[15],
+ /* parameters */ &kParameters[338],
+ /* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [221] */
- /* num parameters */ 2,
- /* num open types */ 0,
+ /* num parameters */ 4,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[659],
- /* return matcher indices */ &kMatcherIndices[32],
+ /* parameters */ &kParameters[310],
+ /* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8621,7 +8641,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[740],
+ /* parameters */ &kParameters[746],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8633,241 +8653,145 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[739],
- /* return matcher indices */ &kMatcherIndices[15],
+ /* parameters */ &kParameters[745],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [224] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[738],
+ /* parameters */ &kParameters[507],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [225] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[737],
+ /* parameters */ &kParameters[509],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [226] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[775],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [227] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[774],
- /* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [228] */
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[489],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[641],
+ /* return matcher indices */ &kMatcherIndices[18],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [227] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[643],
+ /* return matcher indices */ &kMatcherIndices[35],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [228] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[742],
+ /* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [229] */
- /* num parameters */ 2,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[487],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[741],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [230] */
- /* num parameters */ 2,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[485],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[739],
+ /* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [231] */
- /* num parameters */ 2,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[577],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[738],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [232] */
- /* num parameters */ 1,
- /* num open types */ 0,
+ /* num parameters */ 2,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[777],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[491],
+ /* return matcher indices */ &kMatcherIndices[3],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [233] */
- /* num parameters */ 1,
- /* num open types */ 0,
+ /* num parameters */ 2,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[776],
- /* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[581],
+ /* return matcher indices */ &kMatcherIndices[38],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [234] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[732],
- /* return matcher indices */ &kMatcherIndices[151],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [235] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[731],
- /* return matcher indices */ &kMatcherIndices[125],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [236] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[629],
- /* return matcher indices */ &kMatcherIndices[17],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [237] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[635],
- /* return matcher indices */ &kMatcherIndices[35],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [238] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[625],
- /* return matcher indices */ &kMatcherIndices[17],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [239] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[627],
- /* return matcher indices */ &kMatcherIndices[35],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [240] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[779],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [241] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[778],
- /* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [242] */
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[645],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [243] */
+ /* [235] */
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
@@ -8879,115 +8803,19 @@
/* is_deprecated */ false,
},
{
- /* [244] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[601],
- /* return matcher indices */ &kMatcherIndices[3],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [245] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[603],
- /* return matcher indices */ &kMatcherIndices[38],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [246] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[599],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [247] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[597],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [248] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[483],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [249] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[481],
- /* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [250] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[724],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [251] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[723],
- /* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [252] */
+ /* [236] */
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[649],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [253] */
+ /* [237] */
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
@@ -8999,13 +8827,205 @@
/* is_deprecated */ false,
},
{
+ /* [238] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[736],
+ /* return matcher indices */ &kMatcherIndices[151],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [239] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[735],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [240] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[603],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [241] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[601],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [242] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[653],
+ /* return matcher indices */ &kMatcherIndices[18],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [243] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[655],
+ /* return matcher indices */ &kMatcherIndices[35],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [244] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[605],
+ /* return matcher indices */ &kMatcherIndices[3],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [245] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[607],
+ /* return matcher indices */ &kMatcherIndices[38],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [246] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[786],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [247] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[785],
+ /* return matcher indices */ &kMatcherIndices[32],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [248] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[744],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [249] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[743],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [250] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[737],
+ /* return matcher indices */ &kMatcherIndices[3],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [251] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[702],
+ /* return matcher indices */ &kMatcherIndices[38],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [252] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[485],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [253] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[483],
+ /* return matcher indices */ &kMatcherIndices[32],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
/* [254] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[782],
+ /* parameters */ &kParameters[728],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9017,7 +9037,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[781],
+ /* parameters */ &kParameters[727],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9029,7 +9049,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[722],
+ /* parameters */ &kParameters[788],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9041,7 +9061,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[721],
+ /* parameters */ &kParameters[787],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9049,24 +9069,24 @@
{
/* [258] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[720],
- /* return matcher indices */ &kMatcherIndices[15],
+ /* parameters */ &kParameters[790],
+ /* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [259] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[719],
- /* return matcher indices */ &kMatcherIndices[32],
+ /* parameters */ &kParameters[789],
+ /* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9075,9 +9095,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[733],
+ /* parameters */ &kParameters[726],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9087,9 +9107,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[698],
+ /* parameters */ &kParameters[725],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9101,7 +9121,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[718],
+ /* parameters */ &kParameters[724],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9113,32 +9133,32 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[717],
+ /* parameters */ &kParameters[723],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [264] */
- /* num parameters */ 1,
- /* num open types */ 0,
+ /* num parameters */ 2,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[716],
- /* return matcher indices */ &kMatcherIndices[15],
+ /* parameters */ &kParameters[489],
+ /* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [265] */
- /* num parameters */ 1,
- /* num open types */ 0,
+ /* num parameters */ 2,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[715],
- /* return matcher indices */ &kMatcherIndices[32],
+ /* parameters */ &kParameters[487],
+ /* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9149,7 +9169,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[714],
+ /* parameters */ &kParameters[722],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9161,49 +9181,97 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[713],
+ /* parameters */ &kParameters[721],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [268] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[428],
+ /* parameters */ &kParameters[720],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [269] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[389],
+ /* parameters */ &kParameters[719],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [270] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[718],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [271] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[717],
+ /* return matcher indices */ &kMatcherIndices[32],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [272] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[386],
+ /* parameters */ &kParameters[398],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [273] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[395],
+ /* return matcher indices */ &kMatcherIndices[32],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [274] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[389],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
{
- /* [271] */
+ /* [275] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
@@ -9215,97 +9283,49 @@
/* is_deprecated */ true,
},
{
- /* [272] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[712],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [273] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[711],
- /* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [274] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[495],
- /* return matcher indices */ &kMatcherIndices[15],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [275] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[497],
- /* return matcher indices */ &kMatcherIndices[32],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
/* [276] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[784],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[716],
+ /* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [277] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[783],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[715],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [278] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[709],
+ /* parameters */ &kParameters[499],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [279] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[708],
+ /* parameters */ &kParameters[501],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9313,48 +9333,48 @@
{
/* [280] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[707],
- /* return matcher indices */ &kMatcherIndices[15],
+ /* parameters */ &kParameters[753],
+ /* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [281] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[706],
- /* return matcher indices */ &kMatcherIndices[32],
+ /* parameters */ &kParameters[754],
+ /* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [282] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[786],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[713],
+ /* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [283] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[785],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[712],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9365,7 +9385,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[675],
+ /* parameters */ &kParameters[711],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9377,7 +9397,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[704],
+ /* parameters */ &kParameters[710],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9385,24 +9405,24 @@
{
/* [286] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[749],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[751],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [287] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[750],
- /* return matcher indices */ &kMatcherIndices[38],
+ /* parameters */ &kParameters[752],
+ /* return matcher indices */ &kMatcherIndices[35],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9413,8 +9433,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[747],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* parameters */ &kParameters[709],
+ /* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9425,8 +9445,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[748],
- /* return matcher indices */ &kMatcherIndices[35],
+ /* parameters */ &kParameters[708],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9437,7 +9457,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[788],
+ /* parameters */ &kParameters[792],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9449,7 +9469,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[787],
+ /* parameters */ &kParameters[791],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9461,7 +9481,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[792],
+ /* parameters */ &kParameters[796],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9473,7 +9493,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[791],
+ /* parameters */ &kParameters[795],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9485,7 +9505,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[413],
+ /* parameters */ &kParameters[392],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9497,7 +9517,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[392],
+ /* parameters */ &kParameters[380],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9509,7 +9529,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[794],
+ /* parameters */ &kParameters[798],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9521,7 +9541,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[793],
+ /* parameters */ &kParameters[797],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9533,7 +9553,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[633],
+ /* parameters */ &kParameters[637],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9545,7 +9565,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[631],
+ /* parameters */ &kParameters[635],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9557,7 +9577,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[796],
+ /* parameters */ &kParameters[800],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9569,7 +9589,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[795],
+ /* parameters */ &kParameters[799],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9581,7 +9601,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[798],
+ /* parameters */ &kParameters[802],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9593,7 +9613,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[797],
+ /* parameters */ &kParameters[801],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9605,7 +9625,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[653],
+ /* parameters */ &kParameters[657],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9617,7 +9637,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[655],
+ /* parameters */ &kParameters[659],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9629,8 +9649,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[801],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* parameters */ &kParameters[805],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9641,20 +9661,20 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[800],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* parameters */ &kParameters[804],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [308] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[664],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* parameters */ &kParameters[807],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9662,11 +9682,11 @@
/* [309] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[663],
- /* return matcher indices */ &kMatcherIndices[46],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[806],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9677,8 +9697,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[803],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* parameters */ &kParameters[714],
+ /* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9689,20 +9709,20 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[802],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* parameters */ &kParameters[808],
+ /* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [312] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[710],
- /* return matcher indices */ &kMatcherIndices[15],
+ /* parameters */ &kParameters[668],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9710,11 +9730,11 @@
/* [313] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[804],
- /* return matcher indices */ &kMatcherIndices[32],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[667],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9725,7 +9745,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[790],
+ /* parameters */ &kParameters[794],
/* return matcher indices */ &kMatcherIndices[15],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9737,31 +9757,31 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[789],
+ /* parameters */ &kParameters[793],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [316] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[764],
+ /* parameters */ &kParameters[368],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [317] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[763],
+ /* parameters */ &kParameters[365],
/* return matcher indices */ &kMatcherIndices[38],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9773,7 +9793,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[657],
+ /* parameters */ &kParameters[661],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9792,14 +9812,14 @@
},
{
/* [320] */
- /* num parameters */ 1,
+ /* num parameters */ 0,
/* num open types */ 0,
- /* num open numbers */ 2,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[705],
- /* return matcher indices */ &kMatcherIndices[16],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[810],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -9809,8 +9829,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[700],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[704],
+ /* return matcher indices */ &kMatcherIndices[109],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9821,43 +9841,43 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[701],
- /* return matcher indices */ &kMatcherIndices[123],
+ /* parameters */ &kParameters[705],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [323] */
/* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[736],
- /* return matcher indices */ &kMatcherIndices[3],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[706],
+ /* return matcher indices */ &kMatcherIndices[113],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [324] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[493],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[707],
+ /* return matcher indices */ &kMatcherIndices[113],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [325] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[499],
+ /* parameters */ &kParameters[740],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9869,8 +9889,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[501],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[495],
+ /* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -9881,7 +9901,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[503],
+ /* parameters */ &kParameters[497],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9893,7 +9913,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[509],
+ /* parameters */ &kParameters[503],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9905,7 +9925,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[511],
+ /* parameters */ &kParameters[505],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9917,7 +9937,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[513],
+ /* parameters */ &kParameters[511],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9929,7 +9949,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[515],
+ /* parameters */ &kParameters[513],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -9941,69 +9961,69 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[517],
+ /* parameters */ &kParameters[515],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [333] */
- /* num parameters */ 3,
+ /* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[9],
- /* parameters */ &kParameters[350],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[517],
+ /* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [334] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[702],
- /* return matcher indices */ &kMatcherIndices[123],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[9],
+ /* parameters */ &kParameters[519],
+ /* return matcher indices */ &kMatcherIndices[3],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [335] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[703],
- /* return matcher indices */ &kMatcherIndices[123],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[9],
+ /* parameters */ &kParameters[353],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [336] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 2,
/* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[699],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[678],
+ /* return matcher indices */ &kMatcherIndices[20],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [337] */
- /* num parameters */ 0,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[806],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
+ /* parameters */ &kParameters[703],
+ /* return matcher indices */ &kMatcherIndices[109],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -10013,7 +10033,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[443],
+ /* parameters */ &kParameters[449],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -10025,7 +10045,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[505],
+ /* parameters */ &kParameters[481],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -10037,8 +10057,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[725],
- /* return matcher indices */ &kMatcherIndices[49],
+ /* parameters */ &kParameters[729],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -10049,8 +10069,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[726],
- /* return matcher indices */ &kMatcherIndices[49],
+ /* parameters */ &kParameters[730],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -10061,8 +10081,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[727],
- /* return matcher indices */ &kMatcherIndices[49],
+ /* parameters */ &kParameters[731],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -10073,73 +10093,61 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[728],
- /* return matcher indices */ &kMatcherIndices[49],
+ /* parameters */ &kParameters[732],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [344] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[621],
- /* return matcher indices */ &kMatcherIndices[17],
+ /* parameters */ &kParameters[733],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [345] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[623],
- /* return matcher indices */ &kMatcherIndices[17],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [346] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[729],
- /* return matcher indices */ &kMatcherIndices[49],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [347] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[730],
+ /* parameters */ &kParameters[734],
/* return matcher indices */ &kMatcherIndices[32],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [348] */
+ /* [346] */
/* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[607],
- /* return matcher indices */ &kMatcherIndices[97],
+ /* parameters */ &kParameters[625],
+ /* return matcher indices */ &kMatcherIndices[18],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [349] */
+ /* [347] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[627],
+ /* return matcher indices */ &kMatcherIndices[18],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [348] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
@@ -10151,49 +10159,85 @@
/* is_deprecated */ false,
},
{
+ /* [349] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[611],
+ /* return matcher indices */ &kMatcherIndices[121],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
/* [350] */
/* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[6],
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[10],
/* parameters */ &kParameters[595],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [351] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[780],
- /* return matcher indices */ &kMatcherIndices[15],
+ /* open numbers */ &kOpenNumbers[10],
+ /* parameters */ &kParameters[597],
+ /* return matcher indices */ &kMatcherIndices[58],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [352] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[8],
- /* parameters */ &kParameters[799],
- /* return matcher indices */ &kMatcherIndices[49],
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[599],
+ /* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [353] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[5],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[784],
+ /* return matcher indices */ &kMatcherIndices[15],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [354] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[2],
+ /* open numbers */ &kOpenNumbers[8],
+ /* parameters */ &kParameters[803],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [355] */
/* num parameters */ 0,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[5],
/* open numbers */ &kOpenNumbers[10],
- /* parameters */ &kParameters[806],
+ /* parameters */ &kParameters[810],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -10206,21 +10250,21 @@
/* fn abs<T : fiu32>(T) -> T */
/* fn abs<N : num, T : fiu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[260],
+ /* overloads */ &kOverloads[250],
},
{
/* [1] */
/* fn acos(f32) -> f32 */
/* fn acos<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[312],
+ /* overloads */ &kOverloads[310],
},
{
/* [2] */
/* fn all(bool) -> bool */
/* fn all<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ &kOverloads[310],
+ /* overloads */ &kOverloads[308],
},
{
/* [3] */
@@ -10233,7 +10277,7 @@
/* [4] */
/* fn arrayLength<T, A : access>(ptr<storage, array<T>, A>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[352],
+ /* overloads */ &kOverloads[354],
},
{
/* [5] */
@@ -10296,454 +10340,466 @@
/* fn countOneBits<T : iu32>(T) -> T */
/* fn countOneBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[282],
+ /* overloads */ &kOverloads[258],
},
{
/* [14] */
/* fn countTrailingZeros<T : iu32>(T) -> T */
/* fn countTrailingZeros<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[276],
+ /* overloads */ &kOverloads[256],
},
{
/* [15] */
/* fn cross(vec3<f32>, vec3<f32>) -> vec3<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[348],
+ /* overloads */ &kOverloads[349],
},
{
/* [16] */
/* fn degrees(f32) -> f32 */
/* fn degrees<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[254],
+ /* overloads */ &kOverloads[246],
},
{
/* [17] */
/* fn determinant<N : num>(mat<N, N, f32>) -> f32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[351],
+ /* overloads */ &kOverloads[353],
},
{
/* [18] */
/* fn distance(f32, f32) -> f32 */
/* fn distance<N : num>(vec<N, f32>, vec<N, f32>) -> f32 */
/* num overloads */ 2,
- /* overloads */ &kOverloads[246],
+ /* overloads */ &kOverloads[240],
},
{
/* [19] */
/* fn dot<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[350],
+ /* overloads */ &kOverloads[352],
},
{
/* [20] */
- /* fn dpdx(f32) -> f32 */
- /* fn dpdx<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[240],
+ /* fn dot4I8Packed(u32, u32) -> i32 */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[351],
},
{
/* [21] */
- /* fn dpdxCoarse(f32) -> f32 */
- /* fn dpdxCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[232],
+ /* fn dot4U8Packed(u32, u32) -> u32 */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[350],
},
{
/* [22] */
- /* fn dpdxFine(f32) -> f32 */
- /* fn dpdxFine<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn dpdx(f32) -> f32 */
+ /* fn dpdx<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[226],
+ /* overloads */ &kOverloads[204],
},
{
/* [23] */
- /* fn dpdy(f32) -> f32 */
- /* fn dpdy<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn dpdxCoarse(f32) -> f32 */
+ /* fn dpdxCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[184],
},
{
/* [24] */
- /* fn dpdyCoarse(f32) -> f32 */
- /* fn dpdyCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn dpdxFine(f32) -> f32 */
+ /* fn dpdxFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[186],
},
{
/* [25] */
- /* fn dpdyFine(f32) -> f32 */
- /* fn dpdyFine<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn dpdy(f32) -> f32 */
+ /* fn dpdy<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[188],
},
{
/* [26] */
- /* fn exp(f32) -> f32 */
- /* fn exp<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn dpdyCoarse(f32) -> f32 */
+ /* fn dpdyCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[190],
},
{
/* [27] */
- /* fn exp2(f32) -> f32 */
- /* fn exp2<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn dpdyFine(f32) -> f32 */
+ /* fn dpdyFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[192],
},
{
/* [28] */
- /* fn extractBits<T : iu32>(T, u32, u32) -> T */
- /* fn extractBits<N : num, T : iu32>(vec<N, T>, u32, u32) -> vec<N, T> */
+ /* fn exp(f32) -> f32 */
+ /* fn exp<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[194],
},
{
/* [29] */
- /* fn faceForward<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[349],
+ /* fn exp2(f32) -> f32 */
+ /* fn exp2<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[196],
},
{
/* [30] */
- /* fn firstLeadingBit<T : iu32>(T) -> T */
- /* fn firstLeadingBit<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
+ /* fn extractBits<T : iu32>(T, u32, u32) -> T */
+ /* fn extractBits<N : num, T : iu32>(vec<N, T>, u32, u32) -> vec<N, T> */
/* num overloads */ 2,
/* overloads */ &kOverloads[316],
},
{
/* [31] */
- /* fn firstTrailingBit<T : iu32>(T) -> T */
- /* fn firstTrailingBit<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[200],
+ /* fn faceForward<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[348],
},
{
/* [32] */
- /* fn floor(f32) -> f32 */
- /* fn floor<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn firstLeadingBit<T : iu32>(T) -> T */
+ /* fn firstLeadingBit<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
/* overloads */ &kOverloads[202],
},
{
/* [33] */
- /* fn fma(f32, f32, f32) -> f32 */
- /* fn fma<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
+ /* fn firstTrailingBit<T : iu32>(T) -> T */
+ /* fn firstTrailingBit<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[204],
+ /* overloads */ &kOverloads[182],
},
{
/* [34] */
- /* fn fract(f32) -> f32 */
- /* fn fract<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn floor(f32) -> f32 */
+ /* fn floor<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[206],
},
{
/* [35] */
- /* fn frexp(f32) -> __frexp_result */
- /* fn frexp<N : num>(vec<N, f32>) -> __frexp_result_vec<N> */
+ /* fn fma(f32, f32, f32) -> f32 */
+ /* fn fma<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[208],
},
{
/* [36] */
- /* fn fwidth(f32) -> f32 */
- /* fn fwidth<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn fract(f32) -> f32 */
+ /* fn fract<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[210],
},
{
/* [37] */
- /* fn fwidthCoarse(f32) -> f32 */
- /* fn fwidthCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn frexp(f32) -> __frexp_result */
+ /* fn frexp<N : num>(vec<N, f32>) -> __frexp_result_vec<N> */
/* num overloads */ 2,
/* overloads */ &kOverloads[212],
},
{
/* [38] */
- /* fn fwidthFine(f32) -> f32 */
- /* fn fwidthFine<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn fwidth(f32) -> f32 */
+ /* fn fwidth<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[214],
},
{
/* [39] */
- /* fn insertBits<T : iu32>(T, T, u32, u32) -> T */
- /* fn insertBits<N : num, T : iu32>(vec<N, T>, vec<N, T>, u32, u32) -> vec<N, T> */
+ /* fn fwidthCoarse(f32) -> f32 */
+ /* fn fwidthCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[216],
},
{
/* [40] */
- /* fn inverseSqrt(f32) -> f32 */
- /* fn inverseSqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn fwidthFine(f32) -> f32 */
+ /* fn fwidthFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[218],
},
{
/* [41] */
- /* fn ldexp(f32, i32) -> f32 */
- /* fn ldexp<N : num>(vec<N, f32>, vec<N, i32>) -> vec<N, f32> */
+ /* fn insertBits<T : iu32>(T, T, u32, u32) -> T */
+ /* fn insertBits<N : num, T : iu32>(vec<N, T>, vec<N, T>, u32, u32) -> vec<N, T> */
/* num overloads */ 2,
/* overloads */ &kOverloads[220],
},
{
/* [42] */
- /* fn length(f32) -> f32 */
- /* fn length<N : num>(vec<N, f32>) -> f32 */
+ /* fn inverseSqrt(f32) -> f32 */
+ /* fn inverseSqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[222],
},
{
/* [43] */
- /* fn log(f32) -> f32 */
- /* fn log<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn ldexp(f32, i32) -> f32 */
+ /* fn ldexp<N : num>(vec<N, f32>, vec<N, i32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[224],
},
{
/* [44] */
- /* fn log2(f32) -> f32 */
- /* fn log2<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn length(f32) -> f32 */
+ /* fn length<N : num>(vec<N, f32>) -> f32 */
/* num overloads */ 2,
- /* overloads */ &kOverloads[182],
+ /* overloads */ &kOverloads[248],
},
{
/* [45] */
- /* fn max<T : fiu32>(T, T) -> T */
- /* fn max<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> vec<N, T> */
+ /* fn log(f32) -> f32 */
+ /* fn log<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[228],
},
{
/* [46] */
- /* fn min<T : fiu32>(T, T) -> T */
- /* fn min<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> vec<N, T> */
+ /* fn log2(f32) -> f32 */
+ /* fn log2<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[230],
},
{
/* [47] */
+ /* fn max<T : fiu32>(T, T) -> T */
+ /* fn max<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> vec<N, T> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[232],
+ },
+ {
+ /* [48] */
+ /* fn min<T : fiu32>(T, T) -> T */
+ /* fn min<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> vec<N, T> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[264],
+ },
+ {
+ /* [49] */
/* fn mix(f32, f32, f32) -> f32 */
/* fn mix<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* fn mix<N : num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32> */
/* num overloads */ 3,
- /* overloads */ &kOverloads[179],
- },
- {
- /* [48] */
- /* fn modf(f32) -> __modf_result */
- /* fn modf<N : num>(vec<N, f32>) -> __modf_result_vec<N> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[234],
- },
- {
- /* [49] */
- /* fn normalize<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[347],
+ /* overloads */ &kOverloads[176],
},
{
/* [50] */
- /* fn pack2x16float(vec2<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[346],
+ /* fn modf(f32) -> __modf_result */
+ /* fn modf<N : num>(vec<N, f32>) -> __modf_result_vec<N> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[238],
},
{
/* [51] */
+ /* fn normalize<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[345],
+ },
+ {
+ /* [52] */
+ /* fn pack2x16float(vec2<f32>) -> u32 */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[344],
+ },
+ {
+ /* [53] */
/* fn pack2x16snorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
/* overloads */ &kOverloads[343],
},
{
- /* [52] */
+ /* [54] */
/* fn pack2x16unorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
/* overloads */ &kOverloads[342],
},
{
- /* [53] */
+ /* [55] */
/* fn pack4x8snorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
/* overloads */ &kOverloads[341],
},
{
- /* [54] */
+ /* [56] */
/* fn pack4x8unorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
/* overloads */ &kOverloads[340],
},
{
- /* [55] */
+ /* [57] */
/* fn pow(f32, f32) -> f32 */
/* fn pow<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[248],
+ /* overloads */ &kOverloads[252],
},
{
- /* [56] */
+ /* [58] */
/* fn radians(f32) -> f32 */
/* fn radians<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[250],
+ /* overloads */ &kOverloads[254],
},
{
- /* [57] */
+ /* [59] */
/* fn reflect<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[339],
},
{
- /* [58] */
+ /* [60] */
/* fn refract<N : num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[338],
},
{
- /* [59] */
+ /* [61] */
/* fn reverseBits<T : iu32>(T) -> T */
/* fn reverseBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[256],
- },
- {
- /* [60] */
- /* fn round(f32) -> f32 */
- /* fn round<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[258],
- },
- {
- /* [61] */
- /* fn select<T : scalar>(T, T, bool) -> T */
- /* fn select<T : scalar, N : num>(vec<N, T>, vec<N, T>, bool) -> vec<N, T> */
- /* fn select<N : num, T : scalar>(vec<N, T>, vec<N, T>, vec<N, bool>) -> vec<N, T> */
- /* num overloads */ 3,
- /* overloads */ &kOverloads[176],
+ /* overloads */ &kOverloads[260],
},
{
/* [62] */
- /* fn sign(f32) -> f32 */
- /* fn sign<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn round(f32) -> f32 */
+ /* fn round<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[262],
},
{
/* [63] */
- /* fn sin(f32) -> f32 */
- /* fn sin<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[264],
+ /* fn select<T : scalar>(T, T, bool) -> T */
+ /* fn select<T : scalar, N : num>(vec<N, T>, vec<N, T>, bool) -> vec<N, T> */
+ /* fn select<N : num, T : scalar>(vec<N, T>, vec<N, T>, vec<N, bool>) -> vec<N, T> */
+ /* num overloads */ 3,
+ /* overloads */ &kOverloads[179],
},
{
/* [64] */
- /* fn sinh(f32) -> f32 */
- /* fn sinh<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn sign(f32) -> f32 */
+ /* fn sign<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[266],
},
{
/* [65] */
- /* fn smoothstep(f32, f32, f32) -> f32 */
- /* fn smoothstep<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
+ /* fn sin(f32) -> f32 */
+ /* fn sin<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[268],
},
{
/* [66] */
- /* fn smoothStep(f32, f32, f32) -> f32 */
- /* fn smoothStep<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
+ /* fn sinh(f32) -> f32 */
+ /* fn sinh<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[270],
},
{
/* [67] */
- /* fn sqrt(f32) -> f32 */
- /* fn sqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn smoothstep(f32, f32, f32) -> f32 */
+ /* fn smoothstep<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[272],
},
{
/* [68] */
- /* fn step(f32, f32) -> f32 */
- /* fn step<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
+ /* fn smoothStep(f32, f32, f32) -> f32 */
+ /* fn smoothStep<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[274],
},
{
/* [69] */
- /* fn storageBarrier() */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[337],
+ /* fn sqrt(f32) -> f32 */
+ /* fn sqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[276],
},
{
/* [70] */
- /* fn tan(f32) -> f32 */
- /* fn tan<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn step(f32, f32) -> f32 */
+ /* fn step<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[278],
},
{
/* [71] */
- /* fn tanh(f32) -> f32 */
- /* fn tanh<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[280],
- },
- {
- /* [72] */
- /* fn transpose<M : num, N : num>(mat<M, N, f32>) -> mat<N, M, f32> */
+ /* fn storageBarrier() */
/* num overloads */ 1,
/* overloads */ &kOverloads[320],
},
{
+ /* [72] */
+ /* fn tan(f32) -> f32 */
+ /* fn tan<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[282],
+ },
+ {
/* [73] */
- /* fn trunc(f32) -> f32 */
- /* fn trunc<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn tanh(f32) -> f32 */
+ /* fn tanh<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[284],
},
{
/* [74] */
- /* fn unpack2x16float(u32) -> vec2<f32> */
+ /* fn transpose<M : num, N : num>(mat<M, N, f32>) -> mat<N, M, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[335],
+ /* overloads */ &kOverloads[336],
},
{
/* [75] */
- /* fn unpack2x16snorm(u32) -> vec2<f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[334],
+ /* fn trunc(f32) -> f32 */
+ /* fn trunc<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[288],
},
{
/* [76] */
+ /* fn unpack2x16float(u32) -> vec2<f32> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[324],
+ },
+ {
+ /* [77] */
+ /* fn unpack2x16snorm(u32) -> vec2<f32> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[323],
+ },
+ {
+ /* [78] */
/* fn unpack2x16unorm(u32) -> vec2<f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[322],
},
{
- /* [77] */
+ /* [79] */
/* fn unpack4x8snorm(u32) -> vec4<f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[321],
},
{
- /* [78] */
+ /* [80] */
/* fn unpack4x8unorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[336],
+ /* overloads */ &kOverloads[337],
},
{
- /* [79] */
+ /* [81] */
/* fn workgroupBarrier() */
/* num overloads */ 1,
- /* overloads */ &kOverloads[353],
+ /* overloads */ &kOverloads[355],
},
{
- /* [80] */
+ /* [82] */
/* fn textureDimensions<T : fiu32>(texture: texture_1d<T>) -> i32 */
/* fn textureDimensions<T : fiu32>(texture: texture_1d<T>, level: i32) -> i32 */
/* fn textureDimensions<T : fiu32>(texture: texture_2d<T>) -> vec2<i32> */
@@ -10775,7 +10831,7 @@
/* overloads */ &kOverloads[0],
},
{
- /* [81] */
+ /* [83] */
/* fn textureGather<T : fiu32>(component: i32, texture: texture_2d<T>, sampler: sampler, coords: vec2<f32>) -> vec4<T> */
/* fn textureGather<T : fiu32>(component: i32, texture: texture_2d<T>, sampler: sampler, coords: vec2<f32>, offset: vec2<i32>) -> vec4<T> */
/* fn textureGather<T : fiu32>(component: i32, texture: texture_2d_array<T>, sampler: sampler, coords: vec2<f32>, array_index: i32) -> vec4<T> */
@@ -10789,10 +10845,10 @@
/* fn textureGather(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> vec4<f32> */
/* fn textureGather(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: i32) -> vec4<f32> */
/* num overloads */ 12,
- /* overloads */ &kOverloads[69],
+ /* overloads */ &kOverloads[57],
},
{
- /* [82] */
+ /* [84] */
/* fn textureGatherCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> vec4<f32> */
/* fn textureGatherCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, offset: vec2<i32>) -> vec4<f32> */
/* fn textureGatherCompare(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: i32, depth_ref: f32) -> vec4<f32> */
@@ -10800,10 +10856,10 @@
/* fn textureGatherCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> vec4<f32> */
/* fn textureGatherCompare(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: i32, depth_ref: f32) -> vec4<f32> */
/* num overloads */ 6,
- /* overloads */ &kOverloads[132],
+ /* overloads */ &kOverloads[144],
},
{
- /* [83] */
+ /* [85] */
/* fn textureNumLayers<T : fiu32>(texture: texture_2d_array<T>) -> i32 */
/* fn textureNumLayers<T : fiu32>(texture: texture_cube_array<T>) -> i32 */
/* fn textureNumLayers(texture: texture_depth_2d_array) -> i32 */
@@ -10813,7 +10869,7 @@
/* overloads */ &kOverloads[155],
},
{
- /* [84] */
+ /* [86] */
/* fn textureNumLevels<T : fiu32>(texture: texture_1d<T>) -> i32 */
/* fn textureNumLevels<T : fiu32>(texture: texture_2d<T>) -> i32 */
/* fn textureNumLevels<T : fiu32>(texture: texture_2d_array<T>) -> i32 */
@@ -10828,14 +10884,14 @@
/* overloads */ &kOverloads[81],
},
{
- /* [85] */
+ /* [87] */
/* fn textureNumSamples<T : fiu32>(texture: texture_multisampled_2d<T>) -> i32 */
/* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> i32 */
/* num overloads */ 2,
- /* overloads */ &kOverloads[308],
+ /* overloads */ &kOverloads[312],
},
{
- /* [86] */
+ /* [88] */
/* fn textureSample(texture: texture_1d<f32>, sampler: sampler, coords: f32) -> vec4<f32> */
/* fn textureSample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* fn textureSample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, offset: vec2<i32>) -> vec4<f32> */
@@ -10852,10 +10908,10 @@
/* fn textureSample(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> f32 */
/* fn textureSample(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: i32) -> f32 */
/* num overloads */ 15,
- /* overloads */ &kOverloads[27],
+ /* overloads */ &kOverloads[42],
},
{
- /* [87] */
+ /* [89] */
/* fn textureSampleBias(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, bias: f32) -> vec4<f32> */
/* fn textureSampleBias(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, bias: f32, offset: vec2<i32>) -> vec4<f32> */
/* fn textureSampleBias(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: i32, bias: f32) -> vec4<f32> */
@@ -10868,7 +10924,7 @@
/* overloads */ &kOverloads[117],
},
{
- /* [88] */
+ /* [90] */
/* fn textureSampleCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, offset: vec2<i32>) -> f32 */
/* fn textureSampleCompare(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: i32, depth_ref: f32) -> f32 */
@@ -10876,10 +10932,10 @@
/* fn textureSampleCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompare(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: i32, depth_ref: f32) -> f32 */
/* num overloads */ 6,
- /* overloads */ &kOverloads[144],
+ /* overloads */ &kOverloads[138],
},
{
- /* [89] */
+ /* [91] */
/* fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, offset: vec2<i32>) -> f32 */
/* fn textureSampleCompareLevel(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: i32, depth_ref: f32) -> f32 */
@@ -10887,10 +10943,10 @@
/* fn textureSampleCompareLevel(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompareLevel(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: i32, depth_ref: f32) -> f32 */
/* num overloads */ 6,
- /* overloads */ &kOverloads[138],
+ /* overloads */ &kOverloads[132],
},
{
- /* [90] */
+ /* [92] */
/* fn textureSampleGrad(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
/* fn textureSampleGrad(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, ddx: vec2<f32>, ddy: vec2<f32>, offset: vec2<i32>) -> vec4<f32> */
/* fn textureSampleGrad(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: i32, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
@@ -10903,7 +10959,7 @@
/* overloads */ &kOverloads[109],
},
{
- /* [91] */
+ /* [93] */
/* fn textureSampleLevel(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, level: f32) -> vec4<f32> */
/* fn textureSampleLevel(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, level: f32, offset: vec2<i32>) -> vec4<f32> */
/* fn textureSampleLevel(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: i32, level: f32) -> vec4<f32> */
@@ -10920,10 +10976,10 @@
/* fn textureSampleLevel(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: i32, level: i32) -> f32 */
/* fn textureSampleLevel(texture: texture_external, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* num overloads */ 15,
- /* overloads */ &kOverloads[42],
+ /* overloads */ &kOverloads[27],
},
{
- /* [92] */
+ /* [94] */
/* fn textureStore(texture: texture_storage_1d<f32_texel_format, write>, coords: i32, value: vec4<f32>) */
/* fn textureStore(texture: texture_storage_2d<f32_texel_format, write>, coords: vec2<i32>, value: vec4<f32>) */
/* fn textureStore(texture: texture_storage_2d_array<f32_texel_format, write>, coords: vec2<i32>, array_index: i32, value: vec4<f32>) */
@@ -10937,10 +10993,10 @@
/* fn textureStore(texture: texture_storage_2d_array<u32_texel_format, write>, coords: vec2<i32>, array_index: i32, value: vec4<u32>) */
/* fn textureStore(texture: texture_storage_3d<u32_texel_format, write>, coords: vec3<i32>, value: vec4<u32>) */
/* num overloads */ 12,
- /* overloads */ &kOverloads[57],
+ /* overloads */ &kOverloads[69],
},
{
- /* [93] */
+ /* [95] */
/* fn textureLoad<T : fiu32>(texture: texture_1d<T>, coords: i32, level: i32) -> vec4<T> */
/* fn textureLoad<T : fiu32>(texture: texture_2d<T>, coords: vec2<i32>, level: i32) -> vec4<T> */
/* fn textureLoad<T : fiu32>(texture: texture_2d_array<T>, coords: vec2<i32>, array_index: i32, level: i32) -> vec4<T> */
@@ -10954,71 +11010,71 @@
/* overloads */ &kOverloads[100],
},
{
- /* [94] */
- /* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[323],
- },
- {
- /* [95] */
- /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[324],
- },
- {
/* [96] */
- /* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[325],
},
{
/* [97] */
- /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
/* num overloads */ 1,
/* overloads */ &kOverloads[326],
},
{
/* [98] */
- /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[327],
},
{
/* [99] */
- /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[328],
},
{
/* [100] */
- /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[329],
},
{
/* [101] */
- /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[330],
},
{
/* [102] */
- /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[331],
},
{
/* [103] */
- /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[332],
},
{
/* [104] */
- /* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> vec2<T> */
+ /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[333],
},
+ {
+ /* [105] */
+ /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[334],
+ },
+ {
+ /* [106] */
+ /* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> vec2<T> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[335],
+ },
};
constexpr IntrinsicInfo kOperators[] = {
@@ -11027,14 +11083,14 @@
/* op !(bool) -> bool */
/* op !<N : num>(vec<N, bool>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[288],
+ /* overloads */ &kOverloads[286],
},
{
/* [1] */
/* op ~<T : iu32>(T) -> T */
/* op ~<T : iu32, N : num>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[286],
+ /* overloads */ &kOverloads[280],
},
{
/* [2] */
@@ -11079,7 +11135,7 @@
/* op /<T : fiu32, N : num>(vec<N, T>, T) -> vec<N, T> */
/* op /<T : fiu32, N : num>(T, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ &kOverloads[160],
+ /* overloads */ &kOverloads[172],
},
{
/* [6] */
@@ -11088,7 +11144,7 @@
/* op %<T : fiu32, N : num>(vec<N, T>, T) -> vec<N, T> */
/* op %<T : fiu32, N : num>(T, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ &kOverloads[164],
+ /* overloads */ &kOverloads[160],
},
{
/* [7] */
@@ -11104,7 +11160,7 @@
/* op &<T : iu32>(T, T) -> T */
/* op &<T : iu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ &kOverloads[168],
+ /* overloads */ &kOverloads[164],
},
{
/* [9] */
@@ -11113,61 +11169,61 @@
/* op |<T : iu32>(T, T) -> T */
/* op |<T : iu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ &kOverloads[172],
+ /* overloads */ &kOverloads[168],
},
{
/* [10] */
/* op &&(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ &kOverloads[344],
+ /* overloads */ &kOverloads[346],
},
{
/* [11] */
/* op ||(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ &kOverloads[345],
+ /* overloads */ &kOverloads[347],
},
{
/* [12] */
/* op ==<T : scalar>(T, T) -> bool */
/* op ==<T : scalar, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[238],
+ /* overloads */ &kOverloads[200],
},
{
/* [13] */
/* op !=<T : scalar>(T, T) -> bool */
/* op !=<T : scalar, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[236],
+ /* overloads */ &kOverloads[198],
},
{
/* [14] */
/* op <<T : fiu32>(T, T) -> bool */
/* op <<T : fiu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[198],
+ /* overloads */ &kOverloads[226],
},
{
/* [15] */
/* op ><T : fiu32>(T, T) -> bool */
/* op ><T : fiu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[196],
+ /* overloads */ &kOverloads[234],
},
{
/* [16] */
/* op <=<T : fiu32>(T, T) -> bool */
/* op <=<T : fiu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[242],
+ /* overloads */ &kOverloads[236],
},
{
/* [17] */
/* op >=<T : fiu32>(T, T) -> bool */
/* op >=<T : fiu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[252],
+ /* overloads */ &kOverloads[242],
},
{
/* [18] */
diff --git a/src/tint/resolver/pipeline_overridable_constant_test.cc b/src/tint/resolver/pipeline_overridable_constant_test.cc
index 35c145e..035936c 100644
--- a/src/tint/resolver/pipeline_overridable_constant_test.cc
+++ b/src/tint/resolver/pipeline_overridable_constant_test.cc
@@ -16,6 +16,8 @@
#include "src/tint/resolver/resolver_test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::resolver {
namespace {
@@ -36,7 +38,7 @@
};
TEST_F(ResolverPipelineOverridableConstantTest, NonOverridable) {
- auto* a = GlobalConst("a", ty.f32(), Expr(1.f));
+ auto* a = GlobalConst("a", ty.f32(), Expr(1_f));
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -48,7 +50,7 @@
}
TEST_F(ResolverPipelineOverridableConstantTest, WithId) {
- auto* a = Override("a", ty.f32(), Expr(1.f), {Id(7u)});
+ auto* a = Override("a", ty.f32(), Expr(1_f), {Id(7u)});
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -56,7 +58,7 @@
}
TEST_F(ResolverPipelineOverridableConstantTest, WithoutId) {
- auto* a = Override("a", ty.f32(), Expr(1.f));
+ auto* a = Override("a", ty.f32(), Expr(1_f));
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -65,12 +67,12 @@
TEST_F(ResolverPipelineOverridableConstantTest, WithAndWithoutIds) {
std::vector<ast::Variable*> variables;
- auto* a = Override("a", ty.f32(), Expr(1.f));
- auto* b = Override("b", ty.f32(), Expr(1.f));
- auto* c = Override("c", ty.f32(), Expr(1.f), {Id(2u)});
- auto* d = Override("d", ty.f32(), Expr(1.f), {Id(4u)});
- auto* e = Override("e", ty.f32(), Expr(1.f));
- auto* f = Override("f", ty.f32(), Expr(1.f), {Id(1u)});
+ auto* a = Override("a", ty.f32(), Expr(1_f));
+ auto* b = Override("b", ty.f32(), Expr(1_f));
+ auto* c = Override("c", ty.f32(), Expr(1_f), {Id(2u)});
+ auto* d = Override("d", ty.f32(), Expr(1_f), {Id(4u)});
+ auto* e = Override("e", ty.f32(), Expr(1_f));
+ auto* f = Override("f", ty.f32(), Expr(1_f), {Id(1u)});
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -84,8 +86,8 @@
}
TEST_F(ResolverPipelineOverridableConstantTest, DuplicateIds) {
- Override("a", ty.f32(), Expr(1.f), {Id(Source{{12, 34}}, 7u)});
- Override("b", ty.f32(), Expr(1.f), {Id(Source{{56, 78}}, 7u)});
+ Override("a", ty.f32(), Expr(1_f), {Id(Source{{12, 34}}, 7u)});
+ Override("b", ty.f32(), Expr(1_f), {Id(Source{{56, 78}}, 7u)});
EXPECT_FALSE(r()->Resolve());
@@ -94,7 +96,7 @@
}
TEST_F(ResolverPipelineOverridableConstantTest, IdTooLarge) {
- Override("a", ty.f32(), Expr(1.f), {Id(Source{{12, 34}}, 65536u)});
+ Override("a", ty.f32(), Expr(1_f), {Id(Source{{12, 34}}, 65536u)});
EXPECT_FALSE(r()->Resolve());
diff --git a/src/tint/resolver/resolver.cc b/src/tint/resolver/resolver.cc
index f2d62a5..4183b44 100644
--- a/src/tint/resolver/resolver.cc
+++ b/src/tint/resolver/resolver.cc
@@ -1309,6 +1309,10 @@
current_function_->AddDirectlyCalledBuiltin(builtin);
+ if (!validator_.RequiredExtensionForBuiltinFunction(call, builder_->AST().Extensions())) {
+ return nullptr;
+ }
+
if (IsTextureBuiltin(builtin_type)) {
if (!validator_.TextureBuiltinFunction(call)) {
return nullptr;
diff --git a/src/tint/resolver/resolver_constants.cc b/src/tint/resolver/resolver_constants.cc
index f5346d1..2a8a1d1 100644
--- a/src/tint/resolver/resolver_constants.cc
+++ b/src/tint/resolver/resolver_constants.cc
@@ -38,12 +38,12 @@
literal,
[&](const ast::IntLiteralExpression* lit) {
if (lit->suffix == ast::IntLiteralExpression::Suffix::kU) {
- return sem::Constant{type, {u32(static_cast<uint32_t>(lit->value))}};
+ return sem::Constant{type, {u32(lit->value)}};
}
- return sem::Constant{type, {i32(static_cast<int32_t>(lit->value))}};
+ return sem::Constant{type, {i32(lit->value)}};
},
[&](const ast::FloatLiteralExpression* lit) {
- return sem::Constant{type, {lit->value}};
+ return sem::Constant{type, {f32(lit->value)}};
},
[&](const ast::BoolLiteralExpression* lit) {
return sem::Constant{type, {lit->value}};
@@ -71,7 +71,7 @@
return sem::Constant(type, sem::Constant::Scalars(result_size, 0_u));
}
if (elem_type->Is<sem::F32>()) {
- return sem::Constant(type, sem::Constant::Scalars(result_size, 0.f));
+ return sem::Constant(type, sem::Constant::Scalars(result_size, 0_f));
}
if (elem_type->Is<sem::Bool>()) {
return sem::Constant(type, sem::Constant::Scalars(result_size, false));
diff --git a/src/tint/resolver/resolver_constants_test.cc b/src/tint/resolver/resolver_constants_test.cc
index 798de0a..a9624ca 100644
--- a/src/tint/resolver/resolver_constants_test.cc
+++ b/src/tint/resolver/resolver_constants_test.cc
@@ -58,7 +58,7 @@
}
TEST_F(ResolverConstantsTest, Scalar_f32) {
- auto* expr = Expr(9.9f);
+ auto* expr = Expr(9.9_f);
WrapInFunction(expr);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -139,9 +139,9 @@
EXPECT_EQ(sem->ConstantValue().Type(), sem->Type());
EXPECT_TRUE(sem->ConstantValue().ElementType()->Is<sem::F32>());
ASSERT_EQ(sem->ConstantValue().Elements().size(), 3u);
- EXPECT_EQ(sem->ConstantValue().Elements()[0].f32, 0u);
- EXPECT_EQ(sem->ConstantValue().Elements()[1].f32, 0u);
- EXPECT_EQ(sem->ConstantValue().Elements()[2].f32, 0u);
+ EXPECT_EQ(sem->ConstantValue().Elements()[0].f32, 0.0f);
+ EXPECT_EQ(sem->ConstantValue().Elements()[1].f32, 0.0f);
+ EXPECT_EQ(sem->ConstantValue().Elements()[2].f32, 0.0f);
}
TEST_F(ResolverConstantsTest, Vec3_ZeroInit_bool) {
@@ -202,7 +202,7 @@
}
TEST_F(ResolverConstantsTest, Vec3_Splat_f32) {
- auto* expr = vec3<f32>(9.9f);
+ auto* expr = vec3<f32>(9.9_f);
WrapInFunction(expr);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -278,7 +278,7 @@
}
TEST_F(ResolverConstantsTest, Vec3_FullConstruct_f32) {
- auto* expr = vec3<f32>(1.f, 2.f, 3.f);
+ auto* expr = vec3<f32>(1_f, 2_f, 3_f);
WrapInFunction(expr);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -354,7 +354,7 @@
}
TEST_F(ResolverConstantsTest, Vec3_MixConstruct_f32) {
- auto* expr = vec3<f32>(1.f, vec2<f32>(2.f, 3.f));
+ auto* expr = vec3<f32>(1_f, vec2<f32>(2_f, 3_f));
WrapInFunction(expr);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -392,7 +392,7 @@
}
TEST_F(ResolverConstantsTest, Vec3_Cast_f32_to_32) {
- auto* expr = vec3<i32>(vec3<f32>(1.1f, 2.2f, 3.3f));
+ auto* expr = vec3<i32>(vec3<f32>(1.1_f, 2.2_f, 3.3_f));
WrapInFunction(expr);
EXPECT_TRUE(r()->Resolve()) << r()->error();
diff --git a/src/tint/resolver/resolver_test.cc b/src/tint/resolver/resolver_test.cc
index 8b2b04f..3b86a48 100644
--- a/src/tint/resolver/resolver_test.cc
+++ b/src/tint/resolver/resolver_test.cc
@@ -88,7 +88,7 @@
TEST_F(ResolverTest, Stmt_Assign) {
auto* v = Var("v", ty.f32());
auto* lhs = Expr("v");
- auto* rhs = Expr(2.3f);
+ auto* rhs = Expr(2.3_f);
auto* assign = Assign(lhs, rhs);
WrapInFunction(v, assign);
@@ -107,7 +107,7 @@
TEST_F(ResolverTest, Stmt_Case) {
auto* v = Var("v", ty.f32());
auto* lhs = Expr("v");
- auto* rhs = Expr(2.3f);
+ auto* rhs = Expr(2.3_f);
auto* assign = Assign(lhs, rhs);
auto* block = Block(assign);
@@ -132,7 +132,7 @@
TEST_F(ResolverTest, Stmt_Block) {
auto* v = Var("v", ty.f32());
auto* lhs = Expr("v");
- auto* rhs = Expr(2.3f);
+ auto* rhs = Expr(2.3_f);
auto* assign = Assign(lhs, rhs);
auto* block = Block(assign);
@@ -154,7 +154,7 @@
TEST_F(ResolverTest, Stmt_If) {
auto* v = Var("v", ty.f32());
auto* else_lhs = Expr("v");
- auto* else_rhs = Expr(2.3f);
+ auto* else_rhs = Expr(2.3_f);
auto* else_body = Block(Assign(else_lhs, else_rhs));
@@ -162,7 +162,7 @@
auto* else_stmt = If(else_cond, else_body);
auto* lhs = Expr("v");
- auto* rhs = Expr(2.3f);
+ auto* rhs = Expr(2.3_f);
auto* assign = Assign(lhs, rhs);
auto* body = Block(assign);
@@ -195,11 +195,11 @@
TEST_F(ResolverTest, Stmt_Loop) {
auto* v = Var("v", ty.f32());
auto* body_lhs = Expr("v");
- auto* body_rhs = Expr(2.3f);
+ auto* body_rhs = Expr(2.3_f);
auto* body = Block(Assign(body_lhs, body_rhs), Break());
auto* continuing_lhs = Expr("v");
- auto* continuing_rhs = Expr(2.3f);
+ auto* continuing_rhs = Expr(2.3_f);
auto* continuing = Block(Assign(continuing_lhs, continuing_rhs));
auto* stmt = Loop(body, continuing);
@@ -243,7 +243,7 @@
TEST_F(ResolverTest, Stmt_Switch) {
auto* v = Var("v", ty.f32());
auto* lhs = Expr("v");
- auto* rhs = Expr(2.3f);
+ auto* rhs = Expr(2.3_f);
auto* case_block = Block(Assign(lhs, rhs));
auto* stmt = Switch(Expr(2_i), Case(Expr(3_i), case_block), DefaultCase());
WrapInFunction(v, stmt);
@@ -340,7 +340,7 @@
auto* inner = Block(foo_i32_decl, bar_i32_decl);
// Declare f32 "foo" at function scope
- auto* foo_f32 = Var("foo", ty.f32(), ast::StorageClass::kNone, Expr(2.f));
+ auto* foo_f32 = Var("foo", ty.f32(), ast::StorageClass::kNone, Expr(2_f));
auto* foo_f32_init = foo_f32->constructor;
auto* foo_f32_decl = Decl(foo_f32);
@@ -390,7 +390,7 @@
Func("func_i32", params, ty.void_(), {fn_i32_decl}, ast::AttributeList{});
// Declare f32 "foo" at module scope
- auto* mod_f32 = Var("foo", ty.f32(), ast::StorageClass::kPrivate, Expr(2.f));
+ auto* mod_f32 = Var("foo", ty.f32(), ast::StorageClass::kPrivate, Expr(2_f));
auto* mod_init = mod_f32->constructor;
AST().AddGlobalVariable(mod_f32);
@@ -486,7 +486,7 @@
TEST_F(ResolverTest, Expr_Call) {
ast::VariableList params;
- Func("my_func", params, ty.f32(), {Return(0.0f)}, ast::AttributeList{});
+ Func("my_func", params, ty.f32(), {Return(0_f)}, ast::AttributeList{});
auto* call = Call("my_func");
WrapInFunction(call);
@@ -499,7 +499,7 @@
TEST_F(ResolverTest, Expr_Call_InBinaryOp) {
ast::VariableList params;
- Func("func", params, ty.f32(), {Return(0.0f)}, ast::AttributeList{});
+ Func("func", params, ty.f32(), {Return(0_f)}, ast::AttributeList{});
auto* expr = Add(Call("func"), Call("func"));
WrapInFunction(expr);
@@ -513,10 +513,10 @@
TEST_F(ResolverTest, Expr_Call_WithParams) {
Func("my_func", {Param(Sym(), ty.f32())}, ty.f32(),
{
- Return(1.2f),
+ Return(1.2_f),
});
- auto* param = Expr(2.4f);
+ auto* param = Expr(2.4_f);
auto* call = Call("my_func", param);
WrapInFunction(call);
@@ -528,7 +528,7 @@
}
TEST_F(ResolverTest, Expr_Call_Builtin) {
- auto* call = Call("round", 2.4f);
+ auto* call = Call("round", 2.4_f);
WrapInFunction(call);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -550,7 +550,7 @@
}
TEST_F(ResolverTest, Expr_Constructor_Scalar) {
- auto* s = Expr(1.0f);
+ auto* s = Expr(1_f);
WrapInFunction(s);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -560,7 +560,7 @@
}
TEST_F(ResolverTest, Expr_Constructor_Type_Vec2) {
- auto* tc = vec2<f32>(1.0f, 1.0f);
+ auto* tc = vec2<f32>(1_f, 1_f);
WrapInFunction(tc);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -572,7 +572,7 @@
}
TEST_F(ResolverTest, Expr_Constructor_Type_Vec3) {
- auto* tc = vec3<f32>(1.0f, 1.0f, 1.0f);
+ auto* tc = vec3<f32>(1_f, 1_f, 1_f);
WrapInFunction(tc);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -584,7 +584,7 @@
}
TEST_F(ResolverTest, Expr_Constructor_Type_Vec4) {
- auto* tc = vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f);
+ auto* tc = vec4<f32>(1_f, 1_f, 1_f, 1_f);
WrapInFunction(tc);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -703,7 +703,7 @@
auto* p = Expr("p");
auto* v_decl = Decl(Var("v", ty.f32()));
auto* p_decl = Decl(Let("p", ty.pointer<f32>(ast::StorageClass::kFunction), AddressOf(v)));
- auto* assign = Assign(Deref(p), 1.23f);
+ auto* assign = Assign(Deref(p), 1.23_f);
Func("my_func", ast::VariableList{}, ty.void_(),
{
v_decl,
@@ -725,7 +725,7 @@
}
TEST_F(ResolverTest, Expr_Call_Function) {
- Func("my_func", ast::VariableList{}, ty.f32(), {Return(0.0f)}, ast::AttributeList{});
+ Func("my_func", ast::VariableList{}, ty.f32(), {Return(0_f)}, ast::AttributeList{});
auto* call = Call("my_func");
WrapInFunction(call);
@@ -815,7 +815,7 @@
Func("my_func", ast::VariableList{}, ty.f32(),
{Assign("wg_var", "wg_var"), Assign("sb_var", "sb_var"), Assign("priv_var", "priv_var"),
- Return(0.0f)},
+ Return(0_f)},
ast::AttributeList{});
auto* func2 = Func("func", ast::VariableList{}, ty.void_(),
@@ -841,7 +841,7 @@
auto* func = Func("my_func", ast::VariableList{}, ty.void_(),
{
Decl(Var("var", ty.f32())),
- Assign("var", 1.f),
+ Assign("var", 1_f),
});
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1795,11 +1795,11 @@
Global("call_c", ty.f32(), ast::StorageClass::kPrivate);
ast::VariableList params;
- auto* func_b = Func("b", params, ty.f32(), {Return(0.0f)}, ast::AttributeList{});
- auto* func_c = Func("c", params, ty.f32(), {Assign("second", Call("b")), Return(0.0f)},
+ auto* func_b = Func("b", params, ty.f32(), {Return(0_f)}, ast::AttributeList{});
+ auto* func_c = Func("c", params, ty.f32(), {Assign("second", Call("b")), Return(0_f)},
ast::AttributeList{});
- auto* func_a = Func("a", params, ty.f32(), {Assign("first", Call("c")), Return(0.0f)},
+ auto* func_a = Func("a", params, ty.f32(), {Assign("first", Call("c")), Return(0_f)},
ast::AttributeList{});
auto* ep_1 = Func("ep_1", params, ty.void_(),
@@ -1959,7 +1959,7 @@
Global("t", ty.sampled_texture(ast::TextureDimension::k2d, ty.f32()), GroupAndBinding(1, 1));
Global("s", ty.sampler(ast::SamplerKind::kSampler), GroupAndBinding(1, 2));
- auto* call = CallStmt(Call("textureSample", "t", "s", vec2<f32>(1.0f, 2.0f)));
+ auto* call = CallStmt(Call("textureSample", "t", "s", vec2<f32>(1_f, 2_f)));
const ast::Function* f =
Func("test_function", {}, ty.void_(), {call}, {Stage(ast::PipelineStage::kFragment)});
@@ -1976,7 +1976,7 @@
Global("t", ty.sampled_texture(ast::TextureDimension::k2d, ty.f32()), GroupAndBinding(1, 1));
Global("s", ty.sampler(ast::SamplerKind::kSampler), GroupAndBinding(1, 2));
- auto* inner_call = CallStmt(Call("textureSample", "t", "s", vec2<f32>(1.0f, 2.0f)));
+ auto* inner_call = CallStmt(Call("textureSample", "t", "s", vec2<f32>(1_f, 2_f)));
const ast::Function* inner_func = Func("inner_func", {}, ty.void_(), {inner_call});
auto* outer_call = CallStmt(Call("inner_func"));
const ast::Function* outer_func =
@@ -1999,9 +1999,9 @@
Global("t", ty.sampled_texture(ast::TextureDimension::k2d, ty.f32()), GroupAndBinding(1, 1));
Global("s", ty.sampler(ast::SamplerKind::kSampler), GroupAndBinding(1, 2));
- auto* inner_call_1 = CallStmt(Call("textureSample", "t", "s", vec2<f32>(1.0f, 2.0f)));
+ auto* inner_call_1 = CallStmt(Call("textureSample", "t", "s", vec2<f32>(1_f, 2_f)));
const ast::Function* inner_func_1 = Func("inner_func_1", {}, ty.void_(), {inner_call_1});
- auto* inner_call_2 = CallStmt(Call("textureSample", "t", "s", vec2<f32>(3.0f, 4.0f)));
+ auto* inner_call_2 = CallStmt(Call("textureSample", "t", "s", vec2<f32>(3_f, 4_f)));
const ast::Function* inner_func_2 = Func("inner_func_2", {}, ty.void_(), {inner_call_2});
auto* outer_call_1 = CallStmt(Call("inner_func_1"));
auto* outer_call_2 = CallStmt(Call("inner_func_2"));
@@ -2032,9 +2032,9 @@
Global("t2", ty.sampled_texture(ast::TextureDimension::k2d, ty.f32()), GroupAndBinding(1, 2));
Global("s", ty.sampler(ast::SamplerKind::kSampler), GroupAndBinding(1, 3));
- auto* inner_call_1 = CallStmt(Call("textureSample", "t1", "s", vec2<f32>(1.0f, 2.0f)));
+ auto* inner_call_1 = CallStmt(Call("textureSample", "t1", "s", vec2<f32>(1_f, 2_f)));
const ast::Function* inner_func_1 = Func("inner_func_1", {}, ty.void_(), {inner_call_1});
- auto* inner_call_2 = CallStmt(Call("textureSample", "t2", "s", vec2<f32>(3.0f, 4.0f)));
+ auto* inner_call_2 = CallStmt(Call("textureSample", "t2", "s", vec2<f32>(3_f, 4_f)));
const ast::Function* inner_func_2 = Func("inner_func_2", {}, ty.void_(), {inner_call_2});
auto* outer_call_1 = CallStmt(Call("inner_func_1"));
auto* outer_call_2 = CallStmt(Call("inner_func_2"));
diff --git a/src/tint/resolver/source_variable_test.cc b/src/tint/resolver/source_variable_test.cc
index f9fe2fb..cd943f3 100644
--- a/src/tint/resolver/source_variable_test.cc
+++ b/src/tint/resolver/source_variable_test.cc
@@ -81,7 +81,7 @@
}
TEST_F(ResolverSourceVariableTest, GlobalOverride) {
- auto* a = Override("a", ty.f32(), Expr(1.f));
+ auto* a = Override("a", ty.f32(), Expr(1_f));
auto* expr = Expr(a);
WrapInFunction(expr);
@@ -92,7 +92,7 @@
}
TEST_F(ResolverSourceVariableTest, GlobalConst) {
- auto* a = GlobalConst("a", ty.f32(), Expr(1.f));
+ auto* a = GlobalConst("a", ty.f32(), Expr(1_f));
auto* expr = Expr(a);
WrapInFunction(expr);
@@ -114,7 +114,7 @@
}
TEST_F(ResolverSourceVariableTest, FunctionLet) {
- auto* a = Let("a", ty.f32(), Expr(1.f));
+ auto* a = Let("a", ty.f32(), Expr(1_f));
auto* expr = Expr(a);
WrapInFunction(a, expr);
@@ -250,7 +250,7 @@
}
TEST_F(ResolverSourceVariableTest, Literal) {
- auto* expr = Expr(1.f);
+ auto* expr = Expr(1_f);
WrapInFunction(expr);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -259,7 +259,7 @@
}
TEST_F(ResolverSourceVariableTest, FunctionReturnValue) {
- auto* expr = Call("min", 1.f, 2.f);
+ auto* expr = Call("min", 1_f, 2_f);
WrapInFunction(expr);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -269,7 +269,7 @@
TEST_F(ResolverSourceVariableTest, BinaryExpression) {
auto* a = Var("a", ty.f32(), ast::StorageClass::kNone);
- auto* expr = Add(a, Expr(1.f));
+ auto* expr = Add(a, Expr(1_f));
WrapInFunction(a, expr);
EXPECT_TRUE(r()->Resolve()) << r()->error();
diff --git a/src/tint/resolver/struct_pipeline_stage_use_test.cc b/src/tint/resolver/struct_pipeline_stage_use_test.cc
index 6b9ede9..1ca80df 100644
--- a/src/tint/resolver/struct_pipeline_stage_use_test.cc
+++ b/src/tint/resolver/struct_pipeline_stage_use_test.cc
@@ -53,7 +53,7 @@
TEST_F(ResolverPipelineStageUseTest, StructUsedAsNonEntryPointReturnType) {
auto* s = Structure("S", {Member("a", ty.f32(), {Location(0)})});
- Func("foo", {}, ty.Of(s), {Return(Construct(ty.Of(s), Expr(0.f)))}, {});
+ Func("foo", {}, ty.Of(s), {Return(Construct(ty.Of(s), Expr(0_f)))}, {});
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -106,7 +106,7 @@
TEST_F(ResolverPipelineStageUseTest, StructUsedAsFragmentShaderReturnType) {
auto* s = Structure("S", {Member("a", ty.f32(), {Location(0)})});
- Func("main", {}, ty.Of(s), {Return(Construct(ty.Of(s), Expr(0.f)))},
+ Func("main", {}, ty.Of(s), {Return(Construct(ty.Of(s), Expr(0_f)))},
{Stage(ast::PipelineStage::kFragment)});
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -169,7 +169,7 @@
auto* s = Structure("S", {Member("a", ty.f32(), {Location(0)})});
auto* s_alias = Alias("S_alias", ty.Of(s));
- Func("main", {}, ty.Of(s_alias), {Return(Construct(ty.Of(s_alias), Expr(0.f)))},
+ Func("main", {}, ty.Of(s_alias), {Return(Construct(ty.Of(s_alias), Expr(0_f)))},
{Stage(ast::PipelineStage::kFragment)});
ASSERT_TRUE(r()->Resolve()) << r()->error();
diff --git a/src/tint/resolver/type_constructor_validation_test.cc b/src/tint/resolver/type_constructor_validation_test.cc
index edfce46..4c37ee5 100644
--- a/src/tint/resolver/type_constructor_validation_test.cc
+++ b/src/tint/resolver/type_constructor_validation_test.cc
@@ -404,7 +404,7 @@
TEST_F(ResolverTypeConstructorValidationTest, ConversionConstructorInvalid_TooManyInitializers) {
auto* a = Var("a", ty.f32(), ast::StorageClass::kNone,
- Construct(Source{{12, 34}}, ty.f32(), Expr(1.0f), Expr(2.0f)));
+ Construct(Source{{12, 34}}, ty.f32(), Expr(1_f), Expr(2_f)));
WrapInFunction(a);
ASSERT_FALSE(r()->Resolve());
@@ -463,7 +463,7 @@
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Array_type_Mismatch_U32F32) {
// array<u32, 3u>(0u, 1.0f, 20u);
- auto* tc = array<u32, 3>(Expr(0_u), Expr(Source{{12, 34}}, 1.0f), Expr(20_u));
+ auto* tc = array<u32, 3>(Expr(0_u), Expr(Source{{12, 34}}, 1_f), Expr(20_u));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -650,7 +650,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Construct_f32_Success) {
- auto* expr = Construct<f32>(Expr(1.23f));
+ auto* expr = Construct<f32>(Expr(1.23_f));
WrapInFunction(expr);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -668,7 +668,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Convert_f32_to_i32_Success) {
- auto* expr = Construct<i32>(1.23f);
+ auto* expr = Construct<i32>(1.23_f);
WrapInFunction(expr);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -727,7 +727,7 @@
TEST_F(ResolverTypeConstructorValidationTest,
Expr_Constructor_Vec2F32_Error_ScalarArgumentTypeMismatch) {
- auto* tc = vec2<f32>(Expr(Source{{12, 34}}, 1_i), 1.0f);
+ auto* tc = vec2<f32>(Expr(Source{{12, 34}}, 1_i), 1_f);
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -788,8 +788,8 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec2_Error_TooManyArgumentsScalar) {
- auto* tc = vec2<f32>(Expr(Source{{12, 34}}, 1.0f), Expr(Source{{12, 40}}, 1.0f),
- Expr(Source{{12, 46}}, 1.0f));
+ auto* tc = vec2<f32>(Expr(Source{{12, 34}}, 1_f), Expr(Source{{12, 40}}, 1_f),
+ Expr(Source{{12, 46}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -807,7 +807,7 @@
TEST_F(ResolverTypeConstructorValidationTest,
Expr_Constructor_Vec2_Error_TooManyArgumentsVectorAndScalar) {
- auto* tc = vec2<f32>(Construct(Source{{12, 34}}, ty.vec2<f32>()), Expr(Source{{12, 40}}, 1.0f));
+ auto* tc = vec2<f32>(Construct(Source{{12, 34}}, ty.vec2<f32>()), Expr(Source{{12, 40}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -844,7 +844,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec2F32_Success_Scalar) {
- auto* tc = vec2<f32>(1.0f, 1.0f);
+ auto* tc = vec2<f32>(1_f, 1_f);
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -969,7 +969,7 @@
TEST_F(ResolverTypeConstructorValidationTest,
Expr_Constructor_Vec3F32_Error_ScalarArgumentTypeMismatch) {
- auto* tc = vec3<f32>(1.0f, 1.0f, Expr(Source{{12, 34}}, 1_i));
+ auto* tc = vec3<f32>(1_f, 1_f, Expr(Source{{12, 34}}, 1_i));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1021,7 +1021,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec3_Error_TooFewArgumentsScalar) {
- auto* tc = vec3<f32>(Expr(Source{{12, 34}}, 1.0f), Expr(Source{{12, 40}}, 1.0f));
+ auto* tc = vec3<f32>(Expr(Source{{12, 34}}, 1_f), Expr(Source{{12, 40}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1029,8 +1029,8 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec3_Error_TooManyArgumentsScalar) {
- auto* tc = vec3<f32>(Expr(Source{{12, 34}}, 1.0f), Expr(Source{{12, 40}}, 1.0f),
- Expr(Source{{12, 46}}, 1.0f), Expr(Source{{12, 52}}, 1.0f));
+ auto* tc = vec3<f32>(Expr(Source{{12, 34}}, 1_f), Expr(Source{{12, 40}}, 1_f),
+ Expr(Source{{12, 46}}, 1_f), Expr(Source{{12, 52}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1056,8 +1056,8 @@
TEST_F(ResolverTypeConstructorValidationTest,
Expr_Constructor_Vec3_Error_TooManyArgumentsVec2AndScalar) {
- auto* tc = vec3<f32>(Construct(Source{{12, 34}}, ty.vec2<f32>()), Expr(Source{{12, 40}}, 1.0f),
- Expr(Source{{12, 46}}, 1.0f));
+ auto* tc = vec3<f32>(Construct(Source{{12, 34}}, ty.vec2<f32>()), Expr(Source{{12, 40}}, 1_f),
+ Expr(Source{{12, 46}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1065,7 +1065,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec3_Error_TooManyArgumentsVec3) {
- auto* tc = vec3<f32>(Construct(Source{{12, 34}}, ty.vec3<f32>()), Expr(Source{{12, 40}}, 1.0f));
+ auto* tc = vec3<f32>(Construct(Source{{12, 34}}, ty.vec3<f32>()), Expr(Source{{12, 40}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1102,7 +1102,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec3F32_Success_Scalar) {
- auto* tc = vec3<f32>(1.0f, 1.0f, 1.0f);
+ auto* tc = vec3<f32>(1_f, 1_f, 1_f);
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1190,7 +1190,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec3_Success_Vec2AndScalar) {
- auto* tc = vec3<f32>(vec2<f32>(), 1.0f);
+ auto* tc = vec3<f32>(vec2<f32>(), 1_f);
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1211,7 +1211,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec3_Success_ScalarAndVec2) {
- auto* tc = vec3<f32>(1.0f, vec2<f32>());
+ auto* tc = vec3<f32>(1_f, vec2<f32>());
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1273,7 +1273,7 @@
TEST_F(ResolverTypeConstructorValidationTest,
Expr_Constructor_Vec4F32_Error_ScalarArgumentTypeMismatch) {
- auto* tc = vec4<f32>(1.0f, 1.0f, Expr(Source{{12, 34}}, 1_i), 1.0f);
+ auto* tc = vec4<f32>(1_f, 1_f, Expr(Source{{12, 34}}, 1_i), 1_f);
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1316,8 +1316,8 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec4_Error_TooFewArgumentsScalar) {
- auto* tc = vec4<f32>(Expr(Source{{12, 34}}, 1.0f), Expr(Source{{12, 40}}, 1.0f),
- Expr(Source{{12, 46}}, 1.0f));
+ auto* tc = vec4<f32>(Expr(Source{{12, 34}}, 1_f), Expr(Source{{12, 40}}, 1_f),
+ Expr(Source{{12, 46}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1325,9 +1325,9 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec4_Error_TooManyArgumentsScalar) {
- auto* tc = vec4<f32>(Expr(Source{{12, 34}}, 1.0f), Expr(Source{{12, 40}}, 1.0f),
- Expr(Source{{12, 46}}, 1.0f), Expr(Source{{12, 52}}, 1.0f),
- Expr(Source{{12, 58}}, 1.0f));
+ auto* tc = vec4<f32>(Expr(Source{{12, 34}}, 1_f), Expr(Source{{12, 40}}, 1_f),
+ Expr(Source{{12, 46}}, 1_f), Expr(Source{{12, 52}}, 1_f),
+ Expr(Source{{12, 58}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1336,7 +1336,7 @@
TEST_F(ResolverTypeConstructorValidationTest,
Expr_Constructor_Vec4_Error_TooFewArgumentsVec2AndScalar) {
- auto* tc = vec4<f32>(Construct(Source{{12, 34}}, ty.vec2<f32>()), Expr(Source{{12, 40}}, 1.0f));
+ auto* tc = vec4<f32>(Construct(Source{{12, 34}}, ty.vec2<f32>()), Expr(Source{{12, 40}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1345,8 +1345,8 @@
TEST_F(ResolverTypeConstructorValidationTest,
Expr_Constructor_Vec4_Error_TooManyArgumentsVec2AndScalars) {
- auto* tc = vec4<f32>(Construct(Source{{12, 34}}, ty.vec2<f32>()), Expr(Source{{12, 40}}, 1.0f),
- Expr(Source{{12, 46}}, 1.0f), Expr(Source{{12, 52}}, 1.0f));
+ auto* tc = vec4<f32>(Construct(Source{{12, 34}}, ty.vec2<f32>()), Expr(Source{{12, 40}}, 1_f),
+ Expr(Source{{12, 46}}, 1_f), Expr(Source{{12, 52}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1356,7 +1356,7 @@
TEST_F(ResolverTypeConstructorValidationTest,
Expr_Constructor_Vec4_Error_TooManyArgumentsVec2Vec2Scalar) {
auto* tc = vec4<f32>(Construct(Source{{12, 34}}, ty.vec2<f32>()),
- Construct(Source{{12, 40}}, ty.vec2<f32>()), Expr(Source{{12, 46}}, 1.0f));
+ Construct(Source{{12, 40}}, ty.vec2<f32>()), Expr(Source{{12, 46}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1384,8 +1384,8 @@
TEST_F(ResolverTypeConstructorValidationTest,
Expr_Constructor_Vec4_Error_TooManyArgumentsVec3AndScalars) {
- auto* tc = vec4<f32>(Construct(Source{{12, 34}}, ty.vec3<f32>()), Expr(Source{{12, 40}}, 1.0f),
- Expr(Source{{12, 46}}, 1.0f));
+ auto* tc = vec4<f32>(Construct(Source{{12, 34}}, ty.vec3<f32>()), Expr(Source{{12, 40}}, 1_f),
+ Expr(Source{{12, 46}}, 1_f));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1445,7 +1445,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec4F32_Success_Scalar) {
- auto* tc = vec4<f32>(1.0f, 1.0f, 1.0f, 1.0f);
+ auto* tc = vec4<f32>(1_f, 1_f, 1_f, 1_f);
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1493,7 +1493,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec4_Success_Vec2ScalarScalar) {
- auto* tc = vec4<f32>(vec2<f32>(), 1.0f, 1.0f);
+ auto* tc = vec4<f32>(vec2<f32>(), 1_f, 1_f);
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1505,7 +1505,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec4_Success_ScalarVec2Scalar) {
- auto* tc = vec4<f32>(1.0f, vec2<f32>(), 1.0f);
+ auto* tc = vec4<f32>(1_f, vec2<f32>(), 1_f);
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1517,7 +1517,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec4_Success_ScalarScalarVec2) {
- auto* tc = vec4<f32>(1.0f, 1.0f, vec2<f32>());
+ auto* tc = vec4<f32>(1_f, 1_f, vec2<f32>());
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1541,7 +1541,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec4_Success_Vec3AndScalar) {
- auto* tc = vec4<f32>(vec3<f32>(), 1.0f);
+ auto* tc = vec4<f32>(vec3<f32>(), 1_f);
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1553,7 +1553,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_Vec4_Success_ScalarAndVec3) {
- auto* tc = vec4<f32>(1.0f, vec3<f32>());
+ auto* tc = vec4<f32>(1_f, vec3<f32>());
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1590,10 +1590,9 @@
TEST_F(ResolverTypeConstructorValidationTest,
Expr_Constructor_NestedVectorConstructors_InnerError) {
- auto* tc =
- vec4<f32>(vec4<f32>(1.0f, 1.0f,
- vec3<f32>(Expr(Source{{12, 34}}, 1.0f), Expr(Source{{12, 34}}, 1.0f))),
- 1.0f);
+ auto* tc = vec4<f32>(
+ vec4<f32>(1_f, 1_f, vec3<f32>(Expr(Source{{12, 34}}, 1_f), Expr(Source{{12, 34}}, 1_f))),
+ 1_f);
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1601,7 +1600,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, Expr_Constructor_NestedVectorConstructors_Success) {
- auto* tc = vec4<f32>(vec3<f32>(vec2<f32>(1.0f, 1.0f), 1.0f), 1.0f);
+ auto* tc = vec4<f32>(vec3<f32>(vec2<f32>(1_f, 1_f), 1_f), 1_f);
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1641,7 +1640,7 @@
// vec2<Float32>(1.0f, 1u)
auto* vec_type = ty.vec(ty.Of(f32_alias), 2);
- auto* tc = Construct(Source{{12, 34}}, vec_type, 1.0f, Expr(Source{{12, 40}}, 1_u));
+ auto* tc = Construct(Source{{12, 34}}, vec_type, 1_f, Expr(Source{{12, 40}}, 1_u));
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1655,7 +1654,7 @@
// vec2<Float32>(1.0f, 1.0f)
auto* vec_type = ty.vec(ty.Of(f32_alias), 2);
- auto* tc = Construct(Source{{12, 34}}, vec_type, 1.0f, 1.0f);
+ auto* tc = Construct(Source{{12, 34}}, vec_type, 1_f, 1_f);
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1667,7 +1666,7 @@
// vec3<u32>(vec<Float32>(), 1.0f)
auto* vec_type = ty.vec(ty.Of(f32_alias), 2);
- auto* tc = vec3<u32>(Construct(Source{{12, 34}}, vec_type), 1.0f);
+ auto* tc = vec3<u32>(Construct(Source{{12, 34}}, vec_type), 1_f);
WrapInFunction(tc);
EXPECT_FALSE(r()->Resolve());
@@ -1682,7 +1681,7 @@
// vec3<f32>(vec<Float32>(), 1.0f)
auto* vec_type = ty.vec(ty.Of(f32_alias), 2);
- auto* tc = vec3<f32>(Construct(Source{{12, 34}}, vec_type), 1.0f);
+ auto* tc = vec3<f32>(Construct(Source{{12, 34}}, vec_type), 1_f);
WrapInFunction(tc);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1692,7 +1691,7 @@
auto* vec2_bool = Construct(create<ast::Vector>(nullptr, 2), Expr(true), Expr(false));
auto* vec2_i32 = Construct(create<ast::Vector>(nullptr, 2), Expr(1_i), Expr(2_i));
auto* vec2_u32 = Construct(create<ast::Vector>(nullptr, 2), Expr(1_u), Expr(2_u));
- auto* vec2_f32 = Construct(create<ast::Vector>(nullptr, 2), Expr(1.0f), Expr(2.0f));
+ auto* vec2_f32 = Construct(create<ast::Vector>(nullptr, 2), Expr(1_f), Expr(2_f));
WrapInFunction(vec2_bool, vec2_i32, vec2_u32, vec2_f32);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1719,7 +1718,7 @@
auto* vec2_bool = Construct(create<ast::Vector>(nullptr, 2), vec2<bool>(true, false));
auto* vec2_i32 = Construct(create<ast::Vector>(nullptr, 2), vec2<i32>(1_i, 2_i));
auto* vec2_u32 = Construct(create<ast::Vector>(nullptr, 2), vec2<u32>(1_u, 2_u));
- auto* vec2_f32 = Construct(create<ast::Vector>(nullptr, 2), vec2<f32>(1.0f, 2.0f));
+ auto* vec2_f32 = Construct(create<ast::Vector>(nullptr, 2), vec2<f32>(1_f, 2_f));
WrapInFunction(vec2_bool, vec2_i32, vec2_u32, vec2_f32);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1747,7 +1746,7 @@
Construct(create<ast::Vector>(nullptr, 3), Expr(true), Expr(false), Expr(true));
auto* vec3_i32 = Construct(create<ast::Vector>(nullptr, 3), Expr(1_i), Expr(2_i), Expr(3_i));
auto* vec3_u32 = Construct(create<ast::Vector>(nullptr, 3), Expr(1_u), Expr(2_u), Expr(3_u));
- auto* vec3_f32 = Construct(create<ast::Vector>(nullptr, 3), Expr(1.0f), Expr(2.0f), Expr(3.0f));
+ auto* vec3_f32 = Construct(create<ast::Vector>(nullptr, 3), Expr(1_f), Expr(2_f), Expr(3_f));
WrapInFunction(vec3_bool, vec3_i32, vec3_u32, vec3_f32);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1774,7 +1773,7 @@
auto* vec3_bool = Construct(create<ast::Vector>(nullptr, 3), vec3<bool>(true, false, true));
auto* vec3_i32 = Construct(create<ast::Vector>(nullptr, 3), vec3<i32>(1_i, 2_i, 3_i));
auto* vec3_u32 = Construct(create<ast::Vector>(nullptr, 3), vec3<u32>(1_u, 2_u, 3_u));
- auto* vec3_f32 = Construct(create<ast::Vector>(nullptr, 3), vec3<f32>(1.0f, 2.0f, 3.0f));
+ auto* vec3_f32 = Construct(create<ast::Vector>(nullptr, 3), vec3<f32>(1_f, 2_f, 3_f));
WrapInFunction(vec3_bool, vec3_i32, vec3_u32, vec3_f32);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1802,7 +1801,7 @@
Construct(create<ast::Vector>(nullptr, 3), Expr(true), vec2<bool>(false, true));
auto* vec3_i32 = Construct(create<ast::Vector>(nullptr, 3), Expr(1_i), vec2<i32>(2_i, 3_i));
auto* vec3_u32 = Construct(create<ast::Vector>(nullptr, 3), Expr(1_u), vec2<u32>(2_u, 3_u));
- auto* vec3_f32 = Construct(create<ast::Vector>(nullptr, 3), Expr(1.0f), vec2<f32>(2.0f, 3.0f));
+ auto* vec3_f32 = Construct(create<ast::Vector>(nullptr, 3), Expr(1_f), vec2<f32>(2_f, 3_f));
WrapInFunction(vec3_bool, vec3_i32, vec3_u32, vec3_f32);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1833,7 +1832,7 @@
auto* vec4_u32 =
Construct(create<ast::Vector>(nullptr, 4), Expr(1_u), Expr(2_u), Expr(3_u), Expr(4_u));
auto* vec4_f32 =
- Construct(create<ast::Vector>(nullptr, 4), Expr(1.0f), Expr(2.0f), Expr(3.0f), Expr(4.0f));
+ Construct(create<ast::Vector>(nullptr, 4), Expr(1_f), Expr(2_f), Expr(3_f), Expr(4_f));
WrapInFunction(vec4_bool, vec4_i32, vec4_u32, vec4_f32);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1861,7 +1860,7 @@
Construct(create<ast::Vector>(nullptr, 4), vec4<bool>(true, false, true, false));
auto* vec4_i32 = Construct(create<ast::Vector>(nullptr, 4), vec4<i32>(1_i, 2_i, 3_i, 4_i));
auto* vec4_u32 = Construct(create<ast::Vector>(nullptr, 4), vec4<u32>(1_u, 2_u, 3_u, 4_u));
- auto* vec4_f32 = Construct(create<ast::Vector>(nullptr, 4), vec4<f32>(1.0f, 2.0f, 3.0f, 4.0f));
+ auto* vec4_f32 = Construct(create<ast::Vector>(nullptr, 4), vec4<f32>(1_f, 2_f, 3_f, 4_f));
WrapInFunction(vec4_bool, vec4_i32, vec4_u32, vec4_f32);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1892,7 +1891,7 @@
auto* vec4_u32 =
Construct(create<ast::Vector>(nullptr, 4), Expr(1_u), vec3<u32>(2_u, 3_u, 4_u));
auto* vec4_f32 =
- Construct(create<ast::Vector>(nullptr, 4), Expr(1.0f), vec3<f32>(2.0f, 3.0f, 4.0f));
+ Construct(create<ast::Vector>(nullptr, 4), Expr(1_f), vec3<f32>(2_f, 3_f, 4_f));
WrapInFunction(vec4_bool, vec4_i32, vec4_u32, vec4_f32);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1923,7 +1922,7 @@
auto* vec4_u32 =
Construct(create<ast::Vector>(nullptr, 4), vec2<u32>(1_u, 2_u), vec2<u32>(3_u, 4_u));
auto* vec4_f32 =
- Construct(create<ast::Vector>(nullptr, 4), vec2<f32>(1.0f, 2.0f), vec2<f32>(3.0f, 4.0f));
+ Construct(create<ast::Vector>(nullptr, 4), vec2<f32>(1_f, 2_f), vec2<f32>(3_f, 4_f));
WrapInFunction(vec4_bool, vec4_i32, vec4_u32, vec4_f32);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1984,7 +1983,7 @@
TEST_F(ResolverTypeConstructorValidationTest, CannotInferVec3ElementTypeFromScalarAndVec2Mismatch) {
WrapInFunction(Construct(Source{{1, 1}}, create<ast::Vector>(nullptr, 3),
Expr(Source{{1, 2}}, 1_i), //
- Construct(Source{{1, 3}}, ty.vec2<f32>(), 2.0f, 3.0f)));
+ Construct(Source{{1, 3}}, ty.vec2<f32>(), 2_f, 3_f)));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(
@@ -1996,9 +1995,9 @@
TEST_F(ResolverTypeConstructorValidationTest, CannotInferVec4ElementTypeFromScalarsMismatch) {
WrapInFunction(Construct(Source{{1, 1}}, create<ast::Vector>(nullptr, 4),
- Expr(Source{{1, 2}}, 1_i), //
- Expr(Source{{1, 3}}, 2_i), //
- Expr(Source{{1, 4}}, 3.0f), //
+ Expr(Source{{1, 2}}, 1_i), //
+ Expr(Source{{1, 3}}, 2_i), //
+ Expr(Source{{1, 4}}, 3_f), //
Expr(Source{{1, 5}}, 4_i)));
EXPECT_FALSE(r()->Resolve());
@@ -2720,7 +2719,7 @@
}
TEST_F(ResolverTypeConstructorValidationTest, TypeConstructorAsStatement) {
- WrapInFunction(CallStmt(Construct(Source{{12, 34}}, ty.vec2<f32>(), 1.f, 2.f)));
+ WrapInFunction(CallStmt(Construct(Source{{12, 34}}, ty.vec2<f32>(), 1_f, 2_f)));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: type constructor evaluated but not used");
diff --git a/src/tint/resolver/type_validation_test.cc b/src/tint/resolver/type_validation_test.cc
index 2af2c0e..90e18e1 100644
--- a/src/tint/resolver/type_validation_test.cc
+++ b/src/tint/resolver/type_validation_test.cc
@@ -91,7 +91,7 @@
// const<private> global_var: f32;
AST().AddGlobalVariable(create<ast::Variable>(
Source{{12, 34}}, Symbols().Register("global_var"), ast::StorageClass::kPrivate,
- ast::Access::kUndefined, ty.f32(), true, false, Expr(1.23f), ast::AttributeList{}));
+ ast::Access::kUndefined, ty.f32(), true, false, Expr(1.23_f), ast::AttributeList{}));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: global constants shouldn't have a storage class");
@@ -108,9 +108,9 @@
// var global_var0 : f32 = 0.1;
// var global_var1 : i32 = 0;
- Global("global_var0", ty.f32(), ast::StorageClass::kPrivate, Expr(0.1f));
+ Global("global_var0", ty.f32(), ast::StorageClass::kPrivate, Expr(0.1_f));
- Global(Source{{12, 34}}, "global_var1", ty.f32(), ast::StorageClass::kPrivate, Expr(1.0f));
+ Global(Source{{12, 34}}, "global_var1", ty.f32(), ast::StorageClass::kPrivate, Expr(1_f));
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
@@ -121,11 +121,11 @@
// }
// var a: f32 = 2.1;
- auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2.0f));
+ auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2_f));
Func("my_func", ast::VariableList{}, ty.void_(), {Decl(var)});
- Global("a", ty.f32(), ast::StorageClass::kPrivate, Expr(2.1f));
+ Global("a", ty.f32(), ast::StorageClass::kPrivate, Expr(2.1_f));
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
@@ -135,12 +135,12 @@
// if (true) { var a : f32 = 2.0; }
// var a : f32 = 3.14;
// }
- auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2.0f));
+ auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2_f));
auto* cond = Expr(true);
auto* body = Block(Decl(var));
- auto* var_a_float = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(3.1f));
+ auto* var_a_float = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(3.1_f));
auto* outer_body = Block(If(cond, body), Decl(Source{{12, 34}}, var_a_float));
@@ -168,9 +168,9 @@
TEST_F(ResolverTypeValidationTest, RedeclaredIdentifierDifferentFunctions_Pass) {
// func0 { var a : f32 = 2.0; return; }
// func1 { var a : f32 = 3.0; return; }
- auto* var0 = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2.0f));
+ auto* var0 = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2_f));
- auto* var1 = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(1.0f));
+ auto* var1 = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(1_f));
Func("func0", ast::VariableList{}, ty.void_(),
ast::StatementList{
@@ -232,7 +232,7 @@
TEST_F(ResolverTypeValidationTest, ArraySize_SignedLiteral_Negative) {
// var<private> a : array<f32, -10i>;
- Global("a", ty.array(ty.f32(), Expr(Source{{12, 34}}, i32(-10))), ast::StorageClass::kPrivate);
+ Global("a", ty.array(ty.f32(), Expr(Source{{12, 34}}, -10_i)), ast::StorageClass::kPrivate);
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: array size must be at least 1");
}
@@ -258,7 +258,7 @@
TEST_F(ResolverTypeValidationTest, ArraySize_SignedConstant_Negative) {
// let size = -10i;
// var<private> a : array<f32, size>;
- GlobalConst("size", nullptr, Expr(i32(-10)));
+ GlobalConst("size", nullptr, Expr(-10_i));
Global("a", ty.array(ty.f32(), Expr(Source{{12, 34}}, "size")), ast::StorageClass::kPrivate);
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: array size must be at least 1");
@@ -266,7 +266,7 @@
TEST_F(ResolverTypeValidationTest, ArraySize_FloatLiteral) {
// var<private> a : array<f32, 10.0>;
- Global("a", ty.array(ty.f32(), Expr(Source{{12, 34}}, 10.f)), ast::StorageClass::kPrivate);
+ Global("a", ty.array(ty.f32(), Expr(Source{{12, 34}}, 10_f)), ast::StorageClass::kPrivate);
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: array size must be integer scalar");
}
@@ -282,7 +282,7 @@
TEST_F(ResolverTypeValidationTest, ArraySize_FloatConstant) {
// let size = 10.0;
// var<private> a : array<f32, size>;
- GlobalConst("size", nullptr, Expr(10.f));
+ GlobalConst("size", nullptr, Expr(10_f));
Global("a", ty.array(ty.f32(), Expr(Source{{12, 34}}, "size")), ast::StorageClass::kPrivate);
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: array size must be integer scalar");
diff --git a/src/tint/resolver/validation_test.cc b/src/tint/resolver/validation_test.cc
index 65d73c4..9270065 100644
--- a/src/tint/resolver/validation_test.cc
+++ b/src/tint/resolver/validation_test.cc
@@ -116,7 +116,7 @@
TEST_F(ResolverValidationTest, Stmt_If_NonBool) {
// if (1.23f) {}
- WrapInFunction(If(Expr(Source{{12, 34}}, 1.23f), Block()));
+ WrapInFunction(If(Expr(Source{{12, 34}}, 1.23_f), Block()));
EXPECT_FALSE(r()->Resolve());
@@ -126,7 +126,7 @@
TEST_F(ResolverValidationTest, Stmt_ElseIf_NonBool) {
// else if (1.23f) {}
- WrapInFunction(If(Expr(true), Block(), Else(If(Expr(Source{{12, 34}}, 1.23f), Block()))));
+ WrapInFunction(If(Expr(true), Block(), Else(If(Expr(Source{{12, 34}}, 1.23_f), Block()))));
EXPECT_FALSE(r()->Resolve());
@@ -213,11 +213,11 @@
// return;
// }
- Global("global_var", ty.f32(), ast::StorageClass::kPrivate, Expr(2.1f));
+ Global("global_var", ty.f32(), ast::StorageClass::kPrivate, Expr(2.1_f));
Func("my_func", ast::VariableList{}, ty.void_(),
{
- Assign(Expr(Source{{12, 34}}, "global_var"), 3.14f),
+ Assign(Expr(Source{{12, 34}}, "global_var"), 3.14_f),
Return(),
});
@@ -229,14 +229,14 @@
// if (true) { var a : f32 = 2.0; }
// a = 3.14;
// }
- auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2.0f));
+ auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2_f));
auto* cond = Expr(true);
auto* body = Block(Decl(var));
SetSource(Source{{12, 34}});
auto* lhs = Expr(Source{{12, 34}}, "a");
- auto* rhs = Expr(3.14f);
+ auto* rhs = Expr(3.14_f);
auto* outer_body = Block(If(cond, body), Assign(lhs, rhs));
@@ -251,10 +251,10 @@
// var a : f32 = 2.0;
// if (true) { a = 3.14; }
// }
- auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2.0f));
+ auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2_f));
auto* lhs = Expr(Source{{12, 34}}, "a");
- auto* rhs = Expr(3.14f);
+ auto* rhs = Expr(3.14_f);
auto* cond = Expr(true);
auto* body = Block(Assign(lhs, rhs));
@@ -271,11 +271,11 @@
// { var a : f32 = 2.0; }
// { a = 3.14; }
// }
- auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2.0f));
+ auto* var = Var("a", ty.f32(), ast::StorageClass::kNone, Expr(2_f));
auto* first_body = Block(Decl(var));
auto* lhs = Expr(Source{{12, 34}}, "a");
- auto* rhs = Expr(3.14f);
+ auto* rhs = Expr(3.14_f);
auto* second_body = Block(Assign(lhs, rhs));
auto* outer_body = Block(first_body, second_body);
@@ -966,7 +966,7 @@
// for (; 1.0f; ) {
// }
- WrapInFunction(For(nullptr, Expr(Source{{12, 34}}, 1.0f), nullptr, Block()));
+ WrapInFunction(For(nullptr, Expr(Source{{12, 34}}, 1_f), nullptr, Block()));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(), "12:34 error: for-loop condition must be bool, got f32");
diff --git a/src/tint/resolver/validator.cc b/src/tint/resolver/validator.cc
index a97c2bd..f9b0ba7 100644
--- a/src/tint/resolver/validator.cc
+++ b/src/tint/resolver/validator.cc
@@ -1517,6 +1517,28 @@
check_arg_is_constexpr(sem::ParameterUsage::kComponent, 0, 3);
}
+bool Validator::RequiredExtensionForBuiltinFunction(const sem::Call* call,
+ const ast::ExtensionSet& extensionSet) const {
+ const auto* builtin = call->Target()->As<sem::Builtin>();
+ if (!builtin) {
+ return true;
+ }
+
+ const auto extension = builtin->RequiredExtension();
+ if (extension == ast::Enable::ExtensionKind::kNotAnExtension) {
+ return true;
+ }
+
+ if (extensionSet.find(extension) == extensionSet.cend()) {
+ AddError("cannot call built-in function '" + std::string(builtin->str()) +
+ "' without extension " + ast::Enable::KindToName(extension),
+ call->Declaration()->source);
+ return false;
+ }
+
+ return true;
+}
+
bool Validator::FunctionCall(const sem::Call* call, sem::Statement* current_statement) const {
auto* decl = call->Declaration();
auto* target = call->Target()->As<sem::Function>();
diff --git a/src/tint/resolver/validator.h b/src/tint/resolver/validator.h
index 9901dc9..21c8e70 100644
--- a/src/tint/resolver/validator.h
+++ b/src/tint/resolver/validator.h
@@ -373,6 +373,13 @@
/// @returns true on success, false otherwise
bool TextureBuiltinFunction(const sem::Call* call) const;
+ /// Validates an optional builtin function and its required extension.
+ /// @param call the builtin call to validate
+ /// @param extensionSet all the extensions declared in current module
+ /// @returns true on success, false otherwise
+ bool RequiredExtensionForBuiltinFunction(const sem::Call* call,
+ const ast::ExtensionSet& extensionSet) const;
+
/// Validates there are no duplicate attributes
/// @param attributes the list of attributes to validate
/// @returns true on success, false otherwise.
diff --git a/src/tint/resolver/var_let_test.cc b/src/tint/resolver/var_let_test.cc
index a59855a..4c62bdd 100644
--- a/src/tint/resolver/var_let_test.cc
+++ b/src/tint/resolver/var_let_test.cc
@@ -99,7 +99,7 @@
auto* i_c = Expr(1_i);
auto* u_c = Expr(1_u);
- auto* f_c = Expr(1.f);
+ auto* f_c = Expr(1_f);
auto* b_c = Expr(true);
auto* s_c = Construct(ty.Of(S), Expr(1_i));
auto* a_c = Construct(ty.Of(A), Expr(1_i));
@@ -165,7 +165,7 @@
auto* i_c = Expr(1_i);
auto* u_c = Expr(1_u);
- auto* f_c = Expr(1.f);
+ auto* f_c = Expr(1_f);
auto* b_c = Expr(true);
auto* s_c = Construct(ty.Of(S), Expr(1_i));
auto* a_c = Construct(ty.Of(A), Expr(1_i));
diff --git a/src/tint/resolver/var_let_validation_test.cc b/src/tint/resolver/var_let_validation_test.cc
index ff63918..e1dc343 100644
--- a/src/tint/resolver/var_let_validation_test.cc
+++ b/src/tint/resolver/var_let_validation_test.cc
@@ -127,7 +127,7 @@
// let b : ptr<function,f32> = a;
const auto priv = ast::StorageClass::kFunction;
auto* var_a = Var("a", ty.f32(), priv);
- auto* var_b = Let(Source{{12, 34}}, "b", ty.pointer<float>(priv), Expr("a"), {});
+ auto* var_b = Let(Source{{12, 34}}, "b", ty.pointer<f32>(priv), Expr("a"), {});
WrapInFunction(var_a, var_b);
ASSERT_FALSE(r()->Resolve());
@@ -140,7 +140,7 @@
TEST_F(ResolverVarLetValidationTest, LocalLetRedeclared) {
// let l : f32 = 1.;
// let l : i32 = 0;
- auto* l1 = Let("l", ty.f32(), Expr(1.f));
+ auto* l1 = Let("l", ty.f32(), Expr(1_f));
auto* l2 = Let(Source{{12, 34}}, "l", ty.i32(), Expr(0_i));
WrapInFunction(l1, l2);
@@ -156,9 +156,9 @@
// return 0;
// }
- Global("v", ty.f32(), ast::StorageClass::kPrivate, Expr(2.1f));
+ Global("v", ty.f32(), ast::StorageClass::kPrivate, Expr(2.1_f));
- WrapInFunction(Var(Source{{12, 34}}, "v", ty.f32(), ast::StorageClass::kNone, Expr(2.0f)));
+ WrapInFunction(Var(Source{{12, 34}}, "v", ty.f32(), ast::StorageClass::kNone, Expr(2_f)));
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
@@ -183,9 +183,9 @@
// var v : f32 = 3.14;
// if (true) { var v : f32 = 2.0; }
// }
- auto* var_a_float = Var("v", ty.f32(), ast::StorageClass::kNone, Expr(3.1f));
+ auto* var_a_float = Var("v", ty.f32(), ast::StorageClass::kNone, Expr(3.1_f));
- auto* var = Var(Source{{12, 34}}, "v", ty.f32(), ast::StorageClass::kNone, Expr(2.0f));
+ auto* var = Var(Source{{12, 34}}, "v", ty.f32(), ast::StorageClass::kNone, Expr(2_f));
auto* cond = Expr(true);
auto* body = Block(Decl(var));
@@ -274,7 +274,7 @@
TEST_F(ResolverVarLetValidationTest, InvalidStorageClassForInitializer) {
// var<workgroup> v : f32 = 1.23;
- Global(Source{{12, 34}}, "v", ty.f32(), ast::StorageClass::kWorkgroup, Expr(1.23f));
+ Global(Source{{12, 34}}, "v", ty.f32(), ast::StorageClass::kWorkgroup, Expr(1.23_f));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
diff --git a/src/tint/sem/builtin.cc b/src/tint/sem/builtin.cc
index 66b5b27..0328a64 100644
--- a/src/tint/sem/builtin.cc
+++ b/src/tint/sem/builtin.cc
@@ -145,6 +145,16 @@
return false;
}
+ast::Enable::ExtensionKind Builtin::RequiredExtension() const {
+ switch (type_) {
+ case sem::BuiltinType::kDot4I8Packed:
+ case sem::BuiltinType::kDot4U8Packed:
+ return ast::Enable::ExtensionKind::kChromiumExperimentalDP4a;
+ default:
+ return ast::Enable::ExtensionKind::kNotAnExtension;
+ }
+}
+
} // namespace tint::sem
//! @endcond
diff --git a/src/tint/sem/builtin.h b/src/tint/sem/builtin.h
index d742f95..8d3e2bd 100644
--- a/src/tint/sem/builtin.h
+++ b/src/tint/sem/builtin.h
@@ -134,6 +134,10 @@
/// one of its inputs)
bool HasSideEffects() const;
+ /// @returns the required extension of this builtin function. Returns
+ /// ast::Enable::ExtensionKind::kNotAnExtension if no extension is required.
+ ast::Enable::ExtensionKind RequiredExtension() const;
+
private:
const BuiltinType type_;
const PipelineStageSet supported_stages_;
diff --git a/src/tint/sem/builtin_test.cc b/src/tint/sem/builtin_test.cc
index f3cbae3..cf14565 100644
--- a/src/tint/sem/builtin_test.cc
+++ b/src/tint/sem/builtin_test.cc
@@ -56,6 +56,8 @@
BuiltinData{"determinant", BuiltinType::kDeterminant},
BuiltinData{"distance", BuiltinType::kDistance},
BuiltinData{"dot", BuiltinType::kDot},
+ BuiltinData{"dot4I8Packed", BuiltinType::kDot4I8Packed},
+ BuiltinData{"dot4U8Packed", BuiltinType::kDot4U8Packed},
BuiltinData{"dpdx", BuiltinType::kDpdx},
BuiltinData{"dpdxCoarse", BuiltinType::kDpdxCoarse},
BuiltinData{"dpdxFine", BuiltinType::kDpdxFine},
diff --git a/src/tint/sem/builtin_type.cc b/src/tint/sem/builtin_type.cc
index 49ee000..8707369 100644
--- a/src/tint/sem/builtin_type.cc
+++ b/src/tint/sem/builtin_type.cc
@@ -89,6 +89,12 @@
if (name == "dot") {
return BuiltinType::kDot;
}
+ if (name == "dot4I8Packed") {
+ return BuiltinType::kDot4I8Packed;
+ }
+ if (name == "dot4U8Packed") {
+ return BuiltinType::kDot4U8Packed;
+ }
if (name == "dpdx") {
return BuiltinType::kDpdx;
}
@@ -391,6 +397,10 @@
return "distance";
case BuiltinType::kDot:
return "dot";
+ case BuiltinType::kDot4I8Packed:
+ return "dot4I8Packed";
+ case BuiltinType::kDot4U8Packed:
+ return "dot4U8Packed";
case BuiltinType::kDpdx:
return "dpdx";
case BuiltinType::kDpdxCoarse:
diff --git a/src/tint/sem/builtin_type.h b/src/tint/sem/builtin_type.h
index 780f9c5..96d3c30 100644
--- a/src/tint/sem/builtin_type.h
+++ b/src/tint/sem/builtin_type.h
@@ -53,6 +53,8 @@
kDeterminant,
kDistance,
kDot,
+ kDot4I8Packed,
+ kDot4U8Packed,
kDpdx,
kDpdxCoarse,
kDpdxFine,
diff --git a/src/tint/transform/canonicalize_entry_point_io.cc b/src/tint/transform/canonicalize_entry_point_io.cc
index aeafa1b..44d577b 100644
--- a/src/tint/transform/canonicalize_entry_point_io.cc
+++ b/src/tint/transform/canonicalize_entry_point_io.cc
@@ -374,7 +374,7 @@
void AddVertexPointSize() {
// Create a new output value and assign it a literal 1.0 value.
AddOutput("vertex_point_size", ctx.dst->create<sem::F32>(),
- {ctx.dst->Builtin(ast::Builtin::kPointSize)}, ctx.dst->Expr(1.f));
+ {ctx.dst->Builtin(ast::Builtin::kPointSize)}, ctx.dst->Expr(1_f));
}
/// Create an expression for gl_Position.[component]
@@ -580,7 +580,7 @@
ctx.dst->create<ast::UnaryOpExpression>(ast::UnaryOp::kNegation, GLPosition("y"));
wrapper_body.push_back(ctx.dst->Assign(pos_y, negate_pos_y));
- auto* two_z = ctx.dst->Mul(ctx.dst->Expr(2.0f), GLPosition("z"));
+ auto* two_z = ctx.dst->Mul(ctx.dst->Expr(2_f), GLPosition("z"));
auto* fixed_z = ctx.dst->Sub(two_z, GLPosition("w"));
wrapper_body.push_back(ctx.dst->Assign(GLPosition("z"), fixed_z));
}
diff --git a/src/tint/transform/decompose_strided_array_test.cc b/src/tint/transform/decompose_strided_array_test.cc
index cd9d63c..53b335e 100644
--- a/src/tint/transform/decompose_strided_array_test.cc
+++ b/src/tint/transform/decompose_strided_array_test.cc
@@ -350,8 +350,8 @@
{
b.Assign(b.MemberAccessor("s", "a"), b.Construct(b.ty.array<f32, 4u>(32))),
b.Assign(b.MemberAccessor("s", "a"),
- b.Construct(b.ty.array<f32, 4u>(32), 1.0f, 2.0f, 3.0f, 4.0f)),
- b.Assign(b.IndexAccessor(b.MemberAccessor("s", "a"), 1_i), 5.0f),
+ b.Construct(b.ty.array<f32, 4u>(32), 1_f, 2_f, 3_f, 4_f)),
+ b.Assign(b.IndexAccessor(b.MemberAccessor("s", "a"), 1_i), 5_f),
},
{
b.Stage(ast::PipelineStage::kCompute),
@@ -404,8 +404,8 @@
{
b.Assign(b.MemberAccessor("s", "a"), b.Construct(b.ty.array<f32, 4u>(4))),
b.Assign(b.MemberAccessor("s", "a"),
- b.Construct(b.ty.array<f32, 4u>(4), 1.0f, 2.0f, 3.0f, 4.0f)),
- b.Assign(b.IndexAccessor(b.MemberAccessor("s", "a"), 1_i), 5.0f),
+ b.Construct(b.ty.array<f32, 4u>(4), 1_f, 2_f, 3_f, 4_f)),
+ b.Assign(b.IndexAccessor(b.MemberAccessor("s", "a"), 1_i), 5_f),
},
{
b.Stage(ast::PipelineStage::kCompute),
@@ -458,8 +458,8 @@
b.Decl(b.Let("b", nullptr, b.AddressOf(b.Deref(b.AddressOf(b.Deref("a")))))),
b.Decl(b.Let("c", nullptr, b.Deref("b"))),
b.Decl(b.Let("d", nullptr, b.IndexAccessor(b.Deref("b"), 1_i))),
- b.Assign(b.Deref("b"), b.Construct(b.ty.array<f32, 4u>(32), 1.0f, 2.0f, 3.0f, 4.0f)),
- b.Assign(b.IndexAccessor(b.Deref("b"), 1_i), 5.0f),
+ b.Assign(b.Deref("b"), b.Construct(b.ty.array<f32, 4u>(32), 1_f, 2_f, 3_f, 4_f)),
+ b.Assign(b.IndexAccessor(b.Deref("b"), 1_i), 5_f),
},
{
b.Stage(ast::PipelineStage::kCompute),
@@ -519,8 +519,8 @@
b.Decl(b.Let("b", b.ty.f32(), b.IndexAccessor(b.MemberAccessor("s", "a"), 1_i))),
b.Assign(b.MemberAccessor("s", "a"), b.Construct(b.ty.type_name("ARR"))),
b.Assign(b.MemberAccessor("s", "a"),
- b.Construct(b.ty.type_name("ARR"), 1.0f, 2.0f, 3.0f, 4.0f)),
- b.Assign(b.IndexAccessor(b.MemberAccessor("s", "a"), 1_i), 5.0f),
+ b.Construct(b.ty.type_name("ARR"), 1_f, 2_f, 3_f, 4_f)),
+ b.Assign(b.IndexAccessor(b.MemberAccessor("s", "a"), 1_i), 5_f),
},
{
b.Stage(ast::PipelineStage::kCompute),
@@ -612,7 +612,7 @@
3_i),
2_i),
1_i),
- 5.0f),
+ 5_f),
},
{
b.Stage(ast::PipelineStage::kCompute),
diff --git a/src/tint/transform/decompose_strided_matrix_test.cc b/src/tint/transform/decompose_strided_matrix_test.cc
index 23b30d5..803ae73 100644
--- a/src/tint/transform/decompose_strided_matrix_test.cc
+++ b/src/tint/transform/decompose_strided_matrix_test.cc
@@ -354,7 +354,7 @@
b.Func("f", {}, b.ty.void_(),
{
b.Assign(b.MemberAccessor("s", "m"),
- b.mat2x2<f32>(b.vec2<f32>(1.0f, 2.0f), b.vec2<f32>(3.0f, 4.0f))),
+ b.mat2x2<f32>(b.vec2<f32>(1_f, 2_f), b.vec2<f32>(3_f, 4_f))),
},
{
b.Stage(ast::PipelineStage::kCompute),
@@ -411,7 +411,7 @@
b.GroupAndBinding(0, 0));
b.Func("f", {}, b.ty.void_(),
{
- b.Assign(b.IndexAccessor(b.MemberAccessor("s", "m"), 1_i), b.vec2<f32>(1.0f, 2.0f)),
+ b.Assign(b.IndexAccessor(b.MemberAccessor("s", "m"), 1_i), b.vec2<f32>(1_f, 2_f)),
},
{
b.Stage(ast::PipelineStage::kCompute),
@@ -468,21 +468,20 @@
});
b.Global("s", b.ty.Of(S), ast::StorageClass::kStorage, ast::Access::kReadWrite,
b.GroupAndBinding(0, 0));
- b.Func(
- "f", {}, b.ty.void_(),
- {
- b.Decl(b.Let("a", nullptr, b.AddressOf(b.MemberAccessor("s", "m")))),
- b.Decl(b.Let("b", nullptr, b.AddressOf(b.Deref(b.AddressOf(b.Deref("a")))))),
- b.Decl(b.Let("x", nullptr, b.Deref("b"))),
- b.Decl(b.Let("y", nullptr, b.IndexAccessor(b.Deref("b"), 1_i))),
- b.Decl(b.Let("z", nullptr, b.IndexAccessor("x", 1_i))),
- b.Assign(b.Deref("b"), b.mat2x2<f32>(b.vec2<f32>(1.0f, 2.0f), b.vec2<f32>(3.0f, 4.0f))),
- b.Assign(b.IndexAccessor(b.Deref("b"), 1_i), b.vec2<f32>(5.0f, 6.0f)),
- },
- {
- b.Stage(ast::PipelineStage::kCompute),
- b.WorkgroupSize(1_i),
- });
+ b.Func("f", {}, b.ty.void_(),
+ {
+ b.Decl(b.Let("a", nullptr, b.AddressOf(b.MemberAccessor("s", "m")))),
+ b.Decl(b.Let("b", nullptr, b.AddressOf(b.Deref(b.AddressOf(b.Deref("a")))))),
+ b.Decl(b.Let("x", nullptr, b.Deref("b"))),
+ b.Decl(b.Let("y", nullptr, b.IndexAccessor(b.Deref("b"), 1_i))),
+ b.Decl(b.Let("z", nullptr, b.IndexAccessor("x", 1_i))),
+ b.Assign(b.Deref("b"), b.mat2x2<f32>(b.vec2<f32>(1_f, 2_f), b.vec2<f32>(3_f, 4_f))),
+ b.Assign(b.IndexAccessor(b.Deref("b"), 1_i), b.vec2<f32>(5_f, 6_f)),
+ },
+ {
+ b.Stage(ast::PipelineStage::kCompute),
+ b.WorkgroupSize(1_i),
+ });
auto* expect = R"(
struct S {
@@ -595,7 +594,7 @@
b.Func("f", {}, b.ty.void_(),
{
b.Assign(b.MemberAccessor("s", "m"),
- b.mat2x2<f32>(b.vec2<f32>(1.0f, 2.0f), b.vec2<f32>(3.0f, 4.0f))),
+ b.mat2x2<f32>(b.vec2<f32>(1_f, 2_f), b.vec2<f32>(3_f, 4_f))),
},
{
b.Stage(ast::PipelineStage::kCompute),
diff --git a/src/tint/transform/multiplanar_external_texture.cc b/src/tint/transform/multiplanar_external_texture.cc
index 47cc9ce..0bc507e 100644
--- a/src/tint/transform/multiplanar_external_texture.cc
+++ b/src/tint/transform/multiplanar_external_texture.cc
@@ -304,11 +304,11 @@
const ast::CallExpression* plane_1_call = nullptr;
if (call_type == sem::BuiltinType::kTextureSampleLevel) {
// textureSampleLevel(plane0, smp, coord.xy, 0.0);
- single_plane_call = b.Call("textureSampleLevel", "plane0", "smp", "coord", 0.0f);
+ single_plane_call = b.Call("textureSampleLevel", "plane0", "smp", "coord", 0_f);
// textureSampleLevel(plane0, smp, coord.xy, 0.0);
- plane_0_call = b.Call("textureSampleLevel", "plane0", "smp", "coord", 0.0f);
+ plane_0_call = b.Call("textureSampleLevel", "plane0", "smp", "coord", 0_f);
// textureSampleLevel(plane1, smp, coord.xy, 0.0);
- plane_1_call = b.Call("textureSampleLevel", "plane1", "smp", "coord", 0.0f);
+ plane_1_call = b.Call("textureSampleLevel", "plane1", "smp", "coord", 0_f);
} else if (call_type == sem::BuiltinType::kTextureLoad) {
// textureLoad(plane0, coords.xy, 0);
single_plane_call = b.Call("textureLoad", "plane0", "coord", 0_i);
@@ -334,7 +334,7 @@
// params.yuvToRgbConversionMatrix;
b.Assign("color",
b.Mul(b.vec4<f32>(b.MemberAccessor(plane_0_call, "r"),
- b.MemberAccessor(plane_1_call, "rg"), 1.0f),
+ b.MemberAccessor(plane_1_call, "rg"), 1_f),
b.MemberAccessor("params", "yuvToRgbConversionMatrix")))))),
// color = gammaConversion(color, gammaDecodeParams);
b.Assign("color", b.Call("gammaCorrection", "color",
@@ -344,8 +344,8 @@
// color = gammaConversion(color, gammaEncodeParams);
b.Assign("color", b.Call("gammaCorrection", "color",
b.MemberAccessor("params", "gammaEncodeParams"))),
- // return vec4<f32>(color, 1.0f);
- b.Return(b.vec4<f32>("color", 1.0f))};
+ // return vec4<f32>(color, 1.f);
+ b.Return(b.vec4<f32>("color", 1_f))};
}
/// Creates the textureSampleExternal function if needed and returns a call
diff --git a/src/tint/transform/vertex_pulling.cc b/src/tint/transform/vertex_pulling.cc
index 6d315f5..e297c90 100644
--- a/src/tint/transform/vertex_pulling.cc
+++ b/src/tint/transform/vertex_pulling.cc
@@ -361,19 +361,19 @@
case BaseType::kI32:
ty = ctx.dst->ty.i32();
for (uint32_t i = fmt_dt.width; i < var_dt.width; i++) {
- values.emplace_back(ctx.dst->Expr(i32((i == 3) ? 1 : 0)));
+ values.emplace_back(ctx.dst->Expr((i == 3) ? 1_i : 0_i));
}
break;
case BaseType::kU32:
ty = ctx.dst->ty.u32();
for (uint32_t i = fmt_dt.width; i < var_dt.width; i++) {
- values.emplace_back(ctx.dst->Expr(u32((i == 3) ? 1u : 0u)));
+ values.emplace_back(ctx.dst->Expr((i == 3) ? 1_u : 0_u));
}
break;
case BaseType::kF32:
ty = ctx.dst->ty.f32();
for (uint32_t i = fmt_dt.width; i < var_dt.width; i++) {
- values.emplace_back(ctx.dst->Expr((i == 3) ? 1.f : 0.f));
+ values.emplace_back(ctx.dst->Expr((i == 3) ? 1_f : 0_f));
}
break;
default:
diff --git a/src/tint/writer/append_vector.cc b/src/tint/writer/append_vector.cc
index d3d11c1..bc89d1f 100644
--- a/src/tint/writer/append_vector.cc
+++ b/src/tint/writer/append_vector.cc
@@ -51,7 +51,7 @@
} else if (ty->Is<sem::U32>()) {
expr = b.Expr(0_u);
} else if (ty->Is<sem::F32>()) {
- expr = b.Expr(0.0f);
+ expr = b.Expr(0_f);
} else if (ty->Is<sem::Bool>()) {
expr = b.Expr(false);
} else {
diff --git a/src/tint/writer/append_vector_test.cc b/src/tint/writer/append_vector_test.cc
index 5a9551e..46a135f 100644
--- a/src/tint/writer/append_vector_test.cc
+++ b/src/tint/writer/append_vector_test.cc
@@ -164,7 +164,7 @@
TEST_F(AppendVectorTest, Vec2i32_f32) {
auto* scalar_1 = Expr(1_i);
auto* scalar_2 = Expr(2_i);
- auto* scalar_3 = Expr(3.0f);
+ auto* scalar_3 = Expr(3_f);
auto* vec_12 = vec2<i32>(scalar_1, scalar_2);
WrapInFunction(vec_12, scalar_3);
diff --git a/src/tint/writer/glsl/generator_impl.cc b/src/tint/writer/glsl/generator_impl.cc
index 29451e7..f52862b 100644
--- a/src/tint/writer/glsl/generator_impl.cc
+++ b/src/tint/writer/glsl/generator_impl.cc
@@ -72,6 +72,8 @@
#include "src/tint/writer/float_to_string.h"
#include "src/tint/writer/generate_external_texture_bindings.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace {
bool IsRelational(tint::ast::BinaryOp op) {
@@ -1296,7 +1298,7 @@
}
const ast::Expression* GeneratorImpl::CreateF32Zero(const sem::Statement* stmt) {
- auto* zero = builder_.Expr(0.0f);
+ auto* zero = builder_.Expr(0_f);
auto* f32 = builder_.create<sem::F32>();
auto* sem_zero = builder_.create<sem::Expression>(zero, f32, stmt, sem::Constant{},
/* has_side_effects */ false);
@@ -2177,7 +2179,7 @@
} else if (std::isnan(l->value)) {
out << "uintBitsToFloat(0x7fc00000u)";
} else {
- out << FloatToString(l->value) << "f";
+ out << FloatToString(static_cast<float>(l->value)) << "f";
}
return true;
},
diff --git a/src/tint/writer/glsl/generator_impl_binary_test.cc b/src/tint/writer/glsl/generator_impl_binary_test.cc
index 970a2b3..07456d9 100644
--- a/src/tint/writer/glsl/generator_impl_binary_test.cc
+++ b/src/tint/writer/glsl/generator_impl_binary_test.cc
@@ -123,8 +123,8 @@
BinaryData{"(left % right)", ast::BinaryOp::kModulo}));
TEST_F(GlslGeneratorImplTest_Binary, Multiply_VectorScalar) {
- auto* lhs = vec3<f32>(1.f, 1.f, 1.f);
- auto* rhs = Expr(1.f);
+ auto* lhs = vec3<f32>(1_f, 1_f, 1_f);
+ auto* rhs = Expr(1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
@@ -140,8 +140,8 @@
}
TEST_F(GlslGeneratorImplTest_Binary, Multiply_ScalarVector) {
- auto* lhs = Expr(1.f);
- auto* rhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* lhs = Expr(1_f);
+ auto* rhs = vec3<f32>(1_f, 1_f, 1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
@@ -159,7 +159,7 @@
TEST_F(GlslGeneratorImplTest_Binary, Multiply_MatrixScalar) {
Global("mat", ty.mat3x3<f32>(), ast::StorageClass::kPrivate);
auto* lhs = Expr("mat");
- auto* rhs = Expr(1.f);
+ auto* rhs = Expr(1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
WrapInFunction(expr);
@@ -173,7 +173,7 @@
TEST_F(GlslGeneratorImplTest_Binary, Multiply_ScalarMatrix) {
Global("mat", ty.mat3x3<f32>(), ast::StorageClass::kPrivate);
- auto* lhs = Expr(1.f);
+ auto* lhs = Expr(1_f);
auto* rhs = Expr("mat");
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
@@ -189,7 +189,7 @@
TEST_F(GlslGeneratorImplTest_Binary, Multiply_MatrixVector) {
Global("mat", ty.mat3x3<f32>(), ast::StorageClass::kPrivate);
auto* lhs = Expr("mat");
- auto* rhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* rhs = vec3<f32>(1_f, 1_f, 1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
WrapInFunction(expr);
@@ -203,7 +203,7 @@
TEST_F(GlslGeneratorImplTest_Binary, Multiply_VectorMatrix) {
Global("mat", ty.mat3x3<f32>(), ast::StorageClass::kPrivate);
- auto* lhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* lhs = vec3<f32>(1_f, 1_f, 1_f);
auto* rhs = Expr("mat");
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
diff --git a/src/tint/writer/glsl/generator_impl_builtin_test.cc b/src/tint/writer/glsl/generator_impl_builtin_test.cc
index 311abd9..1d80e6a 100644
--- a/src/tint/writer/glsl/generator_impl_builtin_test.cc
+++ b/src/tint/writer/glsl/generator_impl_builtin_test.cc
@@ -258,7 +258,7 @@
}
TEST_F(GlslGeneratorImplTest_Builtin, Select_Scalar) {
- auto* call = Call("select", 1.0f, 2.0f, true);
+ auto* call = Call("select", 1_f, 2_f, true);
WrapInFunction(CallStmt(call));
GeneratorImpl& gen = Build();
@@ -280,7 +280,7 @@
}
TEST_F(GlslGeneratorImplTest_Builtin, Modf_Scalar) {
- auto* call = Call("modf", 1.0f);
+ auto* call = Call("modf", 1_f);
WrapInFunction(CallStmt(call));
GeneratorImpl& gen = SanitizeAndBuild();
@@ -346,7 +346,7 @@
}
TEST_F(GlslGeneratorImplTest_Builtin, Frexp_Scalar_i32) {
- auto* call = Call("frexp", 1.0f);
+ auto* call = Call("frexp", 1_f);
WrapInFunction(CallStmt(call));
GeneratorImpl& gen = SanitizeAndBuild();
diff --git a/src/tint/writer/glsl/generator_impl_call_test.cc b/src/tint/writer/glsl/generator_impl_call_test.cc
index 9b6a1c3..c8a1de2 100644
--- a/src/tint/writer/glsl/generator_impl_call_test.cc
+++ b/src/tint/writer/glsl/generator_impl_call_test.cc
@@ -15,13 +15,15 @@
#include "src/tint/ast/call_statement.h"
#include "src/tint/writer/glsl/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::glsl {
namespace {
using GlslGeneratorImplTest_Call = TestHelper;
TEST_F(GlslGeneratorImplTest_Call, EmitExpression_Call_WithoutParams) {
- Func("my_func", {}, ty.f32(), {Return(1.23f)});
+ Func("my_func", {}, ty.f32(), {Return(1.23_f)});
auto* call = Call("my_func");
WrapInFunction(call);
@@ -39,7 +41,7 @@
Param(Sym(), ty.f32()),
Param(Sym(), ty.f32()),
},
- ty.f32(), {Return(1.23f)});
+ ty.f32(), {Return(1.23_f)});
Global("param1", ty.f32(), ast::StorageClass::kPrivate);
Global("param2", ty.f32(), ast::StorageClass::kPrivate);
diff --git a/src/tint/writer/glsl/generator_impl_constructor_test.cc b/src/tint/writer/glsl/generator_impl_constructor_test.cc
index c247bab..4fa3c0a 100644
--- a/src/tint/writer/glsl/generator_impl_constructor_test.cc
+++ b/src/tint/writer/glsl/generator_impl_constructor_test.cc
@@ -34,7 +34,7 @@
}
TEST_F(GlslGeneratorImplTest_Constructor, EmitConstructor_Int) {
- WrapInFunction(Expr(i32(-12345)));
+ WrapInFunction(Expr(-12345_i));
GeneratorImpl& gen = Build();
@@ -62,7 +62,7 @@
}
TEST_F(GlslGeneratorImplTest_Constructor, EmitConstructor_Type_Float) {
- WrapInFunction(Construct<f32>(-1.2e-5f));
+ WrapInFunction(Construct<f32>(-1.2e-5_f));
GeneratorImpl& gen = Build();
@@ -80,7 +80,7 @@
}
TEST_F(GlslGeneratorImplTest_Constructor, EmitConstructor_Type_Int) {
- WrapInFunction(Construct<i32>(i32(-12345)));
+ WrapInFunction(Construct<i32>(-12345_i));
GeneratorImpl& gen = Build();
@@ -98,7 +98,7 @@
}
TEST_F(GlslGeneratorImplTest_Constructor, EmitConstructor_Type_Vec) {
- WrapInFunction(vec3<f32>(1.f, 2.f, 3.f));
+ WrapInFunction(vec3<f32>(1_f, 2_f, 3_f));
GeneratorImpl& gen = Build();
@@ -116,7 +116,7 @@
}
TEST_F(GlslGeneratorImplTest_Constructor, EmitConstructor_Type_Vec_SingleScalar_Float) {
- WrapInFunction(vec3<f32>(2.0f));
+ WrapInFunction(vec3<f32>(2_f));
GeneratorImpl& gen = Build();
@@ -152,7 +152,7 @@
}
TEST_F(GlslGeneratorImplTest_Constructor, EmitConstructor_Type_Mat) {
- WrapInFunction(mat2x3<f32>(vec3<f32>(1.f, 2.f, 3.f), vec3<f32>(3.f, 4.f, 5.f)));
+ WrapInFunction(mat2x3<f32>(vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(3_f, 4_f, 5_f)));
GeneratorImpl& gen = Build();
@@ -172,8 +172,8 @@
}
TEST_F(GlslGeneratorImplTest_Constructor, EmitConstructor_Type_Array) {
- WrapInFunction(Construct(ty.array(ty.vec3<f32>(), 3_u), vec3<f32>(1.f, 2.f, 3.f),
- vec3<f32>(4.f, 5.f, 6.f), vec3<f32>(7.f, 8.f, 9.f)));
+ WrapInFunction(Construct(ty.array(ty.vec3<f32>(), 3_u), vec3<f32>(1_f, 2_f, 3_f),
+ vec3<f32>(4_f, 5_f, 6_f), vec3<f32>(7_f, 8_f, 9_f)));
GeneratorImpl& gen = Build();
@@ -200,7 +200,7 @@
Member("c", ty.vec3<i32>()),
});
- WrapInFunction(Construct(ty.Of(str), 1_i, 2.0f, vec3<i32>(3_i, 4_i, 5_i)));
+ WrapInFunction(Construct(ty.Of(str), 1_i, 2_f, vec3<i32>(3_i, 4_i, 5_i)));
GeneratorImpl& gen = SanitizeAndBuild();
diff --git a/src/tint/writer/glsl/generator_impl_function_test.cc b/src/tint/writer/glsl/generator_impl_function_test.cc
index 8b91cef..f352415 100644
--- a/src/tint/writer/glsl/generator_impl_function_test.cc
+++ b/src/tint/writer/glsl/generator_impl_function_test.cc
@@ -193,8 +193,8 @@
});
Func("vert_main", {}, ty.Of(interface_struct),
- {Return(Construct(ty.Of(interface_struct), Construct(ty.vec4<f32>()), Expr(0.5f),
- Expr(0.25f)))},
+ {Return(Construct(ty.Of(interface_struct), Construct(ty.vec4<f32>()), Expr(0.5_f),
+ Expr(0.25_f)))},
{Stage(ast::PipelineStage::kVertex)});
Func("frag_main", {Param("inputs", ty.Of(interface_struct))}, ty.void_(),
@@ -271,17 +271,17 @@
Func("foo", {Param("x", ty.f32())}, ty.Of(vertex_output_struct),
{Return(Construct(ty.Of(vertex_output_struct),
- Construct(ty.vec4<f32>(), "x", "x", "x", Expr(1.f))))},
+ Construct(ty.vec4<f32>(), "x", "x", "x", Expr(1_f))))},
{});
Func("vert_main1", {}, ty.Of(vertex_output_struct),
{Return(Construct(ty.Of(vertex_output_struct),
- Expr(Call("foo", Expr(0.5f)))))},
+ Expr(Call("foo", Expr(0.5_f)))))},
{Stage(ast::PipelineStage::kVertex)});
Func("vert_main2", {}, ty.Of(vertex_output_struct),
{Return(Construct(ty.Of(vertex_output_struct),
- Expr(Call("foo", Expr(0.25f)))))},
+ Expr(Call("foo", Expr(0.25_f)))))},
{Stage(ast::PipelineStage::kVertex)});
GeneratorImpl& gen = SanitizeAndBuild();
@@ -336,7 +336,7 @@
Return(MemberAccessor(MemberAccessor(ubo, "coord"), "x")),
});
- auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1.0f));
+ auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1_f));
Func("frag_main", {}, ty.void_(),
{
@@ -529,7 +529,7 @@
Func("frag_main", ast::VariableList{}, ty.void_(),
{
- Assign(MemberAccessor("coord", "b"), Expr(2.0f)),
+ Assign(MemberAccessor("coord", "b"), Expr(2_f)),
Return(),
},
{
@@ -577,7 +577,7 @@
Func("frag_main", ast::VariableList{}, ty.void_(),
{
- Assign(MemberAccessor("coord", "b"), Expr(2.0f)),
+ Assign(MemberAccessor("coord", "b"), Expr(2_f)),
Return(),
},
{
@@ -624,7 +624,7 @@
Return(MemberAccessor("coord", "x")),
});
- auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1.0f));
+ auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1_f));
Func("frag_main", ast::VariableList{}, ty.void_(),
{
@@ -673,7 +673,7 @@
Return(MemberAccessor("coord", "x")),
});
- auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1.0f));
+ auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1_f));
Func("frag_main", ast::VariableList{}, ty.void_(),
{
diff --git a/src/tint/writer/glsl/generator_impl_import_test.cc b/src/tint/writer/glsl/generator_impl_import_test.cc
index a4a6440..2843f98 100644
--- a/src/tint/writer/glsl/generator_impl_import_test.cc
+++ b/src/tint/writer/glsl/generator_impl_import_test.cc
@@ -35,7 +35,7 @@
auto param = GetParam();
auto* ident = Expr(param.name);
- auto* expr = Call(ident, 1.f);
+ auto* expr = Call(ident, 1_f);
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -92,7 +92,7 @@
auto param = GetParam();
auto* ident = Expr(param.name);
- auto* expr = Call(ident, vec3<f32>(1.f, 2.f, 3.f));
+ auto* expr = Call(ident, vec3<f32>(1_f, 2_f, 3_f));
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -132,7 +132,7 @@
TEST_P(GlslImportData_DualParam_ScalarTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, 1.f, 2.f);
+ auto* expr = Call(param.name, 1_f, 2_f);
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -154,7 +154,7 @@
TEST_P(GlslImportData_DualParam_VectorTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, vec3<f32>(1.f, 2.f, 3.f), vec3<f32>(4.f, 5.f, 6.f));
+ auto* expr = Call(param.name, vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(4_f, 5_f, 6_f));
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -197,7 +197,7 @@
TEST_P(GlslImportData_TripleParam_ScalarTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, 1.f, 2.f, 3.f);
+ auto* expr = Call(param.name, 1_f, 2_f, 3_f);
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -216,8 +216,8 @@
TEST_P(GlslImportData_TripleParam_VectorTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, vec3<f32>(1.f, 2.f, 3.f), vec3<f32>(4.f, 5.f, 6.f),
- vec3<f32>(7.f, 8.f, 9.f));
+ auto* expr = Call(param.name, vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(4_f, 5_f, 6_f),
+ vec3<f32>(7_f, 8_f, 9_f));
WrapInFunction(expr);
GeneratorImpl& gen = Build();
diff --git a/src/tint/writer/glsl/generator_impl_loop_test.cc b/src/tint/writer/glsl/generator_impl_loop_test.cc
index de29622..5187daf 100644
--- a/src/tint/writer/glsl/generator_impl_loop_test.cc
+++ b/src/tint/writer/glsl/generator_impl_loop_test.cc
@@ -114,8 +114,8 @@
Global("rhs", ty.f32(), ast::StorageClass::kPrivate);
- auto* body = Block(Decl(Var("lhs", ty.f32(), Expr(2.4f))), //
- Decl(Var("other", ty.f32())), //
+ auto* body = Block(Decl(Var("lhs", ty.f32(), Expr(2.4_f))), //
+ Decl(Var("other", ty.f32())), //
Break());
auto* continuing = Block(Assign("lhs", "rhs"));
auto* outer = Loop(body, continuing);
diff --git a/src/tint/writer/glsl/generator_impl_member_accessor_test.cc b/src/tint/writer/glsl/generator_impl_member_accessor_test.cc
index 2fdc833..935df75 100644
--- a/src/tint/writer/glsl/generator_impl_member_accessor_test.cc
+++ b/src/tint/writer/glsl/generator_impl_member_accessor_test.cc
@@ -739,7 +739,7 @@
SetupFunction({
Assign(MemberAccessor(IndexAccessor(MemberAccessor("data", "c"), 2_i), "b"),
- vec3<f32>(1.f, 2.f, 3.f)),
+ vec3<f32>(1_f, 2_f, 3_f)),
});
GeneratorImpl& gen = SanitizeAndBuild();
@@ -797,7 +797,7 @@
SetupFunction({
Assign(MemberAccessor(MemberAccessor(IndexAccessor(MemberAccessor("data", "c"), 2_i), "b"),
"y"),
- Expr(1.f)),
+ Expr(1_f)),
});
GeneratorImpl& gen = SanitizeAndBuild();
@@ -833,7 +833,7 @@
TEST_F(GlslGeneratorImplTest_MemberAccessor, Swizzle_xyz) {
auto* var =
- Var("my_vec", ty.vec4<f32>(), ast::StorageClass::kNone, vec4<f32>(1.f, 2.f, 3.f, 4.f));
+ Var("my_vec", ty.vec4<f32>(), ast::StorageClass::kNone, vec4<f32>(1_f, 2_f, 3_f, 4_f));
auto* expr = MemberAccessor("my_vec", "xyz");
WrapInFunction(var, expr);
@@ -844,7 +844,7 @@
TEST_F(GlslGeneratorImplTest_MemberAccessor, Swizzle_gbr) {
auto* var =
- Var("my_vec", ty.vec4<f32>(), ast::StorageClass::kNone, vec4<f32>(1.f, 2.f, 3.f, 4.f));
+ Var("my_vec", ty.vec4<f32>(), ast::StorageClass::kNone, vec4<f32>(1_f, 2_f, 3_f, 4_f));
auto* expr = MemberAccessor("my_vec", "gbr");
WrapInFunction(var, expr);
diff --git a/src/tint/writer/glsl/generator_impl_module_constant_test.cc b/src/tint/writer/glsl/generator_impl_module_constant_test.cc
index 35e1dd2..223122a 100644
--- a/src/tint/writer/glsl/generator_impl_module_constant_test.cc
+++ b/src/tint/writer/glsl/generator_impl_module_constant_test.cc
@@ -15,13 +15,15 @@
#include "src/tint/ast/id_attribute.h"
#include "src/tint/writer/glsl/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::glsl {
namespace {
using GlslGeneratorImplTest_ModuleConstant = TestHelper;
TEST_F(GlslGeneratorImplTest_ModuleConstant, Emit_ModuleConstant) {
- auto* var = Let("pos", ty.array<f32, 3>(), array<f32, 3>(1.f, 2.f, 3.f));
+ auto* var = Let("pos", ty.array<f32, 3>(), array<f32, 3>(1_f, 2_f, 3_f));
WrapInFunction(Decl(var));
GeneratorImpl& gen = Build();
@@ -31,7 +33,7 @@
}
TEST_F(GlslGeneratorImplTest_ModuleConstant, Emit_SpecConstant) {
- auto* var = Override("pos", ty.f32(), Expr(3.0f),
+ auto* var = Override("pos", ty.f32(), Expr(3_f),
ast::AttributeList{
Id(23),
});
@@ -63,11 +65,11 @@
}
TEST_F(GlslGeneratorImplTest_ModuleConstant, Emit_SpecConstant_NoId) {
- auto* a = Override("a", ty.f32(), Expr(3.0f),
+ auto* a = Override("a", ty.f32(), Expr(3_f),
ast::AttributeList{
Id(0),
});
- auto* b = Override("b", ty.f32(), Expr(2.0f));
+ auto* b = Override("b", ty.f32(), Expr(2_f));
GeneratorImpl& gen = Build();
diff --git a/src/tint/writer/glsl/generator_impl_sanitizer_test.cc b/src/tint/writer/glsl/generator_impl_sanitizer_test.cc
index 874bfd0..6575c56 100644
--- a/src/tint/writer/glsl/generator_impl_sanitizer_test.cc
+++ b/src/tint/writer/glsl/generator_impl_sanitizer_test.cc
@@ -194,7 +194,7 @@
Member("b", ty.vec3<f32>()),
Member("c", ty.i32()),
});
- auto* struct_init = Construct(ty.Of(str), 1_i, vec3<f32>(2.f, 3.f, 4.f), 4_i);
+ auto* struct_init = Construct(ty.Of(str), 1_i, vec3<f32>(2_f, 3_f, 4_f), 4_i);
auto* struct_access = MemberAccessor(struct_init, "b");
auto* pos = Var("pos", ty.vec3<f32>(), ast::StorageClass::kNone, struct_access);
diff --git a/src/tint/writer/glsl/generator_impl_workgroup_var_test.cc b/src/tint/writer/glsl/generator_impl_workgroup_var_test.cc
index a61cb17..faa675d 100644
--- a/src/tint/writer/glsl/generator_impl_workgroup_var_test.cc
+++ b/src/tint/writer/glsl/generator_impl_workgroup_var_test.cc
@@ -29,7 +29,7 @@
TEST_F(GlslGeneratorImplTest_WorkgroupVar, Basic) {
Global("wg", ty.f32(), ast::StorageClass::kWorkgroup);
- Func("main", {}, ty.void_(), {Assign("wg", 1.2f)},
+ Func("main", {}, ty.void_(), {Assign("wg", 1.2_f)},
{
Stage(ast::PipelineStage::kCompute),
WorkgroupSize(1_i),
@@ -45,7 +45,7 @@
Global("wg", ty.Of(alias), ast::StorageClass::kWorkgroup);
- Func("main", {}, ty.void_(), {Assign("wg", 1.2f)},
+ Func("main", {}, ty.void_(), {Assign("wg", 1.2_f)},
{
Stage(ast::PipelineStage::kCompute),
WorkgroupSize(1_i),
diff --git a/src/tint/writer/hlsl/generator_impl.cc b/src/tint/writer/hlsl/generator_impl.cc
index a64630b..7ee5337 100644
--- a/src/tint/writer/hlsl/generator_impl.cc
+++ b/src/tint/writer/hlsl/generator_impl.cc
@@ -3040,7 +3040,7 @@
} else if (std::isnan(fl->value)) {
out << "asfloat(0x7fc00000u)";
} else {
- out << FloatToString(fl->value) << "f";
+ out << FloatToString(static_cast<float>(fl->value)) << "f";
}
return true;
},
diff --git a/src/tint/writer/hlsl/generator_impl_binary_test.cc b/src/tint/writer/hlsl/generator_impl_binary_test.cc
index 4d62885..446a5a8 100644
--- a/src/tint/writer/hlsl/generator_impl_binary_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_binary_test.cc
@@ -141,8 +141,8 @@
BinaryData::Types::Float}));
TEST_F(HlslGeneratorImplTest_Binary, Multiply_VectorScalar) {
- auto* lhs = vec3<f32>(1.f, 1.f, 1.f);
- auto* rhs = Expr(1.f);
+ auto* lhs = vec3<f32>(1_f, 1_f, 1_f);
+ auto* rhs = Expr(1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
@@ -158,8 +158,8 @@
}
TEST_F(HlslGeneratorImplTest_Binary, Multiply_ScalarVector) {
- auto* lhs = Expr(1.f);
- auto* rhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* lhs = Expr(1_f);
+ auto* rhs = vec3<f32>(1_f, 1_f, 1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
@@ -177,7 +177,7 @@
TEST_F(HlslGeneratorImplTest_Binary, Multiply_MatrixScalar) {
Global("mat", ty.mat3x3<f32>(), ast::StorageClass::kPrivate);
auto* lhs = Expr("mat");
- auto* rhs = Expr(1.f);
+ auto* rhs = Expr(1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
WrapInFunction(expr);
@@ -191,7 +191,7 @@
TEST_F(HlslGeneratorImplTest_Binary, Multiply_ScalarMatrix) {
Global("mat", ty.mat3x3<f32>(), ast::StorageClass::kPrivate);
- auto* lhs = Expr(1.f);
+ auto* lhs = Expr(1_f);
auto* rhs = Expr("mat");
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
@@ -207,7 +207,7 @@
TEST_F(HlslGeneratorImplTest_Binary, Multiply_MatrixVector) {
Global("mat", ty.mat3x3<f32>(), ast::StorageClass::kPrivate);
auto* lhs = Expr("mat");
- auto* rhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* rhs = vec3<f32>(1_f, 1_f, 1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
WrapInFunction(expr);
@@ -221,7 +221,7 @@
TEST_F(HlslGeneratorImplTest_Binary, Multiply_VectorMatrix) {
Global("mat", ty.mat3x3<f32>(), ast::StorageClass::kPrivate);
- auto* lhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* lhs = vec3<f32>(1_f, 1_f, 1_f);
auto* rhs = Expr("mat");
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
diff --git a/src/tint/writer/hlsl/generator_impl_builtin_test.cc b/src/tint/writer/hlsl/generator_impl_builtin_test.cc
index ada17f1..e4e6ba9 100644
--- a/src/tint/writer/hlsl/generator_impl_builtin_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_builtin_test.cc
@@ -257,7 +257,7 @@
}
TEST_F(HlslGeneratorImplTest_Builtin, Select_Scalar) {
- auto* call = Call("select", 1.0f, 2.0f, true);
+ auto* call = Call("select", 1_f, 2_f, true);
WrapInFunction(CallStmt(call));
GeneratorImpl& gen = Build();
@@ -279,7 +279,7 @@
}
TEST_F(HlslGeneratorImplTest_Builtin, Modf_Scalar) {
- auto* call = Call("modf", 1.0f);
+ auto* call = Call("modf", 1_f);
WrapInFunction(CallStmt(call));
GeneratorImpl& gen = SanitizeAndBuild();
@@ -331,7 +331,7 @@
}
TEST_F(HlslGeneratorImplTest_Builtin, Frexp_Scalar_i32) {
- auto* call = Call("frexp", 1.0f);
+ auto* call = Call("frexp", 1_f);
WrapInFunction(CallStmt(call));
GeneratorImpl& gen = SanitizeAndBuild();
diff --git a/src/tint/writer/hlsl/generator_impl_call_test.cc b/src/tint/writer/hlsl/generator_impl_call_test.cc
index e905e88..b72b0eb 100644
--- a/src/tint/writer/hlsl/generator_impl_call_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_call_test.cc
@@ -15,13 +15,15 @@
#include "src/tint/ast/call_statement.h"
#include "src/tint/writer/hlsl/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::hlsl {
namespace {
using HlslGeneratorImplTest_Call = TestHelper;
TEST_F(HlslGeneratorImplTest_Call, EmitExpression_Call_WithoutParams) {
- Func("my_func", {}, ty.f32(), {Return(1.23f)});
+ Func("my_func", {}, ty.f32(), {Return(1.23_f)});
auto* call = Call("my_func");
WrapInFunction(call);
@@ -39,7 +41,7 @@
Param(Sym(), ty.f32()),
Param(Sym(), ty.f32()),
},
- ty.f32(), {Return(1.23f)});
+ ty.f32(), {Return(1.23_f)});
Global("param1", ty.f32(), ast::StorageClass::kPrivate);
Global("param2", ty.f32(), ast::StorageClass::kPrivate);
diff --git a/src/tint/writer/hlsl/generator_impl_constructor_test.cc b/src/tint/writer/hlsl/generator_impl_constructor_test.cc
index 5916b0a..b44dc69 100644
--- a/src/tint/writer/hlsl/generator_impl_constructor_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_constructor_test.cc
@@ -34,7 +34,7 @@
}
TEST_F(HlslGeneratorImplTest_Constructor, EmitConstructor_Int) {
- WrapInFunction(Expr(i32(-12345)));
+ WrapInFunction(Expr(-12345_i));
GeneratorImpl& gen = Build();
@@ -62,7 +62,7 @@
}
TEST_F(HlslGeneratorImplTest_Constructor, EmitConstructor_Type_Float) {
- WrapInFunction(Construct<f32>(-1.2e-5f));
+ WrapInFunction(Construct<f32>(-1.2e-5_f));
GeneratorImpl& gen = Build();
@@ -80,7 +80,7 @@
}
TEST_F(HlslGeneratorImplTest_Constructor, EmitConstructor_Type_Int) {
- WrapInFunction(Construct<i32>(i32(-12345)));
+ WrapInFunction(Construct<i32>(-12345_i));
GeneratorImpl& gen = Build();
@@ -98,7 +98,7 @@
}
TEST_F(HlslGeneratorImplTest_Constructor, EmitConstructor_Type_Vec) {
- WrapInFunction(vec3<f32>(1.f, 2.f, 3.f));
+ WrapInFunction(vec3<f32>(1_f, 2_f, 3_f));
GeneratorImpl& gen = Build();
@@ -116,7 +116,7 @@
}
TEST_F(HlslGeneratorImplTest_Constructor, EmitConstructor_Type_Vec_SingleScalar_Float_Literal) {
- WrapInFunction(vec3<f32>(2.0f));
+ WrapInFunction(vec3<f32>(2_f));
GeneratorImpl& gen = Build();
@@ -125,7 +125,7 @@
}
TEST_F(HlslGeneratorImplTest_Constructor, EmitConstructor_Type_Vec_SingleScalar_Float_Var) {
- auto* var = Var("v", nullptr, Expr(2.0f));
+ auto* var = Var("v", nullptr, Expr(2_f));
auto* cast = vec3<f32>(var);
WrapInFunction(var, cast);
@@ -176,7 +176,7 @@
}
TEST_F(HlslGeneratorImplTest_Constructor, EmitConstructor_Type_Mat) {
- WrapInFunction(mat2x3<f32>(vec3<f32>(1.f, 2.f, 3.f), vec3<f32>(3.f, 4.f, 5.f)));
+ WrapInFunction(mat2x3<f32>(vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(3_f, 4_f, 5_f)));
GeneratorImpl& gen = Build();
@@ -197,8 +197,8 @@
}
TEST_F(HlslGeneratorImplTest_Constructor, EmitConstructor_Type_Array) {
- WrapInFunction(Construct(ty.array(ty.vec3<f32>(), 3_u), vec3<f32>(1.f, 2.f, 3.f),
- vec3<f32>(4.f, 5.f, 6.f), vec3<f32>(7.f, 8.f, 9.f)));
+ WrapInFunction(Construct(ty.array(ty.vec3<f32>(), 3_u), vec3<f32>(1_f, 2_f, 3_f),
+ vec3<f32>(4_f, 5_f, 6_f), vec3<f32>(7_f, 8_f, 9_f)));
GeneratorImpl& gen = Build();
@@ -223,7 +223,7 @@
Member("c", ty.vec3<i32>()),
});
- WrapInFunction(Construct(ty.Of(str), 1_i, 2.0f, vec3<i32>(3_i, 4_i, 5_i)));
+ WrapInFunction(Construct(ty.Of(str), 1_i, 2_f, vec3<i32>(3_i, 4_i, 5_i)));
GeneratorImpl& gen = SanitizeAndBuild();
diff --git a/src/tint/writer/hlsl/generator_impl_function_test.cc b/src/tint/writer/hlsl/generator_impl_function_test.cc
index 0525fa6..6a1c566 100644
--- a/src/tint/writer/hlsl/generator_impl_function_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_function_test.cc
@@ -192,8 +192,8 @@
});
Func("vert_main", {}, ty.Of(interface_struct),
- {Return(Construct(ty.Of(interface_struct), Construct(ty.vec4<f32>()), Expr(0.5f),
- Expr(0.25f)))},
+ {Return(Construct(ty.Of(interface_struct), Construct(ty.vec4<f32>()), Expr(0.5_f),
+ Expr(0.25_f)))},
{Stage(ast::PipelineStage::kVertex)});
Func("frag_main", {Param("inputs", ty.Of(interface_struct))}, ty.void_(),
@@ -270,13 +270,13 @@
Func("foo", {Param("x", ty.f32())}, ty.Of(vertex_output_struct),
{Return(Construct(ty.Of(vertex_output_struct),
- Construct(ty.vec4<f32>(), "x", "x", "x", Expr(1.f))))},
+ Construct(ty.vec4<f32>(), "x", "x", "x", Expr(1_f))))},
{});
- Func("vert_main1", {}, ty.Of(vertex_output_struct), {Return(Call("foo", Expr(0.5f)))},
+ Func("vert_main1", {}, ty.Of(vertex_output_struct), {Return(Call("foo", Expr(0.5_f)))},
{Stage(ast::PipelineStage::kVertex)});
- Func("vert_main2", {}, ty.Of(vertex_output_struct), {Return(Call("foo", Expr(0.25f)))},
+ Func("vert_main2", {}, ty.Of(vertex_output_struct), {Return(Call("foo", Expr(0.25_f)))},
{Stage(ast::PipelineStage::kVertex)});
GeneratorImpl& gen = SanitizeAndBuild();
@@ -340,7 +340,7 @@
Return(MemberAccessor(MemberAccessor(ubo, "coord"), "x")),
});
- auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1.0f));
+ auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1_f));
Func("frag_main", {}, ty.void_(),
{
@@ -490,7 +490,7 @@
Func("frag_main", ast::VariableList{}, ty.void_(),
{
- Assign(MemberAccessor("coord", "b"), Expr(2.0f)),
+ Assign(MemberAccessor("coord", "b"), Expr(2_f)),
Return(),
},
{
@@ -524,7 +524,7 @@
Func("frag_main", ast::VariableList{}, ty.void_(),
{
- Assign(MemberAccessor("coord", "b"), Expr(2.0f)),
+ Assign(MemberAccessor("coord", "b"), Expr(2_f)),
Return(),
},
{
@@ -557,7 +557,7 @@
Return(MemberAccessor("coord", "x")),
});
- auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1.0f));
+ auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1_f));
Func("frag_main", ast::VariableList{}, ty.void_(),
{
@@ -599,7 +599,7 @@
Return(MemberAccessor("coord", "x")),
});
- auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1.0f));
+ auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1_f));
Func("frag_main", ast::VariableList{}, ty.void_(),
{
diff --git a/src/tint/writer/hlsl/generator_impl_import_test.cc b/src/tint/writer/hlsl/generator_impl_import_test.cc
index 73e3161..f7d544e 100644
--- a/src/tint/writer/hlsl/generator_impl_import_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_import_test.cc
@@ -35,7 +35,7 @@
auto param = GetParam();
auto* ident = Expr(param.name);
- auto* expr = Call(ident, 1.f);
+ auto* expr = Call(ident, 1_f);
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -92,7 +92,7 @@
auto param = GetParam();
auto* ident = Expr(param.name);
- auto* expr = Call(ident, vec3<f32>(1.f, 2.f, 3.f));
+ auto* expr = Call(ident, vec3<f32>(1_f, 2_f, 3_f));
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -132,7 +132,7 @@
TEST_P(HlslImportData_DualParam_ScalarTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, 1.f, 2.f);
+ auto* expr = Call(param.name, 1_f, 2_f);
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -154,7 +154,7 @@
TEST_P(HlslImportData_DualParam_VectorTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, vec3<f32>(1.f, 2.f, 3.f), vec3<f32>(4.f, 5.f, 6.f));
+ auto* expr = Call(param.name, vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(4_f, 5_f, 6_f));
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -197,7 +197,7 @@
TEST_P(HlslImportData_TripleParam_ScalarTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, 1.f, 2.f, 3.f);
+ auto* expr = Call(param.name, 1_f, 2_f, 3_f);
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -217,8 +217,8 @@
TEST_P(HlslImportData_TripleParam_VectorTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, vec3<f32>(1.f, 2.f, 3.f), vec3<f32>(4.f, 5.f, 6.f),
- vec3<f32>(7.f, 8.f, 9.f));
+ auto* expr = Call(param.name, vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(4_f, 5_f, 6_f),
+ vec3<f32>(7_f, 8_f, 9_f));
WrapInFunction(expr);
GeneratorImpl& gen = Build();
diff --git a/src/tint/writer/hlsl/generator_impl_loop_test.cc b/src/tint/writer/hlsl/generator_impl_loop_test.cc
index 0bd1f75..0bf4090 100644
--- a/src/tint/writer/hlsl/generator_impl_loop_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_loop_test.cc
@@ -114,8 +114,8 @@
Global("rhs", ty.f32(), ast::StorageClass::kPrivate);
- auto* body = Block(Decl(Var("lhs", ty.f32(), Expr(2.4f))), //
- Decl(Var("other", ty.f32())), //
+ auto* body = Block(Decl(Var("lhs", ty.f32(), Expr(2.4_f))), //
+ Decl(Var("other", ty.f32())), //
Break());
auto* continuing = Block(Assign("lhs", "rhs"));
diff --git a/src/tint/writer/hlsl/generator_impl_member_accessor_test.cc b/src/tint/writer/hlsl/generator_impl_member_accessor_test.cc
index ad1e973..7f2933a 100644
--- a/src/tint/writer/hlsl/generator_impl_member_accessor_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_member_accessor_test.cc
@@ -644,7 +644,7 @@
// };
//
// var<storage> data : Pre;
- // data.c[2].b = vec3<f32>(1.f, 2.f, 3.f);
+ // data.c[2].b = vec3<f32>(1_f, 2_f, 3_f);
auto* inner = Structure("Inner", {
Member("a", ty.vec3<f32>()),
@@ -657,7 +657,7 @@
SetupFunction({
Assign(MemberAccessor(IndexAccessor(MemberAccessor("data", "c"), 2_i), "b"),
- vec3<f32>(1.f, 2.f, 3.f)),
+ vec3<f32>(1_f, 2_f, 3_f)),
});
GeneratorImpl& gen = SanitizeAndBuild();
@@ -698,7 +698,7 @@
SetupFunction({
Assign(MemberAccessor(MemberAccessor(IndexAccessor(MemberAccessor("data", "c"), 2_i), "b"),
"y"),
- Expr(1.f)),
+ Expr(1_f)),
});
GeneratorImpl& gen = SanitizeAndBuild();
@@ -717,7 +717,7 @@
TEST_F(HlslGeneratorImplTest_MemberAccessor, Swizzle_xyz) {
auto* var =
- Var("my_vec", ty.vec4<f32>(), ast::StorageClass::kNone, vec4<f32>(1.f, 2.f, 3.f, 4.f));
+ Var("my_vec", ty.vec4<f32>(), ast::StorageClass::kNone, vec4<f32>(1_f, 2_f, 3_f, 4_f));
auto* expr = MemberAccessor("my_vec", "xyz");
WrapInFunction(var, expr);
@@ -728,7 +728,7 @@
TEST_F(HlslGeneratorImplTest_MemberAccessor, Swizzle_gbr) {
auto* var =
- Var("my_vec", ty.vec4<f32>(), ast::StorageClass::kNone, vec4<f32>(1.f, 2.f, 3.f, 4.f));
+ Var("my_vec", ty.vec4<f32>(), ast::StorageClass::kNone, vec4<f32>(1_f, 2_f, 3_f, 4_f));
auto* expr = MemberAccessor("my_vec", "gbr");
WrapInFunction(var, expr);
diff --git a/src/tint/writer/hlsl/generator_impl_module_constant_test.cc b/src/tint/writer/hlsl/generator_impl_module_constant_test.cc
index 14e8e93..2c96744 100644
--- a/src/tint/writer/hlsl/generator_impl_module_constant_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_module_constant_test.cc
@@ -15,13 +15,15 @@
#include "src/tint/ast/id_attribute.h"
#include "src/tint/writer/hlsl/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::hlsl {
namespace {
using HlslGeneratorImplTest_ModuleConstant = TestHelper;
TEST_F(HlslGeneratorImplTest_ModuleConstant, Emit_ModuleConstant) {
- auto* var = Let("pos", ty.array<f32, 3>(), array<f32, 3>(1.f, 2.f, 3.f));
+ auto* var = Let("pos", ty.array<f32, 3>(), array<f32, 3>(1_f, 2_f, 3_f));
WrapInFunction(Decl(var));
GeneratorImpl& gen = Build();
@@ -31,7 +33,7 @@
}
TEST_F(HlslGeneratorImplTest_ModuleConstant, Emit_SpecConstant) {
- auto* var = Override("pos", ty.f32(), Expr(3.0f),
+ auto* var = Override("pos", ty.f32(), Expr(3_f),
ast::AttributeList{
Id(23),
});
@@ -63,11 +65,11 @@
}
TEST_F(HlslGeneratorImplTest_ModuleConstant, Emit_SpecConstant_NoId) {
- auto* a = Override("a", ty.f32(), Expr(3.0f),
+ auto* a = Override("a", ty.f32(), Expr(3_f),
ast::AttributeList{
Id(0),
});
- auto* b = Override("b", ty.f32(), Expr(2.0f));
+ auto* b = Override("b", ty.f32(), Expr(2_f));
GeneratorImpl& gen = Build();
diff --git a/src/tint/writer/hlsl/generator_impl_sanitizer_test.cc b/src/tint/writer/hlsl/generator_impl_sanitizer_test.cc
index b68c950..66df535 100644
--- a/src/tint/writer/hlsl/generator_impl_sanitizer_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_sanitizer_test.cc
@@ -219,7 +219,7 @@
Member("b", ty.vec3<f32>()),
Member("c", ty.i32()),
});
- auto* struct_init = Construct(ty.Of(str), 1_i, vec3<f32>(2.f, 3.f, 4.f), 4_i);
+ auto* struct_init = Construct(ty.Of(str), 1_i, vec3<f32>(2_f, 3_f, 4_f), 4_i);
auto* struct_access = MemberAccessor(struct_init, "b");
auto* pos = Var("pos", ty.vec3<f32>(), ast::StorageClass::kNone, struct_access);
diff --git a/src/tint/writer/hlsl/generator_impl_workgroup_var_test.cc b/src/tint/writer/hlsl/generator_impl_workgroup_var_test.cc
index 466c871..826a545 100644
--- a/src/tint/writer/hlsl/generator_impl_workgroup_var_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_workgroup_var_test.cc
@@ -29,7 +29,7 @@
TEST_F(HlslGeneratorImplTest_WorkgroupVar, Basic) {
Global("wg", ty.f32(), ast::StorageClass::kWorkgroup);
- Func("main", {}, ty.void_(), {Assign("wg", 1.2f)},
+ Func("main", {}, ty.void_(), {Assign("wg", 1.2_f)},
{
Stage(ast::PipelineStage::kCompute),
WorkgroupSize(1_i),
@@ -45,7 +45,7 @@
Global("wg", ty.Of(alias), ast::StorageClass::kWorkgroup);
- Func("main", {}, ty.void_(), {Assign("wg", 1.2f)},
+ Func("main", {}, ty.void_(), {Assign("wg", 1.2_f)},
{
Stage(ast::PipelineStage::kCompute),
WorkgroupSize(1_i),
diff --git a/src/tint/writer/msl/generator_impl.cc b/src/tint/writer/msl/generator_impl.cc
index 8665cdb..8f5800c 100644
--- a/src/tint/writer/msl/generator_impl.cc
+++ b/src/tint/writer/msl/generator_impl.cc
@@ -1517,7 +1517,7 @@
} else if (std::isnan(l->value)) {
out << "NAN";
} else {
- out << FloatToString(l->value) << "f";
+ out << FloatToString(static_cast<float>(l->value)) << "f";
}
return true;
},
diff --git a/src/tint/writer/msl/generator_impl_call_test.cc b/src/tint/writer/msl/generator_impl_call_test.cc
index 9fc7b8f..93c9b83 100644
--- a/src/tint/writer/msl/generator_impl_call_test.cc
+++ b/src/tint/writer/msl/generator_impl_call_test.cc
@@ -15,13 +15,15 @@
#include "src/tint/ast/call_statement.h"
#include "src/tint/writer/msl/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::msl {
namespace {
using MslGeneratorImplTest = TestHelper;
TEST_F(MslGeneratorImplTest, EmitExpression_Call_WithoutParams) {
- Func("my_func", {}, ty.f32(), {Return(1.23f)});
+ Func("my_func", {}, ty.f32(), {Return(1.23_f)});
auto* call = Call("my_func");
WrapInFunction(call);
@@ -39,7 +41,7 @@
Param(Sym(), ty.f32()),
Param(Sym(), ty.f32()),
},
- ty.f32(), {Return(1.23f)});
+ ty.f32(), {Return(1.23_f)});
Global("param1", ty.f32(), ast::StorageClass::kPrivate);
Global("param2", ty.f32(), ast::StorageClass::kPrivate);
diff --git a/src/tint/writer/msl/generator_impl_constructor_test.cc b/src/tint/writer/msl/generator_impl_constructor_test.cc
index 134a7ae..fa2e113 100644
--- a/src/tint/writer/msl/generator_impl_constructor_test.cc
+++ b/src/tint/writer/msl/generator_impl_constructor_test.cc
@@ -34,7 +34,7 @@
}
TEST_F(MslGeneratorImplTest, EmitConstructor_Int) {
- WrapInFunction(Expr(i32(-12345)));
+ WrapInFunction(Expr(-12345_i));
GeneratorImpl& gen = Build();
@@ -53,7 +53,7 @@
TEST_F(MslGeneratorImplTest, EmitConstructor_Float) {
// Use a number close to 1<<30 but whose decimal representation ends in 0.
- WrapInFunction(Expr(static_cast<float>((1 << 30) - 4)));
+ WrapInFunction(Expr(f32((1 << 30) - 4)));
GeneratorImpl& gen = Build();
@@ -62,7 +62,7 @@
}
TEST_F(MslGeneratorImplTest, EmitConstructor_Type_Float) {
- WrapInFunction(Construct<f32>(-1.2e-5f));
+ WrapInFunction(Construct<f32>(-1.2e-5_f));
GeneratorImpl& gen = Build();
@@ -80,7 +80,7 @@
}
TEST_F(MslGeneratorImplTest, EmitConstructor_Type_Int) {
- WrapInFunction(Construct<i32>(i32(-12345)));
+ WrapInFunction(Construct<i32>(-12345_i));
GeneratorImpl& gen = Build();
@@ -98,7 +98,7 @@
}
TEST_F(MslGeneratorImplTest, EmitConstructor_Type_Vec) {
- WrapInFunction(vec3<f32>(1.f, 2.f, 3.f));
+ WrapInFunction(vec3<f32>(1_f, 2_f, 3_f));
GeneratorImpl& gen = Build();
@@ -116,8 +116,7 @@
}
TEST_F(MslGeneratorImplTest, EmitConstructor_Type_Mat) {
- WrapInFunction(
- Construct(ty.mat2x3<f32>(), vec3<f32>(1.0f, 2.0f, 3.0f), vec3<f32>(3.0f, 4.0f, 5.0f)));
+ WrapInFunction(Construct(ty.mat2x3<f32>(), vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(3_f, 4_f, 5_f)));
GeneratorImpl& gen = Build();
@@ -139,8 +138,8 @@
}
TEST_F(MslGeneratorImplTest, EmitConstructor_Type_Array) {
- WrapInFunction(Construct(ty.array(ty.vec3<f32>(), 3_u), vec3<f32>(1.0f, 2.0f, 3.0f),
- vec3<f32>(4.0f, 5.0f, 6.0f), vec3<f32>(7.0f, 8.0f, 9.0f)));
+ WrapInFunction(Construct(ty.array(ty.vec3<f32>(), 3_u), vec3<f32>(1_f, 2_f, 3_f),
+ vec3<f32>(4_f, 5_f, 6_f), vec3<f32>(7_f, 8_f, 9_f)));
GeneratorImpl& gen = Build();
@@ -156,7 +155,7 @@
Member("c", ty.vec3<i32>()),
});
- WrapInFunction(Construct(ty.Of(str), 1_i, 2.0f, vec3<i32>(3_i, 4_i, 5_i)));
+ WrapInFunction(Construct(ty.Of(str), 1_i, 2_f, vec3<i32>(3_i, 4_i, 5_i)));
GeneratorImpl& gen = Build();
diff --git a/src/tint/writer/msl/generator_impl_function_test.cc b/src/tint/writer/msl/generator_impl_function_test.cc
index 063fda8..5eb4905 100644
--- a/src/tint/writer/msl/generator_impl_function_test.cc
+++ b/src/tint/writer/msl/generator_impl_function_test.cc
@@ -177,7 +177,7 @@
});
Func("vert_main", {}, ty.Of(interface_struct),
- {Return(Construct(ty.Of(interface_struct), Expr(0.5f), Expr(0.25f),
+ {Return(Construct(ty.Of(interface_struct), Expr(0.5_f), Expr(0.25_f),
Construct(ty.vec4<f32>())))},
{Stage(ast::PipelineStage::kVertex)});
@@ -257,13 +257,13 @@
Func("foo", {Param("x", ty.f32())}, ty.Of(vertex_output_struct),
{Return(Construct(ty.Of(vertex_output_struct),
- Construct(ty.vec4<f32>(), "x", "x", "x", Expr(1.f))))},
+ Construct(ty.vec4<f32>(), "x", "x", "x", Expr(1_f))))},
{});
- Func("vert_main1", {}, ty.Of(vertex_output_struct), {Return(Expr(Call("foo", Expr(0.5f))))},
+ Func("vert_main1", {}, ty.Of(vertex_output_struct), {Return(Expr(Call("foo", Expr(0.5_f))))},
{Stage(ast::PipelineStage::kVertex)});
- Func("vert_main2", {}, ty.Of(vertex_output_struct), {Return(Expr(Call("foo", Expr(0.25f))))},
+ Func("vert_main2", {}, ty.Of(vertex_output_struct), {Return(Expr(Call("foo", Expr(0.25_f))))},
{Stage(ast::PipelineStage::kVertex)});
GeneratorImpl& gen = SanitizeAndBuild();
@@ -415,7 +415,7 @@
Return(MemberAccessor(MemberAccessor(ubo, "coord"), "x")),
});
- auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1.0f));
+ auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1_f));
Func("frag_main", {}, ty.void_(),
{
@@ -467,7 +467,7 @@
Func("sub_func", params, ty.f32(), body, {});
- auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1.0f));
+ auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1_f));
Func("frag_main", ast::VariableList{}, ty.void_(),
ast::StatementList{
@@ -520,7 +520,7 @@
Func("sub_func", params, ty.f32(), body, {});
- auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1.0f));
+ auto* var = Var("v", ty.f32(), ast::StorageClass::kNone, Call("sub_func", 1_f));
Func("frag_main", ast::VariableList{}, ty.void_(),
ast::StatementList{
diff --git a/src/tint/writer/msl/generator_impl_import_test.cc b/src/tint/writer/msl/generator_impl_import_test.cc
index fa5519a..8a6d2d0 100644
--- a/src/tint/writer/msl/generator_impl_import_test.cc
+++ b/src/tint/writer/msl/generator_impl_import_test.cc
@@ -33,7 +33,7 @@
using MslImportData_SingleParamTest = TestParamHelper<MslImportData>;
TEST_P(MslImportData_SingleParamTest, FloatScalar) {
auto param = GetParam();
- auto* call = Call(param.name, 1.f);
+ auto* call = Call(param.name, 1_f);
// The resolver will set the builtin data for the ident
WrapInFunction(call);
@@ -87,7 +87,7 @@
}
TEST_F(MslGeneratorImplTest, MslImportData_SingleParamTest_ScalarLength) {
- auto* expr = Call("length", 2.f);
+ auto* expr = Call("length", 2_f);
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -100,7 +100,7 @@
using MslImportData_DualParam_ScalarTest = TestParamHelper<MslImportData>;
TEST_P(MslImportData_DualParam_ScalarTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, 1.0f, 2.0f);
+ auto* expr = Call(param.name, 1_f, 2_f);
WrapInFunction(expr);
@@ -119,7 +119,7 @@
MslImportData{"step", "step"}));
TEST_F(MslGeneratorImplTest, MslImportData_DualParam_ScalarDistance) {
- auto* expr = Call("distance", 2.f, 3.f);
+ auto* expr = Call("distance", 2_f, 3_f);
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -133,7 +133,7 @@
TEST_P(MslImportData_DualParam_VectorTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, vec3<f32>(1.f, 2.f, 3.f), vec3<f32>(4.f, 5.f, 6.f));
+ auto* expr = Call(param.name, vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(4_f, 5_f, 6_f));
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -175,7 +175,7 @@
TEST_P(MslImportData_TripleParam_ScalarTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, 1.f, 2.f, 3.f);
+ auto* expr = Call(param.name, 1_f, 2_f, 3_f);
WrapInFunction(expr);
GeneratorImpl& gen = Build();
@@ -195,8 +195,8 @@
TEST_P(MslImportData_TripleParam_VectorTest, Float) {
auto param = GetParam();
- auto* expr = Call(param.name, vec3<f32>(1.f, 2.f, 3.f), vec3<f32>(4.f, 5.f, 6.f),
- vec3<f32>(7.f, 8.f, 9.f));
+ auto* expr = Call(param.name, vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(4_f, 5_f, 6_f),
+ vec3<f32>(7_f, 8_f, 9_f));
WrapInFunction(expr);
GeneratorImpl& gen = Build();
diff --git a/src/tint/writer/msl/generator_impl_loop_test.cc b/src/tint/writer/msl/generator_impl_loop_test.cc
index 1df7486..248e711 100644
--- a/src/tint/writer/msl/generator_impl_loop_test.cc
+++ b/src/tint/writer/msl/generator_impl_loop_test.cc
@@ -109,8 +109,8 @@
Global("rhs", ty.f32(), ast::StorageClass::kPrivate);
- auto* body = Block(Decl(Var("lhs", ty.f32(), Expr(2.4f))), //
- Decl(Var("other", ty.f32())), //
+ auto* body = Block(Decl(Var("lhs", ty.f32(), Expr(2.4_f))), //
+ Decl(Var("other", ty.f32())), //
Break());
auto* continuing = Block(Assign("lhs", "rhs"));
diff --git a/src/tint/writer/msl/generator_impl_module_constant_test.cc b/src/tint/writer/msl/generator_impl_module_constant_test.cc
index 59cc2eb..2b70da4 100644
--- a/src/tint/writer/msl/generator_impl_module_constant_test.cc
+++ b/src/tint/writer/msl/generator_impl_module_constant_test.cc
@@ -15,13 +15,15 @@
#include "src/tint/ast/id_attribute.h"
#include "src/tint/writer/msl/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::msl {
namespace {
using MslGeneratorImplTest = TestHelper;
TEST_F(MslGeneratorImplTest, Emit_ModuleConstant) {
- auto* var = GlobalConst("pos", ty.array<f32, 3>(), array<f32, 3>(1.f, 2.f, 3.f));
+ auto* var = GlobalConst("pos", ty.array<f32, 3>(), array<f32, 3>(1_f, 2_f, 3_f));
GeneratorImpl& gen = Build();
@@ -30,7 +32,7 @@
}
TEST_F(MslGeneratorImplTest, Emit_SpecConstant) {
- auto* var = Override("pos", ty.f32(), Expr(3.f),
+ auto* var = Override("pos", ty.f32(), Expr(3_f),
ast::AttributeList{
Id(23),
});
diff --git a/src/tint/writer/msl/generator_impl_variable_decl_statement_test.cc b/src/tint/writer/msl/generator_impl_variable_decl_statement_test.cc
index cd8190f..be55cae 100644
--- a/src/tint/writer/msl/generator_impl_variable_decl_statement_test.cc
+++ b/src/tint/writer/msl/generator_impl_variable_decl_statement_test.cc
@@ -16,6 +16,8 @@
#include "src/tint/ast/variable_decl_statement.h"
#include "src/tint/writer/msl/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::msl {
namespace {
@@ -122,7 +124,7 @@
}
TEST_F(MslGeneratorImplTest, Emit_VariableDeclStatement_Initializer_Private) {
- GlobalConst("initializer", ty.f32(), Expr(0.f));
+ GlobalConst("initializer", ty.f32(), Expr(0_f));
Global("a", ty.f32(), ast::StorageClass::kPrivate, Expr("initializer"));
WrapInFunction(Expr("a"));
diff --git a/src/tint/writer/spirv/builder.cc b/src/tint/writer/spirv/builder.cc
index 72a0962..7d232c0 100644
--- a/src/tint/writer/spirv/builder.cc
+++ b/src/tint/writer/spirv/builder.cc
@@ -746,7 +746,8 @@
init_id = Switch(
type, //
[&](const sem::F32*) {
- ast::FloatLiteralExpression l(ProgramID{}, Source{}, 0.0f);
+ ast::FloatLiteralExpression l(ProgramID{}, Source{}, 0,
+ ast::FloatLiteralExpression::Suffix::kF);
return GenerateLiteralIfNeeded(var, &l);
},
[&](const sem::U32*) {
@@ -1621,8 +1622,13 @@
}
},
[&](const ast::FloatLiteralExpression* f) {
- constant.kind = ScalarConstant::Kind::kF32;
- constant.value.f32 = f->value;
+ switch (f->suffix) {
+ case ast::FloatLiteralExpression::Suffix::kNone:
+ case ast::FloatLiteralExpression::Suffix::kF:
+ constant.kind = ScalarConstant::Kind::kF32;
+ constant.value.f32 = static_cast<float>(f->value);
+ return;
+ }
},
[&](Default) { error_ = "unknown literal type"; });
@@ -2878,7 +2884,8 @@
}
spirv_params.emplace_back(gen_arg(Usage::kDepthRef));
- ast::FloatLiteralExpression float_0(ProgramID(), Source{}, 0.0);
+ ast::FloatLiteralExpression float_0(ProgramID(), Source{}, 0.0,
+ ast::FloatLiteralExpression::Suffix::kF);
image_operands.emplace_back(ImageOperand{
SpvImageOperandsLodMask, Operand(GenerateLiteralIfNeeded(nullptr, &float_0))});
break;
diff --git a/src/tint/writer/spirv/builder_accessor_expression_test.cc b/src/tint/writer/spirv/builder_accessor_expression_test.cc
index 67ee185..82fbfd7 100644
--- a/src/tint/writer/spirv/builder_accessor_expression_test.cc
+++ b/src/tint/writer/spirv/builder_accessor_expression_test.cc
@@ -312,7 +312,7 @@
Member("b", ty.f32()),
});
- auto* var = Let("ident", ty.Of(s), Construct(ty.Of(s), 0.f, 0.f));
+ auto* var = Let("ident", ty.Of(s), Construct(ty.Of(s), 0_f, 0_f));
auto* expr = MemberAccessor("ident", "b");
WrapInFunction(var, expr);
@@ -353,7 +353,7 @@
auto* s_type = Structure("my_struct", {Member("inner", ty.Of(inner_struct))});
auto* var = Let("ident", ty.Of(s_type),
- Construct(ty.Of(s_type), Construct(ty.Of(inner_struct), 0.f, 0.f)));
+ Construct(ty.Of(s_type), Construct(ty.Of(inner_struct), 0_f, 0_f)));
auto* expr = MemberAccessor(MemberAccessor("ident", "inner"), "b");
WrapInFunction(var, expr);
@@ -443,7 +443,7 @@
auto* s_type = Structure("my_struct", {Member("inner", ty.Of(inner_struct))});
auto* var = Var("ident", ty.Of(s_type));
- auto* expr = Assign(MemberAccessor(MemberAccessor("ident", "inner"), "a"), Expr(2.0f));
+ auto* expr = Assign(MemberAccessor(MemberAccessor("ident", "inner"), "a"), Expr(2_f));
WrapInFunction(var, expr);
spirv::Builder& b = Build();
@@ -753,8 +753,8 @@
// pos[1u]
auto* var = Let("pos", ty.array(ty.vec2<f32>(), 3_u),
- Construct(ty.array(ty.vec2<f32>(), 3_u), vec2<f32>(0.0f, 0.5f),
- vec2<f32>(-0.5f, -0.5f), vec2<f32>(0.5f, -0.5f)));
+ Construct(ty.array(ty.vec2<f32>(), 3_u), vec2<f32>(0_f, 0.5_f),
+ vec2<f32>(-0.5_f, -0.5_f), vec2<f32>(0.5_f, -0.5_f)));
auto* expr = IndexAccessor("pos", 1_u);
WrapInFunction(var, expr);
@@ -796,8 +796,8 @@
// pos[2u][1u]
auto* var = Let("pos", ty.array(ty.vec2<f32>(), 3_u),
- Construct(ty.array(ty.vec2<f32>(), 3_u), vec2<f32>(0.0f, 0.5f),
- vec2<f32>(-0.5f, -0.5f), vec2<f32>(0.5f, -0.5f)));
+ Construct(ty.array(ty.vec2<f32>(), 3_u), vec2<f32>(0_f, 0.5_f),
+ vec2<f32>(-0.5_f, -0.5_f), vec2<f32>(0.5_f, -0.5_f)));
auto* expr = IndexAccessor(IndexAccessor("pos", 2_u), 1_u);
WrapInFunction(var, expr);
@@ -837,7 +837,7 @@
// let pos : vec2<f32> = vec2<f32>(0.0, 0.5);
// pos[1]
- auto* var = Let("pos", ty.vec2<f32>(), vec2<f32>(0.0f, 0.5f));
+ auto* var = Let("pos", ty.vec2<f32>(), vec2<f32>(0_f, 0.5_f));
auto* expr = IndexAccessor("pos", 1_u);
WrapInFunction(var, expr);
@@ -867,7 +867,7 @@
// idx : i32
// pos[idx]
- auto* var = Let("pos", ty.vec2<f32>(), vec2<f32>(0.0f, 0.5f));
+ auto* var = Let("pos", ty.vec2<f32>(), vec2<f32>(0_f, 0.5_f));
auto* idx = Var("idx", ty.i32());
auto* expr = IndexAccessor("pos", idx);
@@ -902,7 +902,7 @@
// let a : array<f32, 3u>;
// a[2i]
- auto* var = Let("a", ty.array<f32, 3>(), Construct(ty.array<f32, 3>(), 0.0f, 0.5f, 1.0f));
+ auto* var = Let("a", ty.array<f32, 3>(), Construct(ty.array<f32, 3>(), 0_f, 0.5_f, 1_f));
auto* expr = IndexAccessor("a", 2_i);
WrapInFunction(var, expr);
@@ -937,7 +937,7 @@
// idx : i32
// a[idx]
- auto* var = Let("a", ty.array<f32, 3>(), Construct(ty.array<f32, 3>(), 0.0f, 0.5f, 1.0f));
+ auto* var = Let("a", ty.array<f32, 3>(), Construct(ty.array<f32, 3>(), 0_f, 0.5_f, 1_f));
auto* idx = Var("idx", ty.i32());
auto* expr = IndexAccessor("a", idx);
@@ -986,8 +986,8 @@
// a[idx]
auto* var = Let("a", ty.mat2x2<f32>(),
- Construct(ty.mat2x2<f32>(), Construct(ty.vec2<f32>(), 1.f, 2.f),
- Construct(ty.vec2<f32>(), 3.f, 4.f)));
+ Construct(ty.mat2x2<f32>(), Construct(ty.vec2<f32>(), 1_f, 2_f),
+ Construct(ty.vec2<f32>(), 3_f, 4_f)));
auto* idx = Var("idx", ty.i32());
auto* expr = IndexAccessor("a", idx);
diff --git a/src/tint/writer/spirv/builder_assign_test.cc b/src/tint/writer/spirv/builder_assign_test.cc
index 1e02e27..11ac42f 100644
--- a/src/tint/writer/spirv/builder_assign_test.cc
+++ b/src/tint/writer/spirv/builder_assign_test.cc
@@ -25,7 +25,7 @@
TEST_F(BuilderTest, Assign_Var) {
auto* v = Global("var", ty.f32(), ast::StorageClass::kPrivate);
- auto* assign = Assign("var", 1.f);
+ auto* assign = Assign("var", 1_f);
WrapInFunction(assign);
@@ -53,7 +53,7 @@
TEST_F(BuilderTest, Assign_Var_OutsideFunction_IsError) {
auto* v = Global("var", ty.f32(), ast::StorageClass::kPrivate);
- auto* assign = Assign("var", Expr(1.f));
+ auto* assign = Assign("var", Expr(1_f));
WrapInFunction(assign);
@@ -99,7 +99,7 @@
}
TEST_F(BuilderTest, Assign_Var_Complex_ConstructorWithExtract) {
- auto* init = vec3<f32>(vec2<f32>(1.f, 2.f), 3.f);
+ auto* init = vec3<f32>(vec2<f32>(1_f, 2_f), 3_f);
auto* v = Global("var", ty.vec3<f32>(), ast::StorageClass::kPrivate);
@@ -136,7 +136,7 @@
}
TEST_F(BuilderTest, Assign_Var_Complex_Constructor) {
- auto* init = vec3<f32>(1.f, 2.f, 3.f);
+ auto* init = vec3<f32>(1_f, 2_f, 3_f);
auto* v = Global("var", ty.vec3<f32>(), ast::StorageClass::kPrivate);
@@ -183,7 +183,7 @@
auto* v = Var("ident", ty.Of(s));
- auto* assign = Assign(MemberAccessor("ident", "b"), Expr(4.f));
+ auto* assign = Assign(MemberAccessor("ident", "b"), Expr(4_f));
WrapInFunction(v, assign);
@@ -215,7 +215,7 @@
TEST_F(BuilderTest, Assign_Vector) {
auto* v = Global("var", ty.vec3<f32>(), ast::StorageClass::kPrivate);
- auto* val = vec3<f32>(1.f, 1.f, 3.f);
+ auto* val = vec3<f32>(1_f, 1_f, 3_f);
auto* assign = Assign("var", val);
WrapInFunction(assign);
@@ -249,7 +249,7 @@
auto* v = Global("var", ty.vec3<f32>(), ast::StorageClass::kPrivate);
- auto* assign = Assign(MemberAccessor("var", "y"), Expr(1.f));
+ auto* assign = Assign(MemberAccessor("var", "y"), Expr(1_f));
WrapInFunction(assign);
@@ -284,7 +284,7 @@
auto* v = Global("var", ty.vec3<f32>(), ast::StorageClass::kPrivate);
- auto* assign = Assign(IndexAccessor("var", 1_i), Expr(1.f));
+ auto* assign = Assign(IndexAccessor("var", 1_i), Expr(1_f));
WrapInFunction(assign);
diff --git a/src/tint/writer/spirv/builder_binary_expression_test.cc b/src/tint/writer/spirv/builder_binary_expression_test.cc
index 17ca134..debe63c 100644
--- a/src/tint/writer/spirv/builder_binary_expression_test.cc
+++ b/src/tint/writer/spirv/builder_binary_expression_test.cc
@@ -195,8 +195,8 @@
TEST_P(BinaryArithFloatTest, Scalar) {
auto param = GetParam();
- auto* lhs = Expr(3.2f);
- auto* rhs = Expr(4.5f);
+ auto* lhs = Expr(3.2_f);
+ auto* rhs = Expr(4.5_f);
auto* expr = create<ast::BinaryExpression>(param.op, lhs, rhs);
@@ -218,8 +218,8 @@
TEST_P(BinaryArithFloatTest, Vector) {
auto param = GetParam();
- auto* lhs = vec3<f32>(1.f, 1.f, 1.f);
- auto* rhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* lhs = vec3<f32>(1_f, 1_f, 1_f);
+ auto* rhs = vec3<f32>(1_f, 1_f, 1_f);
auto* expr = create<ast::BinaryExpression>(param.op, lhs, rhs);
@@ -426,8 +426,8 @@
TEST_P(BinaryCompareFloatTest, Scalar) {
auto param = GetParam();
- auto* lhs = Expr(3.2f);
- auto* rhs = Expr(4.5f);
+ auto* lhs = Expr(3.2_f);
+ auto* rhs = Expr(4.5_f);
auto* expr = create<ast::BinaryExpression>(param.op, lhs, rhs);
@@ -450,8 +450,8 @@
TEST_P(BinaryCompareFloatTest, Vector) {
auto param = GetParam();
- auto* lhs = vec3<f32>(1.f, 1.f, 1.f);
- auto* rhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* lhs = vec3<f32>(1_f, 1_f, 1_f);
+ auto* rhs = vec3<f32>(1_f, 1_f, 1_f);
auto* expr = create<ast::BinaryExpression>(param.op, lhs, rhs);
@@ -483,8 +483,8 @@
BinaryData{ast::BinaryOp::kNotEqual, "OpFOrdNotEqual"}));
TEST_F(BuilderTest, Binary_Multiply_VectorScalar) {
- auto* lhs = vec3<f32>(1.f, 1.f, 1.f);
- auto* rhs = Expr(1.f);
+ auto* lhs = vec3<f32>(1_f, 1_f, 1_f);
+ auto* rhs = Expr(1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
@@ -506,8 +506,8 @@
}
TEST_F(BuilderTest, Binary_Multiply_ScalarVector) {
- auto* lhs = Expr(1.f);
- auto* rhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* lhs = Expr(1_f);
+ auto* rhs = vec3<f32>(1_f, 1_f, 1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, rhs);
@@ -531,7 +531,7 @@
TEST_F(BuilderTest, Binary_Multiply_MatrixScalar) {
auto* var = Var("mat", ty.mat3x3<f32>());
- auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, Expr("mat"), Expr(1.f));
+ auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, Expr("mat"), Expr(1_f));
WrapInFunction(var, expr);
@@ -558,7 +558,7 @@
TEST_F(BuilderTest, Binary_Multiply_ScalarMatrix) {
auto* var = Var("mat", ty.mat3x3<f32>());
- auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, Expr(1.f), Expr("mat"));
+ auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, Expr(1_f), Expr("mat"));
WrapInFunction(var, expr);
@@ -584,7 +584,7 @@
TEST_F(BuilderTest, Binary_Multiply_MatrixVector) {
auto* var = Var("mat", ty.mat3x3<f32>());
- auto* rhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* rhs = vec3<f32>(1_f, 1_f, 1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, Expr("mat"), rhs);
@@ -613,7 +613,7 @@
TEST_F(BuilderTest, Binary_Multiply_VectorMatrix) {
auto* var = Var("mat", ty.mat3x3<f32>());
- auto* lhs = vec3<f32>(1.f, 1.f, 1.f);
+ auto* lhs = vec3<f32>(1_f, 1_f, 1_f);
auto* expr = create<ast::BinaryExpression>(ast::BinaryOp::kMultiply, lhs, Expr("mat"));
@@ -899,7 +899,7 @@
static const ast::Expression* MakeVectorExpr(ProgramBuilder* builder, Type type) {
switch (type) {
case Type::f32:
- return builder->vec3<f32>(1.f, 1.f, 1.f);
+ return builder->vec3<f32>(1_f, 1_f, 1_f);
case Type::i32:
return builder->vec3<i32>(1_i, 1_i, 1_i);
case Type::u32:
@@ -910,7 +910,7 @@
static const ast::Expression* MakeScalarExpr(ProgramBuilder* builder, Type type) {
switch (type) {
case Type::f32:
- return builder->Expr(1.f);
+ return builder->Expr(1_f);
case Type::i32:
return builder->Expr(1_i);
case Type::u32:
diff --git a/src/tint/writer/spirv/builder_bitcast_expression_test.cc b/src/tint/writer/spirv/builder_bitcast_expression_test.cc
index 073d000..9dff5f6 100644
--- a/src/tint/writer/spirv/builder_bitcast_expression_test.cc
+++ b/src/tint/writer/spirv/builder_bitcast_expression_test.cc
@@ -15,13 +15,15 @@
#include "src/tint/writer/spirv/spv_dump.h"
#include "src/tint/writer/spirv/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::spirv {
namespace {
using BuilderTest = TestHelper;
TEST_F(BuilderTest, Bitcast) {
- auto* bitcast = create<ast::BitcastExpression>(ty.u32(), Expr(2.4f));
+ auto* bitcast = create<ast::BitcastExpression>(ty.u32(), Expr(2.4_f));
WrapInFunction(bitcast);
@@ -40,7 +42,7 @@
}
TEST_F(BuilderTest, Bitcast_DuplicateType) {
- auto* bitcast = create<ast::BitcastExpression>(ty.f32(), Expr(2.4f));
+ auto* bitcast = create<ast::BitcastExpression>(ty.f32(), Expr(2.4_f));
WrapInFunction(bitcast);
diff --git a/src/tint/writer/spirv/builder_block_test.cc b/src/tint/writer/spirv/builder_block_test.cc
index ea70b6c..85a2371 100644
--- a/src/tint/writer/spirv/builder_block_test.cc
+++ b/src/tint/writer/spirv/builder_block_test.cc
@@ -15,6 +15,8 @@
#include "src/tint/writer/spirv/spv_dump.h"
#include "src/tint/writer/spirv/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::spirv {
namespace {
@@ -23,9 +25,9 @@
TEST_F(BuilderTest, Block) {
// Note, this test uses shadow variables which aren't allowed in WGSL but
// serves to prove the block code is pushing new scopes as needed.
- auto* inner = Block(Decl(Var("var", ty.f32(), ast::StorageClass::kNone)), Assign("var", 2.f));
- auto* outer = Block(Decl(Var("var", ty.f32(), ast::StorageClass::kNone)), Assign("var", 1.f),
- inner, Assign("var", 3.f));
+ auto* inner = Block(Decl(Var("var", ty.f32(), ast::StorageClass::kNone)), Assign("var", 2_f));
+ auto* outer = Block(Decl(Var("var", ty.f32(), ast::StorageClass::kNone)), Assign("var", 1_f),
+ inner, Assign("var", 3_f));
WrapInFunction(outer);
diff --git a/src/tint/writer/spirv/builder_builtin_test.cc b/src/tint/writer/spirv/builder_builtin_test.cc
index 901abad..6d1316e 100644
--- a/src/tint/writer/spirv/builder_builtin_test.cc
+++ b/src/tint/writer/spirv/builder_builtin_test.cc
@@ -463,8 +463,8 @@
create<ast::GroupAttribute>(0),
});
- auto* expr1 = Call("textureSampleCompare", "texture", "sampler", vec2<f32>(1.0f, 2.0f), 2.0f);
- auto* expr2 = Call("textureSampleCompare", "texture", "sampler", vec2<f32>(1.0f, 2.0f), 2.0f);
+ auto* expr1 = Call("textureSampleCompare", "texture", "sampler", vec2<f32>(1_f, 2_f), 2_f);
+ auto* expr2 = Call("textureSampleCompare", "texture", "sampler", vec2<f32>(1_f, 2_f), 2_f);
Func("f1", {}, ty.void_(), {CallStmt(expr1)}, {});
Func("f2", {}, ty.void_(), {CallStmt(expr2)}, {});
@@ -539,7 +539,7 @@
using Builtin_Builtin_SingleParam_Float_Test = BuiltinBuilderTestWithParam<BuiltinData>;
TEST_P(Builtin_Builtin_SingleParam_Float_Test, Call_Scalar) {
auto param = GetParam();
- auto* expr = Call(param.name, 1.0f);
+ auto* expr = Call(param.name, 1_f);
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -566,7 +566,7 @@
TEST_P(Builtin_Builtin_SingleParam_Float_Test, Call_Vector) {
auto param = GetParam();
- auto* expr = Call(param.name, vec2<f32>(1.0f, 1.0f));
+ auto* expr = Call(param.name, vec2<f32>(1_f, 1_f));
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -620,7 +620,7 @@
BuiltinData{"trunc", "Trunc"}));
TEST_F(BuiltinBuilderTest, Call_Length_Scalar) {
- auto* expr = Call("length", 1.0f);
+ auto* expr = Call("length", 1_f);
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -645,7 +645,7 @@
}
TEST_F(BuiltinBuilderTest, Call_Length_Vector) {
- auto* expr = Call("length", vec2<f32>(1.0f, 1.0f));
+ auto* expr = Call("length", vec2<f32>(1_f, 1_f));
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -672,7 +672,7 @@
}
TEST_F(BuiltinBuilderTest, Call_Normalize) {
- auto* expr = Call("normalize", vec2<f32>(1.0f, 1.0f));
+ auto* expr = Call("normalize", vec2<f32>(1_f, 1_f));
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -701,7 +701,7 @@
using Builtin_Builtin_DualParam_Float_Test = BuiltinBuilderTestWithParam<BuiltinData>;
TEST_P(Builtin_Builtin_DualParam_Float_Test, Call_Scalar) {
auto param = GetParam();
- auto* expr = Call(param.name, 1.0f, 1.0f);
+ auto* expr = Call(param.name, 1_f, 1_f);
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -728,7 +728,7 @@
TEST_P(Builtin_Builtin_DualParam_Float_Test, Call_Vector) {
auto param = GetParam();
- auto* expr = Call(param.name, vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f));
+ auto* expr = Call(param.name, vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f));
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -763,7 +763,7 @@
BuiltinData{"step", "Step"}));
TEST_F(BuiltinBuilderTest, Call_Reflect_Vector) {
- auto* expr = Call("reflect", vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f));
+ auto* expr = Call("reflect", vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f));
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -790,7 +790,7 @@
}
TEST_F(BuiltinBuilderTest, Call_Distance_Scalar) {
- auto* expr = Call("distance", 1.0f, 1.0f);
+ auto* expr = Call("distance", 1_f, 1_f);
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -815,7 +815,7 @@
}
TEST_F(BuiltinBuilderTest, Call_Distance_Vector) {
- auto* expr = Call("distance", vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f));
+ auto* expr = Call("distance", vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f));
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -842,7 +842,7 @@
}
TEST_F(BuiltinBuilderTest, Call_Cross) {
- auto* expr = Call("cross", vec3<f32>(1.0f, 1.0f, 1.0f), vec3<f32>(1.0f, 1.0f, 1.0f));
+ auto* expr = Call("cross", vec3<f32>(1_f, 1_f, 1_f), vec3<f32>(1_f, 1_f, 1_f));
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -871,7 +871,7 @@
using Builtin_Builtin_ThreeParam_Float_Test = BuiltinBuilderTestWithParam<BuiltinData>;
TEST_P(Builtin_Builtin_ThreeParam_Float_Test, Call_Scalar) {
auto param = GetParam();
- auto* expr = Call(param.name, 1.0f, 1.0f, 1.0f);
+ auto* expr = Call(param.name, 1_f, 1_f, 1_f);
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -898,8 +898,7 @@
TEST_P(Builtin_Builtin_ThreeParam_Float_Test, Call_Vector) {
auto param = GetParam();
- auto* expr =
- Call(param.name, vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f));
+ auto* expr = Call(param.name, vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f));
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -934,8 +933,7 @@
BuiltinData{"smoothstep", "SmoothStep"}));
TEST_F(BuiltinBuilderTest, Call_FaceForward_Vector) {
- auto* expr =
- Call("faceForward", vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f), vec2<f32>(1.0f, 1.0f));
+ auto* expr = Call("faceForward", vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f), vec2<f32>(1_f, 1_f));
auto* func = Func("a_func", {}, ty.void_(),
{
Assign(Phony(), expr),
@@ -1312,7 +1310,7 @@
testing::Values(BuiltinData{"clamp", "UClamp"}));
TEST_F(BuiltinBuilderTest, Call_Modf) {
- auto* expr = Call("modf", vec2<f32>(1.0f, 2.0f));
+ auto* expr = Call("modf", vec2<f32>(1_f, 2_f));
Func("a_func", {}, ty.void_(), {CallStmt(expr)}, {Stage(ast::PipelineStage::kFragment)});
spirv::Builder& b = Build();
@@ -1350,7 +1348,7 @@
}
TEST_F(BuiltinBuilderTest, Call_Frexp) {
- auto* expr = Call("frexp", vec2<f32>(1.0f, 2.0f));
+ auto* expr = Call("frexp", vec2<f32>(1_f, 2_f));
Func("a_func", {}, ty.void_(), {CallStmt(expr)}, {Stage(ast::PipelineStage::kFragment)});
spirv::Builder& b = Build();
@@ -2104,8 +2102,8 @@
auto param = GetParam();
bool pack4 = param.name == "pack4x8snorm" || param.name == "pack4x8unorm";
- auto* call = pack4 ? Call(param.name, vec4<float>(1.0f, 1.0f, 1.0f, 1.0f))
- : Call(param.name, vec2<float>(1.0f, 1.0f));
+ auto* call = pack4 ? Call(param.name, vec4<f32>(1_f, 1_f, 1_f, 1_f))
+ : Call(param.name, vec2<f32>(1_f, 1_f));
auto* func = Func("a_func", {}, ty.void_(), {CallStmt(call)});
spirv::Builder& b = Build();
diff --git a/src/tint/writer/spirv/builder_call_test.cc b/src/tint/writer/spirv/builder_call_test.cc
index 782b008..b81ca96 100644
--- a/src/tint/writer/spirv/builder_call_test.cc
+++ b/src/tint/writer/spirv/builder_call_test.cc
@@ -17,6 +17,8 @@
#include "src/tint/writer/spirv/spv_dump.h"
#include "src/tint/writer/spirv/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::spirv {
namespace {
@@ -28,7 +30,7 @@
func_params.push_back(Param("b", ty.f32()));
auto* a_func = Func("a_func", func_params, ty.f32(), {Return(Add("a", "b"))});
- auto* func = Func("main", {}, ty.void_(), {Assign(Phony(), Call("a_func", 1.f, 1.f))});
+ auto* func = Func("main", {}, ty.void_(), {Assign(Phony(), Call("a_func", 1_f, 1_f))});
spirv::Builder& b = Build();
@@ -66,7 +68,7 @@
auto* a_func = Func("a_func", func_params, ty.f32(), {Return(Add("a", "b"))});
- auto* func = Func("main", {}, ty.void_(), {CallStmt(Call("a_func", 1.f, 1.f))});
+ auto* func = Func("main", {}, ty.void_(), {CallStmt(Call("a_func", 1_f, 1_f))});
spirv::Builder& b = Build();
diff --git a/src/tint/writer/spirv/builder_constructor_expression_test.cc b/src/tint/writer/spirv/builder_constructor_expression_test.cc
index 41409af..ec69cfb 100644
--- a/src/tint/writer/spirv/builder_constructor_expression_test.cc
+++ b/src/tint/writer/spirv/builder_constructor_expression_test.cc
@@ -23,7 +23,7 @@
using SpvBuilderConstructorTest = TestHelper;
TEST_F(SpvBuilderConstructorTest, Const) {
- auto* c = Expr(42.2f);
+ auto* c = Expr(42.2_f);
auto* g = Global("g", ty.f32(), c, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -50,7 +50,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type) {
- auto* t = vec3<f32>(1.0f, 1.0f, 3.0f);
+ auto* t = vec3<f32>(1_f, 1_f, 3_f);
WrapInFunction(t);
spirv::Builder& b = Build();
@@ -94,7 +94,7 @@
// cast<Int>(2.3f)
auto* alias = Alias("Int", ty.i32());
- auto* cast = Construct(ty.Of(alias), 2.3f);
+ auto* cast = Construct(ty.Of(alias), 2.3_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -114,7 +114,7 @@
TEST_F(SpvBuilderConstructorTest, Type_IdentifierExpression_Param) {
auto* var = Var("ident", ty.f32());
- auto* t = vec2<f32>(1.0f, "ident");
+ auto* t = vec2<f32>(1_f, "ident");
WrapInFunction(var, t);
spirv::Builder& b = Build();
@@ -213,7 +213,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_F32_With_F32) {
- auto* cast = Construct<f32>(2.0f);
+ auto* cast = Construct<f32>(2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -269,7 +269,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec2_With_F32_Literal) {
- auto* cast = vec2<f32>(2.0f);
+ auto* cast = vec2<f32>(2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -286,7 +286,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec2_With_F32_Var) {
- auto* var = Var("v", nullptr, Expr(2.0f));
+ auto* var = Var("v", nullptr, Expr(2_f));
auto* cast = vec2<f32>(var);
WrapInFunction(var, cast);
@@ -309,7 +309,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec2_With_F32_F32) {
- auto* cast = vec2<f32>(2.0f, 2.0f);
+ auto* cast = vec2<f32>(2_f, 2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -325,7 +325,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec2_With_Vec2) {
- auto* value = vec2<f32>(2.0f, 2.0f);
+ auto* value = vec2<f32>(2_f, 2_f);
auto* cast = vec2<f32>(value);
WrapInFunction(cast);
@@ -343,7 +343,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_F32) {
- auto* cast = vec3<f32>(2.0f);
+ auto* cast = vec3<f32>(2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -375,7 +375,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_F32_F32_F32) {
- auto* cast = vec3<f32>(2.0f, 2.0f, 2.0f);
+ auto* cast = vec3<f32>(2_f, 2_f, 2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -391,7 +391,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_F32_Vec2) {
- auto* cast = vec3<f32>(2.0f, vec2<f32>(2.0f, 2.0f));
+ auto* cast = vec3<f32>(2_f, vec2<f32>(2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -413,7 +413,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_Vec2_F32) {
- auto* cast = vec3<f32>(vec2<f32>(2.0f, 2.0f), 2.0f);
+ auto* cast = vec3<f32>(vec2<f32>(2_f, 2_f), 2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -435,7 +435,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_Vec3) {
- auto* value = vec3<f32>(2.0f, 2.0f, 2.0f);
+ auto* value = vec3<f32>(2_f, 2_f, 2_f);
auto* cast = vec3<f32>(value);
WrapInFunction(cast);
@@ -469,7 +469,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F32) {
- auto* cast = vec4<f32>(2.0f);
+ auto* cast = vec4<f32>(2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -485,7 +485,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F32_F32_F32_F32) {
- auto* cast = vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f);
+ auto* cast = vec4<f32>(2_f, 2_f, 2_f, 2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -501,7 +501,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F32_F32_Vec2) {
- auto* cast = vec4<f32>(2.0f, 2.0f, vec2<f32>(2.0f, 2.0f));
+ auto* cast = vec4<f32>(2_f, 2_f, vec2<f32>(2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -523,7 +523,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F32_Vec2_F32) {
- auto* cast = vec4<f32>(2.0f, vec2<f32>(2.0f, 2.0f), 2.0f);
+ auto* cast = vec4<f32>(2_f, vec2<f32>(2_f, 2_f), 2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -545,7 +545,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_Vec2_F32_F32) {
- auto* cast = vec4<f32>(vec2<f32>(2.0f, 2.0f), 2.0f, 2.0f);
+ auto* cast = vec4<f32>(vec2<f32>(2_f, 2_f), 2_f, 2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -567,7 +567,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_Vec2_Vec2) {
- auto* cast = vec4<f32>(vec2<f32>(2.0f, 2.0f), vec2<f32>(2.0f, 2.0f));
+ auto* cast = vec4<f32>(vec2<f32>(2_f, 2_f), vec2<f32>(2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -591,7 +591,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F32_Vec3) {
- auto* cast = vec4<f32>(2.0f, vec3<f32>(2.0f, 2.0f, 2.0f));
+ auto* cast = vec4<f32>(2_f, vec3<f32>(2_f, 2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -614,7 +614,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_Vec3_F32) {
- auto* cast = vec4<f32>(vec3<f32>(2.0f, 2.0f, 2.0f), 2.0f);
+ auto* cast = vec4<f32>(vec3<f32>(2_f, 2_f, 2_f), 2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -637,7 +637,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_Vec4) {
- auto* value = vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f);
+ auto* value = vec4<f32>(2_f, 2_f, 2_f, 2_f);
auto* cast = vec4<f32>(value);
WrapInFunction(cast);
@@ -655,7 +655,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_F32_With_F32) {
- auto* ctor = Construct<f32>(2.0f);
+ auto* ctor = Construct<f32>(2_f);
GlobalConst("g", ty.f32(), ctor);
spirv::Builder& b = SanitizeAndBuild();
@@ -670,7 +670,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_U32_With_F32) {
- auto* ctor = Construct<u32>(1.5f);
+ auto* ctor = Construct<u32>(1.5_f);
GlobalConst("g", ty.u32(), ctor);
spirv::Builder& b = SanitizeAndBuild();
@@ -685,7 +685,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec2_With_F32) {
- auto* cast = vec2<f32>(2.0f);
+ auto* cast = vec2<f32>(2_f);
auto* g = Global("g", ty.vec2<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -701,7 +701,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec2_With_Vec2) {
- auto* cast = vec2<f32>(vec2<f32>(2.0f, 2.0f));
+ auto* cast = vec2<f32>(vec2<f32>(2_f, 2_f));
GlobalConst("a", ty.vec2<f32>(), cast);
spirv::Builder& b = SanitizeAndBuild();
@@ -719,7 +719,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec3_With_Vec3) {
- auto* cast = vec3<f32>(vec3<f32>(2.0f, 2.0f, 2.0f));
+ auto* cast = vec3<f32>(vec3<f32>(2_f, 2_f, 2_f));
GlobalConst("a", ty.vec3<f32>(), cast);
spirv::Builder& b = SanitizeAndBuild();
@@ -737,7 +737,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec4_With_Vec4) {
- auto* cast = vec4<f32>(vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f));
+ auto* cast = vec4<f32>(vec4<f32>(2_f, 2_f, 2_f, 2_f));
GlobalConst("a", ty.vec4<f32>(), cast);
spirv::Builder& b = SanitizeAndBuild();
@@ -755,7 +755,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec3_With_F32) {
- auto* cast = vec3<f32>(2.0f);
+ auto* cast = vec3<f32>(2_f);
auto* g = Global("g", ty.vec3<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -771,7 +771,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec3_With_F32_Vec2) {
- auto* cast = vec3<f32>(2.0f, vec2<f32>(2.0f, 2.0f));
+ auto* cast = vec3<f32>(2_f, vec2<f32>(2_f, 2_f));
auto* g = Global("g", ty.vec3<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -794,7 +794,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec3_With_Vec2_F32) {
- auto* cast = vec3<f32>(vec2<f32>(2.0f, 2.0f), 2.0f);
+ auto* cast = vec3<f32>(vec2<f32>(2_f, 2_f), 2_f);
auto* g = Global("g", ty.vec3<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -817,7 +817,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec4_With_F32) {
- auto* cast = vec4<f32>(2.0f);
+ auto* cast = vec4<f32>(2_f);
auto* g = Global("g", ty.vec4<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -833,7 +833,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec4_With_F32_F32_Vec2) {
- auto* cast = vec4<f32>(2.0f, 2.0f, vec2<f32>(2.0f, 2.0f));
+ auto* cast = vec4<f32>(2_f, 2_f, vec2<f32>(2_f, 2_f));
auto* g = Global("g", ty.vec4<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -856,7 +856,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec4_With_F32_Vec2_F32) {
- auto* cast = vec4<f32>(2.0f, vec2<f32>(2.0f, 2.0f), 2.0f);
+ auto* cast = vec4<f32>(2_f, vec2<f32>(2_f, 2_f), 2_f);
auto* g = Global("g", ty.vec4<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -879,7 +879,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec4_With_Vec2_F32_F32) {
- auto* cast = vec4<f32>(vec2<f32>(2.0f, 2.0f), 2.0f, 2.0f);
+ auto* cast = vec4<f32>(vec2<f32>(2_f, 2_f), 2_f, 2_f);
auto* g = Global("g", ty.vec4<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -902,7 +902,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec4_With_Vec2_Vec2) {
- auto* cast = vec4<f32>(vec2<f32>(2.0f, 2.0f), vec2<f32>(2.0f, 2.0f));
+ auto* cast = vec4<f32>(vec2<f32>(2_f, 2_f), vec2<f32>(2_f, 2_f));
auto* g = Global("g", ty.vec4<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -927,7 +927,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec4_With_F32_Vec3) {
- auto* cast = vec4<f32>(2.0f, vec3<f32>(2.0f, 2.0f, 2.0f));
+ auto* cast = vec4<f32>(2_f, vec3<f32>(2_f, 2_f, 2_f));
auto* g = Global("g", ty.vec4<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -952,7 +952,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ModuleScope_Vec4_With_Vec3_F32) {
- auto* cast = vec4<f32>(vec3<f32>(2.0f, 2.0f, 2.0f), 2.0f);
+ auto* cast = vec4<f32>(vec3<f32>(2_f, 2_f, 2_f), 2_f);
auto* g = Global("g", ty.vec4<f32>(), cast, ast::StorageClass::kPrivate);
spirv::Builder& b = Build();
@@ -977,7 +977,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat2x2_With_Vec2_Vec2) {
- auto* cast = mat2x2<f32>(vec2<f32>(2.0f, 2.0f), vec2<f32>(2.0f, 2.0f));
+ auto* cast = mat2x2<f32>(vec2<f32>(2_f, 2_f), vec2<f32>(2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -995,7 +995,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat3x2_With_Vec2_Vec2_Vec2) {
- auto* cast = mat3x2<f32>(vec2<f32>(2.0f, 2.0f), vec2<f32>(2.0f, 2.0f), vec2<f32>(2.0f, 2.0f));
+ auto* cast = mat3x2<f32>(vec2<f32>(2_f, 2_f), vec2<f32>(2_f, 2_f), vec2<f32>(2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1013,8 +1013,8 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat4x2_With_Vec2_Vec2_Vec2_Vec2) {
- auto* cast = mat4x2<f32>(vec2<f32>(2.0f, 2.0f), vec2<f32>(2.0f, 2.0f), vec2<f32>(2.0f, 2.0f),
- vec2<f32>(2.0f, 2.0f));
+ auto* cast = mat4x2<f32>(vec2<f32>(2_f, 2_f), vec2<f32>(2_f, 2_f), vec2<f32>(2_f, 2_f),
+ vec2<f32>(2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1032,7 +1032,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat2x3_With_Vec3_Vec3) {
- auto* cast = mat2x3<f32>(vec3<f32>(2.0f, 2.0f, 2.0f), vec3<f32>(2.0f, 2.0f, 2.0f));
+ auto* cast = mat2x3<f32>(vec3<f32>(2_f, 2_f, 2_f), vec3<f32>(2_f, 2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1050,8 +1050,8 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat3x3_With_Vec3_Vec3_Vec3) {
- auto* cast = mat3x3<f32>(vec3<f32>(2.0f, 2.0f, 2.0f), vec3<f32>(2.0f, 2.0f, 2.0f),
- vec3<f32>(2.0f, 2.0f, 2.0f));
+ auto* cast =
+ mat3x3<f32>(vec3<f32>(2_f, 2_f, 2_f), vec3<f32>(2_f, 2_f, 2_f), vec3<f32>(2_f, 2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1069,8 +1069,8 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat4x3_With_Vec3_Vec3_Vec3_Vec3) {
- auto* cast = mat4x3<f32>(vec3<f32>(2.0f, 2.0f, 2.0f), vec3<f32>(2.0f, 2.0f, 2.0f),
- vec3<f32>(2.0f, 2.0f, 2.0f), vec3<f32>(2.0f, 2.0f, 2.0f));
+ auto* cast = mat4x3<f32>(vec3<f32>(2_f, 2_f, 2_f), vec3<f32>(2_f, 2_f, 2_f),
+ vec3<f32>(2_f, 2_f, 2_f), vec3<f32>(2_f, 2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1088,7 +1088,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat2x4_With_Vec4_Vec4) {
- auto* cast = mat2x4<f32>(vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f), vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f));
+ auto* cast = mat2x4<f32>(vec4<f32>(2_f, 2_f, 2_f, 2_f), vec4<f32>(2_f, 2_f, 2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1106,8 +1106,8 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat3x4_With_Vec4_Vec4_Vec4) {
- auto* cast = mat3x4<f32>(vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f), vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f),
- vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f));
+ auto* cast = mat3x4<f32>(vec4<f32>(2_f, 2_f, 2_f, 2_f), vec4<f32>(2_f, 2_f, 2_f, 2_f),
+ vec4<f32>(2_f, 2_f, 2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1125,8 +1125,8 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat4x4_With_Vec4_Vec4_Vec4_Vec4) {
- auto* cast = mat4x4<f32>(vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f), vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f),
- vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f), vec4<f32>(2.0f, 2.0f, 2.0f, 2.0f));
+ auto* cast = mat4x4<f32>(vec4<f32>(2_f, 2_f, 2_f, 2_f), vec4<f32>(2_f, 2_f, 2_f, 2_f),
+ vec4<f32>(2_f, 2_f, 2_f, 2_f), vec4<f32>(2_f, 2_f, 2_f, 2_f));
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1144,7 +1144,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Array_5_F32) {
- auto* cast = array<f32, 5>(2.0f, 2.0f, 2.0f, 2.0f, 2.0f);
+ auto* cast = array<f32, 5>(2_f, 2_f, 2_f, 2_f, 2_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1162,8 +1162,8 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Array_2_Vec3) {
- auto* first = vec3<f32>(1.f, 2.f, 3.f);
- auto* second = vec3<f32>(1.f, 2.f, 3.f);
+ auto* first = vec3<f32>(1_f, 2_f, 3_f);
+ auto* second = vec3<f32>(1_f, 2_f, 3_f);
auto* t = Construct(ty.array(ty.vec3<f32>(), 2_u), first, second);
WrapInFunction(t);
spirv::Builder& b = Build();
@@ -1184,8 +1184,8 @@
}
TEST_F(SpvBuilderConstructorTest, CommonInitializer_TwoVectors) {
- auto* v1 = vec3<f32>(2.0f, 2.0f, 2.0f);
- auto* v2 = vec3<f32>(2.0f, 2.0f, 2.0f);
+ auto* v1 = vec3<f32>(2_f, 2_f, 2_f);
+ auto* v2 = vec3<f32>(2_f, 2_f, 2_f);
ast::StatementList stmts = {
WrapInStatement(v1),
WrapInStatement(v2),
@@ -1206,8 +1206,8 @@
}
TEST_F(SpvBuilderConstructorTest, CommonInitializer_TwoArrays) {
- auto* a1 = array<f32, 3>(2.0f, 2.0f, 2.0f);
- auto* a2 = array<f32, 3>(2.0f, 2.0f, 2.0f);
+ auto* a1 = array<f32, 3>(2_f, 2_f, 2_f);
+ auto* a2 = array<f32, 3>(2_f, 2_f, 2_f);
ast::StatementList stmts = {
WrapInStatement(a1),
WrapInStatement(a2),
@@ -1233,8 +1233,8 @@
// Test that initializers of different types with the same values produce
// different OpConstantComposite instructions.
// crbug.com/tint/777
- auto* a1 = array<f32, 2>(1.0f, 2.0f);
- auto* a2 = vec2<f32>(1.0f, 2.0f);
+ auto* a1 = array<f32, 2>(1_f, 2_f);
+ auto* a2 = vec2<f32>(1_f, 2_f);
ast::StatementList stmts = {
WrapInStatement(a1),
WrapInStatement(a2),
@@ -1264,7 +1264,7 @@
Member("b", ty.vec3<f32>()),
});
- auto* t = Construct(ty.Of(s), 2.0f, vec3<f32>(2.0f, 2.0f, 2.0f));
+ auto* t = Construct(ty.Of(s), 2_f, vec3<f32>(2_f, 2_f, 2_f));
WrapInFunction(t);
spirv::Builder& b = Build();
@@ -1463,7 +1463,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_F32_To_I32) {
- auto* cast = Construct<i32>(2.4f);
+ auto* cast = Construct<i32>(2.4_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1481,7 +1481,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_F32_To_U32) {
- auto* cast = Construct<u32>(2.4f);
+ auto* cast = Construct<u32>(2.4_f);
WrapInFunction(cast);
spirv::Builder& b = Build();
@@ -1692,7 +1692,7 @@
TEST_F(SpvBuilderConstructorTest, IsConstructorConst_GlobalVectorWithAllConstConstructors) {
// vec3<f32>(1.0, 2.0, 3.0) -> true
- auto* t = vec3<f32>(1.f, 2.f, 3.f);
+ auto* t = vec3<f32>(1_f, 2_f, 3_f);
WrapInFunction(t);
spirv::Builder& b = Build();
@@ -1704,8 +1704,8 @@
TEST_F(SpvBuilderConstructorTest, IsConstructorConst_GlobalArrayWithAllConstConstructors) {
// array<vec3<f32>, 2u>(vec3<f32>(1.0, 2.0, 3.0), vec3<f32>(1.0, 2.0, 3.0))
// -> true
- auto* t = Construct(ty.array(ty.vec3<f32>(), 2_u), vec3<f32>(1.f, 2.f, 3.f),
- vec3<f32>(1.f, 2.f, 3.f));
+ auto* t = Construct(ty.array(ty.vec3<f32>(), 2_u), vec3<f32>(1_f, 2_f, 3_f),
+ vec3<f32>(1_f, 2_f, 3_f));
WrapInFunction(t);
spirv::Builder& b = Build();
@@ -1717,7 +1717,7 @@
TEST_F(SpvBuilderConstructorTest, IsConstructorConst_GlobalVectorWithMatchingTypeConstructors) {
// vec2<f32>(f32(1.0), f32(2.0)) -> false
- auto* t = vec2<f32>(Construct<f32>(1.f), Construct<f32>(2.f));
+ auto* t = vec2<f32>(Construct<f32>(1_f), Construct<f32>(2_f));
WrapInFunction(t);
spirv::Builder& b = Build();
@@ -1741,7 +1741,7 @@
TEST_F(SpvBuilderConstructorTest, IsConstructorConst_VectorWithAllConstConstructors) {
// vec3<f32>(1.0, 2.0, 3.0) -> true
- auto* t = vec3<f32>(1.f, 2.f, 3.f);
+ auto* t = vec3<f32>(1_f, 2_f, 3_f);
WrapInFunction(t);
spirv::Builder& b = Build();
@@ -1770,8 +1770,8 @@
// array<vec3<f32>, 2u>(vec3<f32>(1.0, 2.0, 3.0), vec3<f32>(1.0, 2.0, 3.0))
// -> true
- auto* first = vec3<f32>(1.f, 2.f, 3.f);
- auto* second = vec3<f32>(1.f, 2.f, 3.f);
+ auto* first = vec3<f32>(1_f, 2_f, 3_f);
+ auto* second = vec3<f32>(1_f, 2_f, 3_f);
auto* t = Construct(ty.array(ty.vec3<f32>(), 2_u), first, second);
WrapInFunction(t);
@@ -1810,7 +1810,7 @@
Member("b", ty.vec3<f32>()),
});
- auto* t = Construct(ty.Of(s), 2.f, vec3<f32>(2.f, 2.f, 2.f));
+ auto* t = Construct(ty.Of(s), 2_f, vec3<f32>(2_f, 2_f, 2_f));
WrapInFunction(t);
spirv::Builder& b = Build();
@@ -1843,8 +1843,8 @@
// }
// let y = vec3<f32>(1.0, 2.0, 3.0); // Reuses the ID 'x'
- WrapInFunction(If(true, Block(Decl(Let("x", nullptr, vec3<f32>(1.f, 2.f, 3.f))))),
- Decl(Let("y", nullptr, vec3<f32>(1.f, 2.f, 3.f))));
+ WrapInFunction(If(true, Block(Decl(Let("x", nullptr, vec3<f32>(1_f, 2_f, 3_f))))),
+ Decl(Let("y", nullptr, vec3<f32>(1_f, 2_f, 3_f))));
spirv::Builder& b = SanitizeAndBuild();
ASSERT_TRUE(b.Build());
@@ -1887,9 +1887,9 @@
// }
// let y = vec3<f32>(one, 2.0, 3.0); // Mustn't reuse the ID 'x'
- WrapInFunction(Decl(Var("one", nullptr, Expr(1.f))),
- If(true, Block(Decl(Let("x", nullptr, vec3<f32>("one", 2.f, 3.f))))),
- Decl(Let("y", nullptr, vec3<f32>("one", 2.f, 3.f))));
+ WrapInFunction(Decl(Var("one", nullptr, Expr(1_f))),
+ If(true, Block(Decl(Let("x", nullptr, vec3<f32>("one", 2_f, 3_f))))),
+ Decl(Let("y", nullptr, vec3<f32>("one", 2_f, 3_f))));
spirv::Builder& b = SanitizeAndBuild();
ASSERT_TRUE(b.Build());
diff --git a/src/tint/writer/spirv/builder_entry_point_test.cc b/src/tint/writer/spirv/builder_entry_point_test.cc
index a38bb8e..50398a3 100644
--- a/src/tint/writer/spirv/builder_entry_point_test.cc
+++ b/src/tint/writer/spirv/builder_entry_point_test.cc
@@ -118,8 +118,8 @@
create<ast::BinaryExpression>(ast::BinaryOp::kGreaterThan, Expr("loc_in"), Expr(10_u));
Func("frag_main", ast::VariableList{loc_in}, ty.f32(),
ast::StatementList{
- If(cond, Block(Return(0.5f))),
- Return(1.0f),
+ If(cond, Block(Return(0.5_f))),
+ Return(1_f),
},
ast::AttributeList{
Stage(ast::PipelineStage::kFragment),
@@ -204,7 +204,7 @@
Member("pos", ty.vec4<f32>(), ast::AttributeList{Builtin(ast::Builtin::kPosition)}),
});
- auto* vert_retval = Construct(ty.Of(interface), 42.f, Construct(ty.vec4<f32>()));
+ auto* vert_retval = Construct(ty.Of(interface), 42_f, Construct(ty.vec4<f32>()));
Func("vert_main", ast::VariableList{}, ty.Of(interface), {Return(vert_retval)},
{Stage(ast::PipelineStage::kVertex)});
diff --git a/src/tint/writer/spirv/builder_function_attribute_test.cc b/src/tint/writer/spirv/builder_function_attribute_test.cc
index f4fdf6e..e5bb43d 100644
--- a/src/tint/writer/spirv/builder_function_attribute_test.cc
+++ b/src/tint/writer/spirv/builder_function_attribute_test.cc
@@ -244,7 +244,7 @@
TEST_F(BuilderTest, Decoration_ExecutionMode_FragDepth) {
Func("main", ast::VariableList{}, ty.f32(),
ast::StatementList{
- Return(Expr(1.f)),
+ Return(Expr(1_f)),
},
ast::AttributeList{Stage(ast::PipelineStage::kFragment)},
ast::AttributeList{
diff --git a/src/tint/writer/spirv/builder_function_variable_test.cc b/src/tint/writer/spirv/builder_function_variable_test.cc
index a3989a0..da72233 100644
--- a/src/tint/writer/spirv/builder_function_variable_test.cc
+++ b/src/tint/writer/spirv/builder_function_variable_test.cc
@@ -15,6 +15,8 @@
#include "src/tint/writer/spirv/spv_dump.h"
#include "src/tint/writer/spirv/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::spirv {
namespace {
@@ -42,7 +44,7 @@
}
TEST_F(BuilderTest, FunctionVar_WithConstantConstructor) {
- auto* init = vec3<f32>(1.f, 1.f, 3.f);
+ auto* init = vec3<f32>(1_f, 1_f, 3_f);
auto* v = Var("var", ty.vec3<f32>(), ast::StorageClass::kFunction, init);
WrapInFunction(v);
@@ -71,7 +73,7 @@
}
TEST_F(BuilderTest, FunctionVar_WithNonConstantConstructor) {
- auto* init = vec2<f32>(1.f, Add(3.f, 3.f));
+ auto* init = vec2<f32>(1_f, Add(3_f, 3_f));
auto* v = Var("var", ty.vec2<f32>(), ast::StorageClass::kNone, init);
WrapInFunction(v);
@@ -105,7 +107,7 @@
// var v : f32 = 1.0;
// var v2 : f32 = v; // Should generate the load and store automatically.
- auto* v = Var("v", ty.f32(), ast::StorageClass::kNone, Expr(1.f));
+ auto* v = Var("v", ty.f32(), ast::StorageClass::kNone, Expr(1_f));
auto* v2 = Var("v2", ty.f32(), ast::StorageClass::kNone, Expr("v"));
WrapInFunction(v, v2);
@@ -140,7 +142,7 @@
// var v : f32 = 1.0;
// let v2 : f32 = v; // Should generate the load
- auto* v = Var("v", ty.f32(), ast::StorageClass::kNone, Expr(1.f));
+ auto* v = Var("v", ty.f32(), ast::StorageClass::kNone, Expr(1_f));
auto* v2 = Var("v2", ty.f32(), ast::StorageClass::kNone, Expr("v"));
WrapInFunction(v, v2);
@@ -172,7 +174,7 @@
}
TEST_F(BuilderTest, FunctionVar_Const) {
- auto* init = vec3<f32>(1.f, 1.f, 3.f);
+ auto* init = vec3<f32>(1_f, 1_f, 3_f);
auto* v = Let("var", ty.vec3<f32>(), init);
diff --git a/src/tint/writer/spirv/builder_global_variable_test.cc b/src/tint/writer/spirv/builder_global_variable_test.cc
index 727c573..249c048 100644
--- a/src/tint/writer/spirv/builder_global_variable_test.cc
+++ b/src/tint/writer/spirv/builder_global_variable_test.cc
@@ -17,6 +17,8 @@
#include "src/tint/writer/spirv/spv_dump.h"
#include "src/tint/writer/spirv/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::spirv {
namespace {
@@ -38,7 +40,7 @@
}
TEST_F(BuilderTest, GlobalVar_WithConstructor) {
- auto* init = vec3<f32>(1.f, 1.f, 3.f);
+ auto* init = vec3<f32>(1_f, 1_f, 3_f);
auto* v = Global("var", ty.vec3<f32>(), ast::StorageClass::kPrivate, init);
@@ -60,7 +62,7 @@
}
TEST_F(BuilderTest, GlobalVar_Const) {
- auto* init = vec3<f32>(1.f, 1.f, 3.f);
+ auto* init = vec3<f32>(1_f, 1_f, 3_f);
auto* v = GlobalConst("var", ty.vec3<f32>(), init);
@@ -80,7 +82,7 @@
}
TEST_F(BuilderTest, GlobalVar_Complex_Constructor) {
- auto* init = vec3<f32>(ast::ExpressionList{Expr(1.f), Expr(2.f), Expr(3.f)});
+ auto* init = vec3<f32>(1_f, 2_f, 3_f);
auto* v = GlobalConst("var", ty.vec3<f32>(), init);
@@ -99,7 +101,7 @@
}
TEST_F(BuilderTest, GlobalVar_Complex_ConstructorWithExtract) {
- auto* init = vec3<f32>(vec2<f32>(1.f, 2.f), 3.f);
+ auto* init = vec3<f32>(vec2<f32>(1_f, 2_f), 3_f);
auto* v = GlobalConst("var", ty.vec3<f32>(), init);
@@ -201,7 +203,7 @@
}
TEST_F(BuilderTest, GlobalVar_Override_Scalar) {
- auto* v = Override("var", ty.f32(), Expr(2.f),
+ auto* v = Override("var", ty.f32(), Expr(2_f),
ast::AttributeList{
Id(0),
});
diff --git a/src/tint/writer/spirv/builder_ident_expression_test.cc b/src/tint/writer/spirv/builder_ident_expression_test.cc
index 540b5c1..e2e9826 100644
--- a/src/tint/writer/spirv/builder_ident_expression_test.cc
+++ b/src/tint/writer/spirv/builder_ident_expression_test.cc
@@ -23,7 +23,7 @@
using BuilderTest = TestHelper;
TEST_F(BuilderTest, IdentifierExpression_GlobalConst) {
- auto* init = vec3<f32>(1.f, 1.f, 3.f);
+ auto* init = vec3<f32>(1_f, 1_f, 3_f);
auto* v = GlobalConst("var", ty.vec3<f32>(), init);
@@ -67,7 +67,7 @@
}
TEST_F(BuilderTest, IdentifierExpression_FunctionConst) {
- auto* init = vec3<f32>(1.f, 1.f, 3.f);
+ auto* init = vec3<f32>(1_f, 1_f, 3_f);
auto* v = Let("var", ty.vec3<f32>(), init);
diff --git a/src/tint/writer/spirv/builder_literal_test.cc b/src/tint/writer/spirv/builder_literal_test.cc
index d8a0311..218db86 100644
--- a/src/tint/writer/spirv/builder_literal_test.cc
+++ b/src/tint/writer/spirv/builder_literal_test.cc
@@ -72,7 +72,7 @@
}
TEST_F(BuilderTest, Literal_I32) {
- auto* i = Expr(i32(-23));
+ auto* i = Expr(-23_i);
WrapInFunction(i);
spirv::Builder& b = Build();
@@ -86,8 +86,8 @@
}
TEST_F(BuilderTest, Literal_I32_Dedup) {
- auto* i1 = Expr(i32(-23));
- auto* i2 = Expr(i32(-23));
+ auto* i1 = Expr(-23_i);
+ auto* i2 = Expr(-23_i);
WrapInFunction(i1, i2);
spirv::Builder& b = Build();
@@ -133,7 +133,7 @@
}
TEST_F(BuilderTest, Literal_F32) {
- auto* i = create<ast::FloatLiteralExpression>(23.245f);
+ auto* i = create<ast::FloatLiteralExpression>(23.245, ast::FloatLiteralExpression::Suffix::kF);
WrapInFunction(i);
spirv::Builder& b = Build();
@@ -148,8 +148,8 @@
}
TEST_F(BuilderTest, Literal_F32_Dedup) {
- auto* i1 = create<ast::FloatLiteralExpression>(23.245f);
- auto* i2 = create<ast::FloatLiteralExpression>(23.245f);
+ auto* i1 = create<ast::FloatLiteralExpression>(23.245, ast::FloatLiteralExpression::Suffix::kF);
+ auto* i2 = create<ast::FloatLiteralExpression>(23.245, ast::FloatLiteralExpression::Suffix::kF);
WrapInFunction(i1, i2);
spirv::Builder& b = Build();
diff --git a/src/tint/writer/spirv/builder_return_test.cc b/src/tint/writer/spirv/builder_return_test.cc
index 635db28..0027311 100644
--- a/src/tint/writer/spirv/builder_return_test.cc
+++ b/src/tint/writer/spirv/builder_return_test.cc
@@ -15,6 +15,8 @@
#include "src/tint/writer/spirv/spv_dump.h"
#include "src/tint/writer/spirv/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::spirv {
namespace {
@@ -35,7 +37,7 @@
}
TEST_F(BuilderTest, Return_WithValue) {
- auto* val = vec3<f32>(1.f, 1.f, 3.f);
+ auto* val = vec3<f32>(1_f, 1_f, 3_f);
auto* ret = Return(val);
Func("test", {}, ty.vec3<f32>(), {ret}, {});
diff --git a/src/tint/writer/spirv/builder_unary_op_expression_test.cc b/src/tint/writer/spirv/builder_unary_op_expression_test.cc
index c34ae32..fa80828 100644
--- a/src/tint/writer/spirv/builder_unary_op_expression_test.cc
+++ b/src/tint/writer/spirv/builder_unary_op_expression_test.cc
@@ -39,7 +39,7 @@
}
TEST_F(BuilderTest, UnaryOp_Negation_Float) {
- auto* expr = create<ast::UnaryOpExpression>(ast::UnaryOp::kNegation, Expr(1.f));
+ auto* expr = create<ast::UnaryOpExpression>(ast::UnaryOp::kNegation, Expr(1_f));
WrapInFunction(expr);
spirv::Builder& b = Build();
diff --git a/src/tint/writer/wgsl/generator_impl.cc b/src/tint/writer/wgsl/generator_impl.cc
index 588a6e9..3ef6269 100644
--- a/src/tint/writer/wgsl/generator_impl.cc
+++ b/src/tint/writer/wgsl/generator_impl.cc
@@ -262,7 +262,7 @@
return true;
},
[&](const ast::FloatLiteralExpression* l) { //
- out << FloatToBitPreservingString(l->value);
+ out << FloatToBitPreservingString(static_cast<float>(l->value));
return true;
},
[&](const ast::IntLiteralExpression* l) { //
diff --git a/src/tint/writer/wgsl/generator_impl_call_test.cc b/src/tint/writer/wgsl/generator_impl_call_test.cc
index 0736ad8..6a7e077 100644
--- a/src/tint/writer/wgsl/generator_impl_call_test.cc
+++ b/src/tint/writer/wgsl/generator_impl_call_test.cc
@@ -15,13 +15,15 @@
#include "src/tint/ast/call_statement.h"
#include "src/tint/writer/wgsl/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::wgsl {
namespace {
using WgslGeneratorImplTest = TestHelper;
TEST_F(WgslGeneratorImplTest, EmitExpression_Call_WithoutParams) {
- Func("my_func", {}, ty.f32(), {Return(1.23f)});
+ Func("my_func", {}, ty.f32(), {Return(1.23_f)});
auto* call = Call("my_func");
WrapInFunction(call);
@@ -39,7 +41,7 @@
Param(Sym(), ty.f32()),
Param(Sym(), ty.f32()),
},
- ty.f32(), {Return(1.23f)});
+ ty.f32(), {Return(1.23_f)});
Global("param1", ty.f32(), ast::StorageClass::kPrivate);
Global("param2", ty.f32(), ast::StorageClass::kPrivate);
diff --git a/src/tint/writer/wgsl/generator_impl_constructor_test.cc b/src/tint/writer/wgsl/generator_impl_constructor_test.cc
index 3fbf3f1..7a147c2 100644
--- a/src/tint/writer/wgsl/generator_impl_constructor_test.cc
+++ b/src/tint/writer/wgsl/generator_impl_constructor_test.cc
@@ -34,7 +34,7 @@
}
TEST_F(WgslGeneratorImplTest, EmitConstructor_Int) {
- WrapInFunction(Expr(i32(-12345)));
+ WrapInFunction(Expr(-12345_i));
GeneratorImpl& gen = Build();
@@ -62,7 +62,7 @@
}
TEST_F(WgslGeneratorImplTest, EmitConstructor_Type_Float) {
- WrapInFunction(Construct<f32>(Expr(-1.2e-5f)));
+ WrapInFunction(Construct<f32>(Expr(-1.2e-5_f)));
GeneratorImpl& gen = Build();
@@ -80,7 +80,7 @@
}
TEST_F(WgslGeneratorImplTest, EmitConstructor_Type_Int) {
- WrapInFunction(Construct<i32>(i32(-12345)));
+ WrapInFunction(Construct<i32>(-12345_i));
GeneratorImpl& gen = Build();
@@ -98,7 +98,7 @@
}
TEST_F(WgslGeneratorImplTest, EmitConstructor_Type_Vec) {
- WrapInFunction(vec3<f32>(1.f, 2.f, 3.f));
+ WrapInFunction(vec3<f32>(1_f, 2_f, 3_f));
GeneratorImpl& gen = Build();
@@ -107,7 +107,7 @@
}
TEST_F(WgslGeneratorImplTest, EmitConstructor_Type_Mat) {
- WrapInFunction(mat2x3<f32>(vec3<f32>(1.f, 2.f, 3.f), vec3<f32>(3.f, 4.f, 5.f)));
+ WrapInFunction(mat2x3<f32>(vec3<f32>(1_f, 2_f, 3_f), vec3<f32>(3_f, 4_f, 5_f)));
GeneratorImpl& gen = Build();
@@ -117,8 +117,8 @@
}
TEST_F(WgslGeneratorImplTest, EmitConstructor_Type_Array) {
- WrapInFunction(Construct(ty.array(ty.vec3<f32>(), 3_u), vec3<f32>(1.0f, 2.0f, 3.0f),
- vec3<f32>(4.0f, 5.0f, 6.0f), vec3<f32>(7.0f, 8.0f, 9.0f)));
+ WrapInFunction(Construct(ty.array(ty.vec3<f32>(), 3_u), vec3<f32>(1_f, 2_f, 3_f),
+ vec3<f32>(4_f, 5_f, 6_f), vec3<f32>(7_f, 8_f, 9_f)));
GeneratorImpl& gen = Build();
diff --git a/src/tint/writer/wgsl/generator_impl_function_test.cc b/src/tint/writer/wgsl/generator_impl_function_test.cc
index 79a95d5..da91948 100644
--- a/src/tint/writer/wgsl/generator_impl_function_test.cc
+++ b/src/tint/writer/wgsl/generator_impl_function_test.cc
@@ -123,7 +123,7 @@
TEST_F(WgslGeneratorImplTest, Emit_Function_EntryPoint_ReturnValue) {
auto* func = Func("frag_main", ast::VariableList{}, ty.f32(),
ast::StatementList{
- Return(1.f),
+ Return(1_f),
},
ast::AttributeList{
Stage(ast::PipelineStage::kFragment),
diff --git a/src/tint/writer/wgsl/generator_impl_literal_test.cc b/src/tint/writer/wgsl/generator_impl_literal_test.cc
index 64d97a4..353bd36 100644
--- a/src/tint/writer/wgsl/generator_impl_literal_test.cc
+++ b/src/tint/writer/wgsl/generator_impl_literal_test.cc
@@ -16,6 +16,8 @@
#include "src/tint/writer/wgsl/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::wgsl {
namespace {
@@ -23,7 +25,7 @@
// - 0 sign if sign is 0, 1 otherwise
// - 'exponent_bits' is placed in the exponent space.
// So, the exponent bias must already be included.
-float MakeFloat(int sign, int biased_exponent, int mantissa) {
+f32 MakeFloat(int sign, int biased_exponent, int mantissa) {
const uint32_t sign_bit = sign ? 0x80000000u : 0u;
// The binary32 exponent is 8 bits, just below the sign.
const uint32_t exponent_bits = (biased_exponent & 0xffu) << 23;
@@ -35,11 +37,11 @@
static_assert(sizeof(result) == sizeof(bits),
"expected float and uint32_t to be the same size");
std::memcpy(&result, &bits, sizeof(bits));
- return result;
+ return f32(result);
}
struct FloatData {
- float value;
+ f32 value;
std::string expected;
};
inline std::ostream& operator<<(std::ostream& out, FloatData data) {
@@ -62,15 +64,15 @@
INSTANTIATE_TEST_SUITE_P(Zero,
WgslGenerator_FloatLiteralTest,
- ::testing::ValuesIn(std::vector<FloatData>{{0.0f, "0.0"},
+ ::testing::ValuesIn(std::vector<FloatData>{{0_f, "0.0"},
{MakeFloat(0, 0, 0), "0.0"},
{MakeFloat(1, 0, 0), "-0.0"}}));
INSTANTIATE_TEST_SUITE_P(Normal,
WgslGenerator_FloatLiteralTest,
- ::testing::ValuesIn(std::vector<FloatData>{{1.0f, "1.0"},
- {-1.0f, "-1.0"},
- {101.375, "101.375"}}));
+ ::testing::ValuesIn(std::vector<FloatData>{{1_f, "1.0"},
+ {-1_f, "-1.0"},
+ {101.375_f, "101.375"}}));
INSTANTIATE_TEST_SUITE_P(Subnormal,
WgslGenerator_FloatLiteralTest,
diff --git a/src/tint/writer/wgsl/generator_impl_variable_test.cc b/src/tint/writer/wgsl/generator_impl_variable_test.cc
index 8ebe6c5..80f6259 100644
--- a/src/tint/writer/wgsl/generator_impl_variable_test.cc
+++ b/src/tint/writer/wgsl/generator_impl_variable_test.cc
@@ -14,6 +14,8 @@
#include "src/tint/writer/wgsl/test_helper.h"
+using namespace tint::number_suffixes; // NOLINT
+
namespace tint::writer::wgsl {
namespace {
@@ -99,7 +101,7 @@
}
TEST_F(WgslGeneratorImplTest, EmitVariable_Constructor) {
- auto* v = Global("a", ty.f32(), ast::StorageClass::kPrivate, Expr(1.0f));
+ auto* v = Global("a", ty.f32(), ast::StorageClass::kPrivate, Expr(1_f));
GeneratorImpl& gen = Build();
@@ -109,7 +111,7 @@
}
TEST_F(WgslGeneratorImplTest, EmitVariable_Const) {
- auto* v = Let("a", ty.f32(), Expr(1.0f));
+ auto* v = Let("a", ty.f32(), Expr(1_f));
WrapInFunction(Decl(v));
GeneratorImpl& gen = Build();