builtins: Add countTrailingZeros
Requires polyfilling for all but the MSL backend.
CTS tests: https://github.com/gpuweb/cts/pull/1002
Bug: tint:1367
Change-Id: I0cf56b74c01f30436f9ad00595a554a4042587e4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81501
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/builtin_table.inl b/src/tint/builtin_table.inl
index de4e587..dd7120d 100644
--- a/src/tint/builtin_table.inl
+++ b/src/tint/builtin_table.inl
@@ -1666,10 +1666,10 @@
/* [24] */ 8,
/* [25] */ 0,
/* [26] */ 1,
- /* [27] */ 29,
+ /* [27] */ 30,
/* [28] */ 0,
/* [29] */ 1,
- /* [30] */ 30,
+ /* [30] */ 29,
/* [31] */ 0,
/* [32] */ 1,
/* [33] */ 28,
@@ -1720,38 +1720,38 @@
/* [78] */ 8,
/* [79] */ 0,
/* [80] */ 3,
- /* [81] */ 15,
- /* [82] */ 0,
- /* [83] */ 7,
- /* [84] */ 2,
- /* [85] */ 18,
+ /* [81] */ 7,
+ /* [82] */ 2,
+ /* [83] */ 5,
+ /* [84] */ 3,
+ /* [85] */ 5,
/* [86] */ 2,
- /* [87] */ 5,
- /* [88] */ 3,
- /* [89] */ 5,
+ /* [87] */ 18,
+ /* [88] */ 2,
+ /* [89] */ 6,
/* [90] */ 2,
- /* [91] */ 6,
+ /* [91] */ 17,
/* [92] */ 2,
- /* [93] */ 17,
- /* [94] */ 2,
- /* [95] */ 6,
- /* [96] */ 3,
+ /* [93] */ 6,
+ /* [94] */ 3,
+ /* [95] */ 16,
+ /* [96] */ 2,
/* [97] */ 19,
/* [98] */ 2,
- /* [99] */ 16,
+ /* [99] */ 20,
/* [100] */ 2,
- /* [101] */ 20,
- /* [102] */ 2,
- /* [103] */ 33,
+ /* [101] */ 33,
+ /* [102] */ 0,
+ /* [103] */ 5,
/* [104] */ 0,
- /* [105] */ 5,
+ /* [105] */ 35,
/* [106] */ 0,
- /* [107] */ 35,
- /* [108] */ 0,
+ /* [107] */ 7,
+ /* [108] */ 3,
/* [109] */ 7,
- /* [110] */ 3,
- /* [111] */ 7,
- /* [112] */ 4,
+ /* [110] */ 4,
+ /* [111] */ 15,
+ /* [112] */ 0,
/* [113] */ 7,
/* [114] */ 0,
/* [115] */ 16,
@@ -1768,11 +1768,11 @@
/* [126] */ 0,
/* [127] */ 15,
/* [128] */ 2,
- /* [129] */ 14,
- /* [130] */ 25,
- /* [131] */ 23,
- /* [132] */ 22,
- /* [133] */ 24,
+ /* [129] */ 25,
+ /* [130] */ 23,
+ /* [131] */ 22,
+ /* [132] */ 24,
+ /* [133] */ 14,
/* [134] */ 26,
/* [135] */ 13,
/* [136] */ 31,
@@ -1790,7 +1790,7 @@
{
/* [0] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [1] */
@@ -1800,7 +1800,7 @@
{
/* [2] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [3] */
@@ -1810,22 +1810,22 @@
{
/* [4] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [5] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [6] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [7] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [8] */
@@ -1835,27 +1835,27 @@
{
/* [9] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [10] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [11] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [12] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [13] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [14] */
@@ -1865,7 +1865,7 @@
{
/* [15] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [16] */
@@ -1874,18 +1874,18 @@
},
{
/* [17] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [18] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [19] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [20] */
@@ -1895,7 +1895,7 @@
{
/* [21] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [22] */
@@ -1910,22 +1910,22 @@
{
/* [24] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [25] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [26] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [27] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [28] */
@@ -1934,48 +1934,48 @@
},
{
/* [29] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [30] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [31] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [32] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
+ },
+ {
+ /* [33] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [33] */
+ /* [34] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
- /* [34] */
+ /* [35] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [35] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
/* [36] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[89],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [37] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [38] */
@@ -2000,17 +2000,17 @@
{
/* [42] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [43] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [44] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [45] */
@@ -2024,58 +2024,58 @@
},
{
/* [47] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [48] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [49] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [50] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
- },
- {
- /* [51] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [52] */
- /* usage */ ParameterUsage::kCoords,
+ /* usage */ ParameterUsage::kDdx,
/* matcher indices */ &kMatcherIndices[89],
},
{
- /* [53] */
+ /* [48] */
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [49] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [50] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [51] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [52] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
+ /* [53] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
/* [54] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [55] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [56] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [57] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [58] */
@@ -2084,28 +2084,28 @@
},
{
/* [59] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [60] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [61] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [62] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [63] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [64] */
@@ -2120,12 +2120,12 @@
{
/* [66] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [67] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [68] */
@@ -2135,127 +2135,127 @@
{
/* [69] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [70] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [71] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [72] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [73] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [74] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [75] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [76] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [77] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [78] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [79] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [80] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [81] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [82] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [83] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [84] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [85] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [86] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [87] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [88] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
- },
- {
- /* [89] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [90] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
- },
- {
- /* [91] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
+ /* [87] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [88] */
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [89] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
+ },
+ {
+ /* [90] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [91] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
/* [92] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [93] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [94] */
@@ -2269,53 +2269,53 @@
},
{
/* [96] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [97] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [98] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [99] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [100] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [101] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [102] */
/* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
- /* [102] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
/* [103] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [104] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [105] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [106] */
@@ -2324,18 +2324,18 @@
},
{
/* [107] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [108] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [109] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [110] */
@@ -2344,53 +2344,53 @@
},
{
/* [111] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [112] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [113] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[101],
- },
- {
- /* [114] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [115] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
- },
- {
- /* [116] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [117] */
- /* usage */ ParameterUsage::kBias,
+ /* [112] */
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
+ /* [113] */
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [114] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
+ },
+ {
+ /* [115] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [116] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [117] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
/* [118] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [119] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [120] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [121] */
@@ -2404,43 +2404,43 @@
},
{
/* [123] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [124] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
- },
- {
- /* [125] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [126] */
+ /* [125] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[89],
},
{
+ /* [126] */
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
/* [127] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [128] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [129] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [130] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [131] */
@@ -2455,7 +2455,7 @@
{
/* [133] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [134] */
@@ -2465,72 +2465,72 @@
{
/* [135] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [136] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [137] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [138] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
- },
- {
- /* [139] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [140] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
- },
- {
- /* [141] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [142] */
- /* usage */ ParameterUsage::kDepthRef,
+ /* usage */ ParameterUsage::kBias,
/* matcher indices */ &kMatcherIndices[12],
},
{
- /* [143] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* [137] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
- /* [144] */
+ /* [138] */
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [139] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[115],
+ },
+ {
+ /* [140] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
+ /* [141] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [142] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [143] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [144] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
/* [145] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [146] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[89],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [147] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[89],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [148] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [149] */
@@ -2540,22 +2540,22 @@
{
/* [150] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [151] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [152] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [153] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [154] */
@@ -2569,18 +2569,18 @@
},
{
/* [156] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [157] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [158] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [159] */
@@ -2590,7 +2590,7 @@
{
/* [160] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [161] */
@@ -2600,87 +2600,87 @@
{
/* [162] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [163] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [164] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [165] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [166] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [167] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [168] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [169] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [170] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [171] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [167] */
+ /* [172] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[12],
},
{
- /* [168] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [169] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
- },
- {
- /* [170] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [171] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [172] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
/* [173] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [174] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [175] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [176] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [177] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [178] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [179] */
@@ -2690,22 +2690,22 @@
{
/* [180] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [181] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [182] */
/* usage */ ParameterUsage::kBias,
/* matcher indices */ &kMatcherIndices[12],
},
{
- /* [182] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
- },
- {
/* [183] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [184] */
@@ -2719,18 +2719,18 @@
},
{
/* [186] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [187] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [188] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [189] */
@@ -2740,7 +2740,7 @@
{
/* [190] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [191] */
@@ -2749,7 +2749,7 @@
},
{
/* [192] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kBias,
/* matcher indices */ &kMatcherIndices[12],
},
{
@@ -2769,43 +2769,43 @@
},
{
/* [196] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [197] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[12],
},
{
- /* [197] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
/* [198] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [199] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [200] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [201] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [202] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [203] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [204] */
@@ -2819,18 +2819,18 @@
},
{
/* [206] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [207] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [208] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [209] */
@@ -2840,22 +2840,22 @@
{
/* [210] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [211] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [212] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [213] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [214] */
@@ -2865,7 +2865,7 @@
{
/* [215] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [216] */
@@ -2874,33 +2874,33 @@
},
{
/* [217] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [218] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [219] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [220] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [221] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [222] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [223] */
@@ -2910,17 +2910,17 @@
{
/* [224] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [225] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [226] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [227] */
@@ -2930,17 +2930,17 @@
{
/* [228] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [229] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [230] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [231] */
@@ -2954,13 +2954,13 @@
},
{
/* [233] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
/* [234] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [235] */
@@ -2974,13 +2974,13 @@
},
{
/* [237] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [238] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [239] */
@@ -2990,77 +2990,77 @@
{
/* [240] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [241] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
/* [242] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [243] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [244] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [245] */
- /* usage */ ParameterUsage::kDepthRef,
+ /* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [246] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[69],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [247] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [248] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [249] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[83],
- },
- {
- /* [250] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
- },
- {
- /* [251] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [252] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[89],
},
{
- /* [253] */
- /* usage */ ParameterUsage::kDepthRef,
+ /* [249] */
+ /* usage */ ParameterUsage::kBias,
/* matcher indices */ &kMatcherIndices[12],
},
{
+ /* [250] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[69],
+ },
+ {
+ /* [251] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [252] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [253] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[81],
+ },
+ {
/* [254] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [255] */
@@ -3074,13 +3074,13 @@
},
{
/* [257] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [258] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [259] */
@@ -3090,37 +3090,37 @@
{
/* [260] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [261] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [262] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[57],
},
{
/* [263] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [264] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [265] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[107],
},
{
/* [266] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [267] */
@@ -3130,7 +3130,7 @@
{
/* [268] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [269] */
@@ -3140,32 +3140,32 @@
{
/* [270] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[45],
},
{
/* [271] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [272] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [273] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [274] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [275] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [276] */
@@ -3174,23 +3174,23 @@
},
{
/* [277] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [278] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [279] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [280] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [281] */
@@ -3200,267 +3200,267 @@
{
/* [282] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[57],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [283] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [284] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [285] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [286] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
- },
- {
- /* [287] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [288] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [289] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [290] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[45],
- },
- {
- /* [291] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [292] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [293] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[111],
- },
- {
- /* [294] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
- },
- {
- /* [295] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [296] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [297] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [298] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [299] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
- },
- {
- /* [300] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [301] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
- },
- {
- /* [302] */
- /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[117],
},
{
- /* [303] */
+ /* [287] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
- /* [304] */
+ /* [288] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [305] */
+ /* [289] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [306] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [307] */
+ /* [290] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
- /* [308] */
+ /* [291] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [309] */
+ /* [292] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [293] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [294] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [295] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [296] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [297] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [298] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
+ /* [299] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [300] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[89],
},
{
- /* [310] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[85],
+ /* [301] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
- /* [311] */
+ /* [302] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[87],
+ },
+ {
+ /* [303] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
+ /* [304] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [305] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[93],
+ },
+ {
+ /* [306] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [307] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [308] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [309] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [310] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
+ },
+ {
+ /* [311] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
/* [312] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [313] */
- /* usage */ ParameterUsage::kBias,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [314] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [315] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [316] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [317] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
/* [318] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[101],
- },
- {
- /* [319] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [320] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
- },
- {
- /* [321] */
- /* usage */ ParameterUsage::kArrayIndex,
+ /* usage */ ParameterUsage::kComponent,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [322] */
+ /* [319] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[123],
},
{
- /* [323] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [324] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
- },
- {
- /* [325] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [326] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
- },
- {
- /* [327] */
+ /* [320] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [328] */
+ /* [321] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[89],
},
{
+ /* [322] */
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [323] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[115],
+ },
+ {
+ /* [324] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [325] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [326] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [327] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [328] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
/* [329] */
- /* usage */ ParameterUsage::kBias,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [330] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [331] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [332] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [333] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [334] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [335] */
@@ -3470,17 +3470,17 @@
{
/* [336] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [337] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [338] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [339] */
@@ -3490,32 +3490,32 @@
{
/* [340] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [341] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [342] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[54],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [343] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [344] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [345] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [346] */
@@ -3525,242 +3525,242 @@
{
/* [347] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [348] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [349] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [350] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [351] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[132],
},
{
- /* [349] */
+ /* [352] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [350] */
+ /* [353] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[89],
},
{
- /* [351] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
- },
- {
- /* [352] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [353] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
/* [354] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[72],
},
{
/* [355] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [356] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [357] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [358] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [359] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [360] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[66],
},
{
/* [361] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [362] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [363] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[63],
},
{
/* [364] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [365] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [366] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [367] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [368] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [369] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [370] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [371] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
- },
- {
- /* [372] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
- },
- {
- /* [373] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [374] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [375] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[127],
- },
- {
- /* [376] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [377] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [378] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[136],
- },
- {
- /* [379] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [380] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [381] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[75],
- },
- {
- /* [382] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[55],
},
{
+ /* [365] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[107],
+ },
+ {
+ /* [366] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[60],
+ },
+ {
+ /* [367] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [368] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[107],
+ },
+ {
+ /* [369] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[54],
+ },
+ {
+ /* [370] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[93],
+ },
+ {
+ /* [371] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[107],
+ },
+ {
+ /* [372] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
+ },
+ {
+ /* [373] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [374] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [375] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[51],
+ },
+ {
+ /* [376] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [377] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[109],
+ },
+ {
+ /* [378] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[48],
+ },
+ {
+ /* [379] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [380] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[109],
+ },
+ {
+ /* [381] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[42],
+ },
+ {
+ /* [382] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[93],
+ },
+ {
/* [383] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[83],
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [384] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[72],
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [385] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [386] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[83],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [387] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [388] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [389] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [390] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[127],
},
{
/* [391] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [392] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [393] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [394] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [395] */
@@ -3769,53 +3769,53 @@
},
{
/* [396] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[66],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [397] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [398] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[83],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [399] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [400] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [401] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [402] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [403] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [404] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [405] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [406] */
@@ -3825,57 +3825,57 @@
{
/* [407] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [408] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[63],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [409] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [410] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [411] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[60],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [412] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [413] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [414] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[51],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [415] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[55],
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [416] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[111],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [417] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [418] */
@@ -3885,77 +3885,77 @@
{
/* [419] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [420] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[48],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [421] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [422] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[111],
+ /* usage */ ParameterUsage::kSampleIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [423] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[42],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [424] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [425] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[111],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [426] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [427] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [428] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [429] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [430] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [431] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [432] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [433] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [434] */
@@ -3964,118 +3964,118 @@
},
{
/* [435] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [436] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [437] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [438] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [439] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [440] */
- /* usage */ ParameterUsage::kSampleIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [441] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
- },
- {
- /* [442] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [443] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [444] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [445] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [446] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [447] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [448] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [449] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [450] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[134],
- },
- {
- /* [451] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [452] */
- /* usage */ ParameterUsage::kSampleIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [453] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [454] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [455] */
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[10],
},
{
+ /* [441] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [442] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [443] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [444] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [445] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [446] */
+ /* usage */ ParameterUsage::kSampleIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [447] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [448] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [449] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [450] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [451] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [452] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [453] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[75],
+ },
+ {
+ /* [454] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [455] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[81],
+ },
+ {
/* [456] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [457] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [458] */
@@ -4084,48 +4084,48 @@
},
{
/* [459] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [460] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [461] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [462] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [463] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [464] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [465] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [466] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [467] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [468] */
@@ -4135,17 +4135,17 @@
{
/* [469] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [470] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [471] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [472] */
@@ -4155,42 +4155,42 @@
{
/* [473] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [474] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[78],
},
{
/* [475] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[136],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [476] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [477] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [478] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [479] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [480] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [481] */
@@ -4205,12 +4205,12 @@
{
/* [483] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [484] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [485] */
@@ -4225,12 +4225,12 @@
{
/* [487] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [488] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [489] */
@@ -4245,47 +4245,47 @@
{
/* [491] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [492] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [493] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [494] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [495] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [496] */
- /* usage */ ParameterUsage::kNone,
+ /* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[55],
},
{
/* [497] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [498] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[78],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [499] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [500] */
@@ -4295,37 +4295,37 @@
{
/* [501] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [502] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [503] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [504] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [505] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [506] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [507] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [508] */
@@ -4344,38 +4344,38 @@
},
{
/* [511] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [512] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [513] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[81],
- },
- {
- /* [514] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [515] */
+ /* [513] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[0],
+ },
+ {
+ /* [514] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [515] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [516] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [517] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [518] */
@@ -4384,18 +4384,18 @@
},
{
/* [519] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [520] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [521] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [522] */
@@ -4404,18 +4404,18 @@
},
{
/* [523] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [524] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [525] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [526] */
@@ -4424,18 +4424,18 @@
},
{
/* [527] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [528] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [529] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [530] */
@@ -4444,33 +4444,33 @@
},
{
/* [531] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [532] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [533] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [534] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [535] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [536] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [537] */
@@ -4480,112 +4480,112 @@
{
/* [538] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [539] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
- },
- {
- /* [540] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [541] */
- /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[130],
},
{
- /* [542] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [543] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[134],
- },
- {
- /* [544] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[36],
- },
- {
- /* [545] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[33],
- },
- {
- /* [546] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[27],
- },
- {
- /* [547] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[30],
- },
- {
- /* [548] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[136],
- },
- {
- /* [549] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [550] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
- },
- {
- /* [551] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [552] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [553] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
- },
- {
- /* [554] */
+ /* [540] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[115],
},
{
+ /* [541] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
+ },
+ {
+ /* [542] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[111],
+ },
+ {
+ /* [543] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
+ },
+ {
+ /* [544] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
+ },
+ {
+ /* [545] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [546] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[36],
+ },
+ {
+ /* [547] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[33],
+ },
+ {
+ /* [548] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[30],
+ },
+ {
+ /* [549] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[27],
+ },
+ {
+ /* [550] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[136],
+ },
+ {
+ /* [551] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
+ },
+ {
+ /* [552] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
+ },
+ {
+ /* [553] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
+ },
+ {
+ /* [554] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
+ },
+ {
/* [555] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[83],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [556] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[83],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [557] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[13],
},
{
/* [558] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [559] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [560] */
@@ -4595,102 +4595,102 @@
{
/* [561] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [562] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [563] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [564] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [565] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [566] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
- },
- {
- /* [567] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
- },
- {
- /* [568] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
- },
- {
- /* [569] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [570] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
- },
- {
- /* [571] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[27],
- },
- {
- /* [572] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[81],
- },
- {
- /* [573] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
- },
- {
- /* [574] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
- },
- {
- /* [575] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[119],
},
{
- /* [576] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* [567] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
- /* [577] */
+ /* [568] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [569] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
+ },
+ {
+ /* [570] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[125],
},
{
+ /* [571] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [572] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
+ },
+ {
+ /* [573] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[30],
+ },
+ {
+ /* [574] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[111],
+ },
+ {
+ /* [575] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[115],
+ },
+ {
+ /* [576] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
+ },
+ {
+ /* [577] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[119],
+ },
+ {
/* [578] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [579] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [580] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [581] */
@@ -4700,32 +4700,32 @@
{
/* [582] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [583] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [584] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [585] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [586] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [587] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [588] */
@@ -4735,12 +4735,12 @@
{
/* [589] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [590] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [591] */
@@ -4755,32 +4755,32 @@
{
/* [593] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [594] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [595] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [596] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [597] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [598] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [599] */
@@ -4945,22 +4945,22 @@
{
/* [631] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[13],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [632] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [633] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [634] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [635] */
@@ -4980,42 +4980,42 @@
{
/* [638] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [639] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [640] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [641] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [642] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [643] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [644] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [645] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[17],
},
{
/* [646] */
@@ -5030,112 +5030,112 @@
{
/* [648] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [649] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [650] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [651] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [652] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [653] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [654] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[4],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [655] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [656] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [657] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [658] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [659] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [660] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [661] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [662] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [663] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [664] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[4],
},
{
/* [665] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [666] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [667] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [668] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [669] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [670] */
@@ -5145,6 +5145,16 @@
{
/* [671] */
/* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [672] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
+ },
+ {
+ /* [673] */
+ /* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[1],
},
};
@@ -5213,7 +5223,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[563],
+ /* parameters */ &kParameters[542],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5225,7 +5235,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[513],
+ /* parameters */ &kParameters[517],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5237,8 +5247,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[554],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[540],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5249,8 +5259,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[517],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[521],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5261,8 +5271,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[553],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[538],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5273,8 +5283,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[521],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[525],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5285,8 +5295,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[550],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[566],
+ /* return matcher indices */ &kMatcherIndices[93],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5297,8 +5307,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[505],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[529],
+ /* return matcher indices */ &kMatcherIndices[93],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5309,8 +5319,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[538],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[535],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5321,8 +5331,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[529],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[477],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5333,8 +5343,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[536],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[534],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5345,8 +5355,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[459],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[495],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5357,8 +5367,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[534],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[536],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5369,8 +5379,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[535],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[537],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5381,8 +5391,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[531],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[523],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5393,8 +5403,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[537],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[539],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5405,8 +5415,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[527],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[519],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5417,8 +5427,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[539],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[541],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5429,8 +5439,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[503],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[515],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5441,8 +5451,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[541],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[543],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5453,8 +5463,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[525],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[511],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5465,8 +5475,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[543],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[545],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5477,7 +5487,7 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[544],
+ /* parameters */ &kParameters[546],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5489,8 +5499,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[545],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[547],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5501,8 +5511,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[546],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[548],
+ /* return matcher indices */ &kMatcherIndices[83],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5513,8 +5523,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[547],
- /* return matcher indices */ &kMatcherIndices[95],
+ /* parameters */ &kParameters[549],
+ /* return matcher indices */ &kMatcherIndices[93],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5525,81 +5535,81 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[548],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[550],
+ /* return matcher indices */ &kMatcherIndices[83],
/* 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[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[375],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[258],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* 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[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[372],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [29] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[234],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [30] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[254],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [31] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[213],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[148],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* 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[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[360],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[168],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* 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[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[13],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* 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[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[242],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* 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[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[183],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -5609,21 +5619,21 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[270],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[234],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* 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[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[354],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[193],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -5633,177 +5643,177 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[318],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[226],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [36] */
- /* num parameters */ 3,
+ /* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[348],
+ /* parameters */ &kParameters[208],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [37] */
- /* num parameters */ 4,
+ /* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[334],
+ /* parameters */ &kParameters[213],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [38] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[338],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [39] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[158],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [40] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[345],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [41] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[330],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [42] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[218],
- /* return matcher indices */ &kMatcherIndices[83],
- /* 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[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[193],
- /* return matcher indices */ &kMatcherIndices[83],
- /* 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[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[188],
- /* return matcher indices */ &kMatcherIndices[83],
- /* 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[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[25],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[67],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [46] */
+ /* [39] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[222],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [47] */
+ /* [40] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[173],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[203],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
+ /* [41] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[345],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [42] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[390],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [43] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[426],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [44] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[338],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [45] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[314],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [46] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[83],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [47] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[435],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
/* [48] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[226],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[302],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [49] */
- /* num parameters */ 5,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[163],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[423],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -5813,81 +5823,81 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[230],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[298],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [51] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[153],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [52] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[148],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [53] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[7],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [54] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[238],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [55] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[133],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [56] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[378],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[417],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [52] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[290],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [53] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[282],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [54] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[103],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [55] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[405],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [56] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[230],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -5897,7 +5907,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[306],
+ /* parameters */ &kParameters[322],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5909,7 +5919,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[168],
+ /* parameters */ &kParameters[138],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5921,7 +5931,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[123],
+ /* parameters */ &kParameters[113],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5933,7 +5943,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[49],
+ /* parameters */ &kParameters[31],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5945,7 +5955,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[298],
+ /* parameters */ &kParameters[318],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5957,7 +5967,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[78],
+ /* parameters */ &kParameters[88],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5969,8 +5979,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[417],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[447],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5981,8 +5991,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[286],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[334],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5993,8 +6003,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[274],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[294],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6005,8 +6015,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[93],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[158],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6017,8 +6027,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[405],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[351],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6029,8 +6039,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[258],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[238],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6041,7 +6051,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[381],
+ /* parameters */ &kParameters[453],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6053,7 +6063,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[384],
+ /* parameters */ &kParameters[354],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6065,7 +6075,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[246],
+ /* parameters */ &kParameters[250],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6077,7 +6087,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[396],
+ /* parameters */ &kParameters[360],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6089,7 +6099,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[408],
+ /* parameters */ &kParameters[363],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6101,7 +6111,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[411],
+ /* parameters */ &kParameters[366],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6113,7 +6123,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[282],
+ /* parameters */ &kParameters[262],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6125,7 +6135,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[342],
+ /* parameters */ &kParameters[369],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6137,7 +6147,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[414],
+ /* parameters */ &kParameters[375],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6149,7 +6159,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[420],
+ /* parameters */ &kParameters[378],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6161,7 +6171,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[290],
+ /* parameters */ &kParameters[270],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6173,7 +6183,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[423],
+ /* parameters */ &kParameters[381],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6185,7 +6195,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[572],
+ /* parameters */ &kParameters[574],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6197,7 +6207,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[573],
+ /* parameters */ &kParameters[575],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6209,7 +6219,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[574],
+ /* parameters */ &kParameters[576],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6221,7 +6231,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[575],
+ /* parameters */ &kParameters[577],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6233,7 +6243,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[576],
+ /* parameters */ &kParameters[578],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6245,7 +6255,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[577],
+ /* parameters */ &kParameters[579],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6257,7 +6267,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[578],
+ /* parameters */ &kParameters[580],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6269,7 +6279,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[579],
+ /* parameters */ &kParameters[581],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6281,7 +6291,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[580],
+ /* parameters */ &kParameters[582],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6293,7 +6303,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[581],
+ /* parameters */ &kParameters[583],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6305,7 +6315,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[426],
+ /* parameters */ &kParameters[384],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6317,7 +6327,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[429],
+ /* parameters */ &kParameters[387],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6329,7 +6339,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[302],
+ /* parameters */ &kParameters[286],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6341,7 +6351,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[432],
+ /* parameters */ &kParameters[414],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6353,7 +6363,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[438],
+ /* parameters */ &kParameters[420],
/* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6365,7 +6375,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[441],
+ /* parameters */ &kParameters[432],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6377,7 +6387,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[314],
+ /* parameters */ &kParameters[306],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6389,7 +6399,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[450],
+ /* parameters */ &kParameters[444],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6401,213 +6411,213 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[475],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[497],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [100] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[143],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [101] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[37],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [102] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[31],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [103] */
- /* num parameters */ 7,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[0],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [104] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[198],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [105] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[67],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [106] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[208],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [107] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[13],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [108] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[326],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [109] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[203],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [110] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[183],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [111] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[19],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [112] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[310],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [113] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[178],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [114] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[266],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
- /* [115] */
+ /* [101] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[113],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[133],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
+ /* [102] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[188],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [103] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[19],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [104] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[254],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [105] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[153],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [106] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[246],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [107] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[178],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [108] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[73],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [109] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[7],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [110] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[55],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [111] */
+ /* num parameters */ 7,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[0],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [112] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[93],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [113] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[37],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [114] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[123],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [115] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[43],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
/* [116] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[294],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[218],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6617,9 +6627,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[83],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[163],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6629,9 +6639,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[73],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[118],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6642,8 +6652,8 @@
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[61],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6653,37 +6663,121 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[274],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [121] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[108],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [122] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[278],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
- /* [121] */
+ /* [123] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[88],
+ /* parameters */ &kParameters[198],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
- /* [122] */
+ /* [124] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[143],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [125] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[25],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [126] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[262],
+ /* parameters */ &kParameters[330],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [127] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[128],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [128] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[326],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [123] */
+ /* [129] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[173],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [130] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -6695,98 +6789,14 @@
/* is_deprecated */ false,
},
{
- /* [124] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[103],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [125] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[55],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [126] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[242],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [127] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[138],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [128] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[250],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [129] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[108],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [130] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[118],
- /* return matcher indices */ &kMatcherIndices[83],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
/* [131] */
/* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[43],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[49],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6797,8 +6807,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[322],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[310],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6809,8 +6819,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[128],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[78],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6821,7 +6831,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[567],
+ /* parameters */ &kParameters[569],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6833,7 +6843,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[568],
+ /* parameters */ &kParameters[570],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6845,7 +6855,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[569],
+ /* parameters */ &kParameters[571],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6857,7 +6867,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[570],
+ /* parameters */ &kParameters[572],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6869,7 +6879,7 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[571],
+ /* parameters */ &kParameters[573],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6881,7 +6891,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[456],
+ /* parameters */ &kParameters[438],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6893,7 +6903,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[453],
+ /* parameters */ &kParameters[456],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6905,7 +6915,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[369],
+ /* parameters */ &kParameters[429],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6917,7 +6927,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[387],
+ /* parameters */ &kParameters[393],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6929,7 +6939,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[390],
+ /* parameters */ &kParameters[342],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6941,7 +6951,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[393],
+ /* parameters */ &kParameters[399],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6953,7 +6963,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[647],
+ /* parameters */ &kParameters[556],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6965,7 +6975,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[646],
+ /* parameters */ &kParameters[555],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6977,7 +6987,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[633],
+ /* parameters */ &kParameters[647],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6989,13 +6999,37 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[632],
+ /* parameters */ &kParameters[646],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [149] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[649],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [150] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[648],
+ /* return matcher indices */ &kMatcherIndices[39],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [151] */
/* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -7007,63 +7041,39 @@
/* is_deprecated */ false,
},
{
- /* [150] */
+ /* [152] */
/* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[491],
+ /* parameters */ &kParameters[481],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [151] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[636],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [152] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[635],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
/* [153] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[630],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[651],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [154] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[629],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[650],
+ /* return matcher indices */ &kMatcherIndices[39],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -7073,7 +7083,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[628],
+ /* parameters */ &kParameters[644],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7085,7 +7095,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[627],
+ /* parameters */ &kParameters[643],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7097,7 +7107,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[626],
+ /* parameters */ &kParameters[642],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7109,7 +7119,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[625],
+ /* parameters */ &kParameters[641],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7121,7 +7131,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[624],
+ /* parameters */ &kParameters[640],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7133,7 +7143,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[623],
+ /* parameters */ &kParameters[639],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7145,7 +7155,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[622],
+ /* parameters */ &kParameters[638],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7157,7 +7167,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[621],
+ /* parameters */ &kParameters[637],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7169,7 +7179,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[620],
+ /* parameters */ &kParameters[636],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7181,7 +7191,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[619],
+ /* parameters */ &kParameters[635],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7193,9 +7203,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[618],
+ /* parameters */ &kParameters[634],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -7205,9 +7215,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[617],
+ /* parameters */ &kParameters[633],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -7217,7 +7227,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[616],
+ /* parameters */ &kParameters[632],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7229,7 +7239,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[615],
+ /* parameters */ &kParameters[631],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7237,95 +7247,95 @@
{
/* [169] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[639],
- /* return matcher indices */ &kMatcherIndices[1],
+ /* parameters */ &kParameters[630],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [170] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[638],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* parameters */ &kParameters[629],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [171] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[614],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[653],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [172] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[613],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[652],
+ /* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [173] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[363],
+ /* parameters */ &kParameters[628],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [174] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[357],
+ /* parameters */ &kParameters[627],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [175] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[612],
+ /* parameters */ &kParameters[450],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [176] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[611],
+ /* parameters */ &kParameters[402],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7337,8 +7347,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[610],
- /* return matcher indices */ &kMatcherIndices[138],
+ /* parameters */ &kParameters[626],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7349,8 +7359,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[609],
- /* return matcher indices */ &kMatcherIndices[107],
+ /* parameters */ &kParameters[625],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7361,9 +7371,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[608],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[624],
+ /* return matcher indices */ &kMatcherIndices[138],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -7373,9 +7383,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[607],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[623],
+ /* return matcher indices */ &kMatcherIndices[105],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -7385,7 +7395,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[606],
+ /* parameters */ &kParameters[622],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7397,7 +7407,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[605],
+ /* parameters */ &kParameters[621],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7409,7 +7419,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[604],
+ /* parameters */ &kParameters[620],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7421,7 +7431,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[603],
+ /* parameters */ &kParameters[619],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7433,9 +7443,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[602],
+ /* parameters */ &kParameters[618],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -7445,9 +7455,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[601],
+ /* parameters */ &kParameters[617],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -7457,10 +7467,10 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[600],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[616],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* is_deprecated */ false,
},
{
/* [188] */
@@ -7469,10 +7479,10 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[599],
- /* return matcher indices */ &kMatcherIndices[24],
+ /* parameters */ &kParameters[615],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* is_deprecated */ false,
},
{
/* [189] */
@@ -7481,7 +7491,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[598],
+ /* parameters */ &kParameters[614],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
@@ -7493,7 +7503,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[597],
+ /* parameters */ &kParameters[613],
/* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
@@ -7505,7 +7515,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[596],
+ /* parameters */ &kParameters[612],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
@@ -7517,7 +7527,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[595],
+ /* parameters */ &kParameters[611],
/* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
@@ -7529,7 +7539,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[594],
+ /* parameters */ &kParameters[610],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
@@ -7541,56 +7551,56 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[593],
+ /* parameters */ &kParameters[609],
/* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
{
/* [195] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[495],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [196] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[497],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [197] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[590],
+ /* parameters */ &kParameters[608],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [196] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[607],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [197] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[475],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [198] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[589],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[473],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7601,7 +7611,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[588],
+ /* parameters */ &kParameters[606],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7613,8 +7623,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[587],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[605],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7625,7 +7635,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[586],
+ /* parameters */ &kParameters[604],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7637,32 +7647,32 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[585],
+ /* parameters */ &kParameters[603],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [203] */
- /* 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[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[499],
- /* return matcher indices */ &kMatcherIndices[1],
+ /* parameters */ &kParameters[602],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [204] */
- /* 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[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[501],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* parameters */ &kParameters[601],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7673,7 +7683,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[507],
+ /* parameters */ &kParameters[471],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7685,31 +7695,31 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[511],
+ /* parameters */ &kParameters[469],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [207] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[641],
+ /* parameters */ &kParameters[467],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [208] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[640],
+ /* parameters */ &kParameters[465],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7721,8 +7731,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[562],
- /* return matcher indices */ &kMatcherIndices[137],
+ /* parameters */ &kParameters[655],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7733,8 +7743,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[561],
- /* return matcher indices */ &kMatcherIndices[103],
+ /* parameters */ &kParameters[654],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7745,8 +7755,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[643],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[600],
+ /* return matcher indices */ &kMatcherIndices[137],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7757,8 +7767,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[642],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[599],
+ /* return matcher indices */ &kMatcherIndices[101],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7769,7 +7779,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[645],
+ /* parameters */ &kParameters[657],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7781,7 +7791,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[644],
+ /* parameters */ &kParameters[656],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7793,7 +7803,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[402],
+ /* parameters */ &kParameters[411],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7805,68 +7815,68 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[399],
+ /* parameters */ &kParameters[408],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [217] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[477],
+ /* parameters */ &kParameters[659],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [218] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[485],
+ /* parameters */ &kParameters[658],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [219] */
- /* num parameters */ 1,
- /* num open types */ 1,
+ /* num parameters */ 3,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[582],
- /* return matcher indices */ &kMatcherIndices[55],
+ /* parameters */ &kParameters[357],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [220] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[583],
- /* return matcher indices */ &kMatcherIndices[55],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[348],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [221] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[651],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[584],
+ /* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7874,58 +7884,58 @@
/* [222] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[650],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[585],
+ /* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [223] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[515],
+ /* parameters */ &kParameters[559],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [224] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[519],
+ /* parameters */ &kParameters[558],
/* return matcher indices */ &kMatcherIndices[21],
/* 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 */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[552],
+ /* parameters */ &kParameters[463],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [226] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[551],
+ /* parameters */ &kParameters[461],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7937,7 +7947,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[653],
+ /* parameters */ &kParameters[592],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7949,80 +7959,80 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[652],
+ /* parameters */ &kParameters[591],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [229] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[656],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[459],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [230] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[655],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[493],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [231] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[549],
- /* return matcher indices */ &kMatcherIndices[1],
+ /* parameters */ &kParameters[661],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [232] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[542],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* parameters */ &kParameters[660],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [233] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[664],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[590],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [234] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[665],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[589],
+ /* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8033,8 +8043,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[658],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[588],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8045,8 +8055,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[657],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[533],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8057,7 +8067,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[540],
+ /* parameters */ &kParameters[663],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8069,7 +8079,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[670],
+ /* parameters */ &kParameters[662],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8081,8 +8091,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[669],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[667],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8093,8 +8103,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[668],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[666],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8105,7 +8115,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[660],
+ /* parameters */ &kParameters[568],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8117,31 +8127,31 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[659],
+ /* parameters */ &kParameters[567],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [243] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[447],
+ /* parameters */ &kParameters[565],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [244] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[444],
+ /* parameters */ &kParameters[564],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8153,8 +8163,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[662],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[669],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8165,55 +8175,55 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[649],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[668],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [247] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[479],
+ /* parameters */ &kParameters[563],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [248] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[481],
+ /* parameters */ &kParameters[562],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [249] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[592],
+ /* parameters */ &kParameters[483],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [250] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[591],
+ /* parameters */ &kParameters[485],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8225,7 +8235,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[648],
+ /* parameters */ &kParameters[671],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8237,7 +8247,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[637],
+ /* parameters */ &kParameters[670],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8249,7 +8259,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[667],
+ /* parameters */ &kParameters[561],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8261,7 +8271,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[666],
+ /* parameters */ &kParameters[560],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8269,48 +8279,48 @@
{
/* [255] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[671],
- /* return matcher indices */ &kMatcherIndices[1],
+ /* parameters */ &kParameters[587],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [256] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[661],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* parameters */ &kParameters[586],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [257] */
/* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[560],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[673],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [258] */
/* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[584],
- /* return matcher indices */ &kMatcherIndices[89],
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[672],
+ /* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8318,11 +8328,11 @@
/* [259] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[566],
- /* return matcher indices */ &kMatcherIndices[89],
+ /* open numbers */ &kOpenNumbers[2],
+ /* parameters */ &kParameters[557],
+ /* return matcher indices */ &kMatcherIndices[9],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8333,8 +8343,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[533],
- /* return matcher indices */ &kMatcherIndices[89],
+ /* parameters */ &kParameters[554],
+ /* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8345,8 +8355,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[565],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[553],
+ /* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8357,92 +8367,92 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[564],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[552],
+ /* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [263] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[551],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [264] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[544],
+ /* return matcher indices */ &kMatcherIndices[81],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [265] */
/* num parameters */ 0,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[672],
+ /* parameters */ &kParameters[674],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [264] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[351],
- /* return matcher indices */ &kMatcherIndices[105],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* [266] */
+ /* num parameters */ 0,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[674],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [265] */
+ /* [267] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[557],
+ /* parameters */ &kParameters[595],
/* return matcher indices */ &kMatcherIndices[43],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [266] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[435],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [267] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[523],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
/* [268] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[555],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[441],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [269] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[556],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[531],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8453,7 +8463,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[558],
+ /* parameters */ &kParameters[593],
/* return matcher indices */ &kMatcherIndices[43],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8465,115 +8475,115 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[559],
+ /* parameters */ &kParameters[594],
/* return matcher indices */ &kMatcherIndices[43],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [272] */
- /* num parameters */ 0,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[672],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
+ /* parameters */ &kParameters[596],
+ /* return matcher indices */ &kMatcherIndices[43],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [273] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[366],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[597],
+ /* return matcher indices */ &kMatcherIndices[43],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [274] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[493],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [275] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[634],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[598],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [275] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[396],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [276] */
/* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[487],
- /* return matcher indices */ &kMatcherIndices[91],
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[479],
+ /* return matcher indices */ &kMatcherIndices[1],
/* 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[2],
- /* open numbers */ &kOpenNumbers[4],
- /* parameters */ &kParameters[654],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[645],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [278] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[491],
+ /* return matcher indices */ &kMatcherIndices[89],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [279] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[2],
+ /* open numbers */ &kOpenNumbers[4],
+ /* parameters */ &kParameters[664],
+ /* return matcher indices */ &kMatcherIndices[43],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [280] */
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[663],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [279] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[473],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [280] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[471],
+ /* parameters */ &kParameters[665],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8585,8 +8595,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[469],
- /* return matcher indices */ &kMatcherIndices[1],
+ /* parameters */ &kParameters[499],
+ /* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8597,7 +8607,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[467],
+ /* parameters */ &kParameters[501],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8609,7 +8619,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[465],
+ /* parameters */ &kParameters[503],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8621,7 +8631,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[463],
+ /* parameters */ &kParameters[505],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8633,7 +8643,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[461],
+ /* parameters */ &kParameters[507],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8657,21 +8667,45 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[483],
+ /* parameters */ &kParameters[527],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [288] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 2,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
- /* parameters */ &kParameters[631],
- /* return matcher indices */ &kMatcherIndices[9],
- /* 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[5],
+ /* parameters */ &kParameters[513],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [289] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[487],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [290] */
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[372],
+ /* return matcher indices */ &kMatcherIndices[103],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
};
@@ -8682,62 +8716,62 @@
/* fn abs<T : fiu32>(T) -> T */
/* fn abs<N : num, T : fiu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[255],
+ /* overloads */ &kOverloads[257],
},
{
/* [1] */
/* fn acos(f32) -> f32 */
/* fn acos<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[241],
+ /* overloads */ &kOverloads[251],
},
{
/* [2] */
/* fn all(bool) -> bool */
/* fn all<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ &kOverloads[235],
+ /* overloads */ &kOverloads[245],
},
{
/* [3] */
/* fn any(bool) -> bool */
/* fn any<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ &kOverloads[229],
+ /* overloads */ &kOverloads[239],
},
{
/* [4] */
/* fn arrayLength<T, A : access>(ptr<storage, array<T>, A>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[277],
+ /* overloads */ &kOverloads[279],
},
{
/* [5] */
/* fn asin(f32) -> f32 */
/* fn asin<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[227],
+ /* overloads */ &kOverloads[237],
},
{
/* [6] */
/* fn atan(f32) -> f32 */
/* fn atan<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[221],
+ /* overloads */ &kOverloads[231],
},
{
/* [7] */
/* fn atan2(f32, f32) -> f32 */
/* fn atan2<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[217],
+ /* overloads */ &kOverloads[229],
},
{
/* [8] */
/* fn ceil(f32) -> f32 */
/* fn ceil<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[145],
+ /* overloads */ &kOverloads[217],
},
{
/* [9] */
@@ -8758,244 +8792,251 @@
/* fn cosh(f32) -> f32 */
/* fn cosh<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[211],
+ /* overloads */ &kOverloads[209],
},
{
/* [12] */
/* fn countLeadingZeros<T : iu32>(T) -> T */
/* fn countLeadingZeros<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[207],
+ /* overloads */ &kOverloads[171],
},
{
/* [13] */
/* fn countOneBits<T : iu32>(T) -> T */
/* fn countOneBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[169],
+ /* overloads */ &kOverloads[153],
},
{
/* [14] */
- /* fn cross(vec3<f32>, vec3<f32>) -> vec3<f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[276],
- },
- {
- /* [15] */
- /* fn degrees(f32) -> f32 */
- /* fn degrees<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[151],
- },
- {
- /* [16] */
- /* fn determinant<N : num>(mat<N, N, f32>) -> f32 */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[275],
- },
- {
- /* [17] */
- /* fn distance(f32, f32) -> f32 */
- /* fn distance<N : num>(vec<N, f32>, vec<N, f32>) -> f32 */
+ /* fn countTrailingZeros<T : iu32>(T) -> T */
+ /* fn countTrailingZeros<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
/* overloads */ &kOverloads[149],
},
{
- /* [18] */
- /* fn dot<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> T */
+ /* [15] */
+ /* fn cross(vec3<f32>, vec3<f32>) -> vec3<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[274],
+ /* overloads */ &kOverloads[278],
+ },
+ {
+ /* [16] */
+ /* fn degrees(f32) -> f32 */
+ /* fn degrees<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[147],
+ },
+ {
+ /* [17] */
+ /* fn determinant<N : num>(mat<N, N, f32>) -> f32 */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[277],
+ },
+ {
+ /* [18] */
+ /* fn distance(f32, f32) -> f32 */
+ /* fn distance<N : num>(vec<N, f32>, vec<N, f32>) -> f32 */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[151],
},
{
/* [19] */
- /* fn dpdx(f32) -> f32 */
- /* fn dpdx<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[153],
+ /* fn dot<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[276],
},
{
/* [20] */
- /* fn dpdxCoarse(f32) -> f32 */
- /* fn dpdxCoarse<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[155],
},
{
/* [21] */
- /* fn dpdxFine(f32) -> f32 */
- /* fn dpdxFine<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[157],
},
{
/* [22] */
- /* fn dpdy(f32) -> f32 */
- /* fn dpdy<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[159],
},
{
/* [23] */
- /* fn dpdyCoarse(f32) -> f32 */
- /* fn dpdyCoarse<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[161],
},
{
/* [24] */
- /* fn dpdyFine(f32) -> f32 */
- /* fn dpdyFine<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[163],
},
{
/* [25] */
- /* fn exp(f32) -> f32 */
- /* fn exp<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[165],
},
{
/* [26] */
- /* fn exp2(f32) -> f32 */
- /* fn exp2<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn exp(f32) -> f32 */
+ /* fn exp<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[167],
},
{
/* [27] */
- /* fn faceForward<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[273],
+ /* fn exp2(f32) -> f32 */
+ /* fn exp2<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[169],
},
{
/* [28] */
- /* fn floor(f32) -> f32 */
- /* fn floor<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[171],
+ /* fn faceForward<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[275],
},
{
/* [29] */
- /* fn fma(f32, f32, f32) -> f32 */
- /* fn fma<N : num>(vec<N, f32>, vec<N, f32>, 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[173],
},
{
/* [30] */
- /* fn fract(f32) -> f32 */
- /* fn fract<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* 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[175],
},
{
/* [31] */
- /* fn frexp(f32) -> __frexp_result */
- /* fn frexp<N : num>(vec<N, f32>) -> __frexp_result_vec<N> */
+ /* fn fract(f32) -> f32 */
+ /* fn fract<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[177],
},
{
/* [32] */
- /* fn fwidth(f32) -> f32 */
- /* fn fwidth<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[179],
},
{
/* [33] */
- /* fn fwidthCoarse(f32) -> f32 */
- /* fn fwidthCoarse<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[181],
},
{
/* [34] */
- /* fn fwidthFine(f32) -> f32 */
- /* fn fwidthFine<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn fwidthCoarse(f32) -> f32 */
+ /* fn fwidthCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[183],
},
{
/* [35] */
- /* 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[185],
},
{
/* [36] */
- /* fn isFinite(f32) -> bool */
- /* fn isFinite<N : num>(vec<N, f32>) -> vec<N, bool> */
+ /* fn inverseSqrt(f32) -> f32 */
+ /* fn inverseSqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[187],
},
{
/* [37] */
- /* fn isInf(f32) -> bool */
- /* fn isInf<N : num>(vec<N, f32>) -> vec<N, bool> */
+ /* fn isFinite(f32) -> bool */
+ /* fn isFinite<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
/* overloads */ &kOverloads[189],
},
{
/* [38] */
- /* fn isNan(f32) -> bool */
- /* fn isNan<N : num>(vec<N, f32>) -> vec<N, bool> */
+ /* fn isInf(f32) -> bool */
+ /* fn isInf<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
/* overloads */ &kOverloads[191],
},
{
/* [39] */
- /* fn isNormal(f32) -> bool */
- /* fn isNormal<N : num>(vec<N, f32>) -> vec<N, bool> */
+ /* fn isNan(f32) -> bool */
+ /* fn isNan<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
/* overloads */ &kOverloads[193],
},
{
/* [40] */
- /* fn ldexp(f32, i32) -> f32 */
- /* fn ldexp<N : num>(vec<N, f32>, vec<N, i32>) -> vec<N, f32> */
+ /* fn isNormal(f32) -> bool */
+ /* fn isNormal<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
/* overloads */ &kOverloads[195],
},
{
/* [41] */
- /* fn length(f32) -> f32 */
- /* fn length<N : num>(vec<N, f32>) -> f32 */
+ /* fn ldexp(f32, i32) -> f32 */
+ /* fn ldexp<N : num>(vec<N, f32>, vec<N, i32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[197],
},
{
/* [42] */
- /* fn log(f32) -> f32 */
- /* fn log<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[199],
},
{
/* [43] */
- /* fn log2(f32) -> f32 */
- /* fn log2<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn log(f32) -> f32 */
+ /* fn log<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[201],
},
{
/* [44] */
- /* fn max<T : fiu32>(T, T) -> T */
- /* fn max<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[203],
},
{
/* [45] */
- /* fn min<T : fiu32>(T, T) -> T */
- /* fn min<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> vec<N, T> */
+ /* 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[205],
},
{
/* [46] */
+ /* 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[207],
+ },
+ {
+ /* [47] */
/* 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> */
@@ -9003,90 +9044,90 @@
/* overloads */ &kOverloads[142],
},
{
- /* [47] */
+ /* [48] */
/* fn modf(f32) -> __modf_result */
/* fn modf<N : num>(vec<N, f32>) -> __modf_result_vec<N> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[209],
- },
- {
- /* [48] */
- /* fn normalize<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[257],
+ /* overloads */ &kOverloads[211],
},
{
/* [49] */
+ /* fn normalize<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[274],
+ },
+ {
+ /* [50] */
/* fn pack2x16float(vec2<f32>) -> u32 */
/* num overloads */ 1,
+ /* overloads */ &kOverloads[273],
+ },
+ {
+ /* [51] */
+ /* fn pack2x16snorm(vec2<f32>) -> u32 */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[272],
+ },
+ {
+ /* [52] */
+ /* fn pack2x16unorm(vec2<f32>) -> u32 */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[267],
+ },
+ {
+ /* [53] */
+ /* fn pack4x8snorm(vec4<f32>) -> u32 */
+ /* num overloads */ 1,
/* overloads */ &kOverloads[271],
},
{
- /* [50] */
- /* fn pack2x16snorm(vec2<f32>) -> u32 */
+ /* [54] */
+ /* fn pack4x8unorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
/* overloads */ &kOverloads[270],
},
{
- /* [51] */
- /* fn pack2x16unorm(vec2<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[265],
- },
- {
- /* [52] */
- /* fn pack4x8snorm(vec4<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[269],
- },
- {
- /* [53] */
- /* fn pack4x8unorm(vec4<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[268],
- },
- {
- /* [54] */
+ /* [55] */
/* fn pow(f32, f32) -> f32 */
/* fn pow<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[223],
- },
- {
- /* [55] */
- /* fn radians(f32) -> f32 */
- /* fn radians<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
/* overloads */ &kOverloads[225],
},
{
/* [56] */
- /* fn reflect<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[267],
+ /* fn radians(f32) -> f32 */
+ /* fn radians<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[227],
},
{
/* [57] */
- /* fn refract<N : num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32> */
+ /* fn reflect<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[266],
+ /* overloads */ &kOverloads[269],
},
{
/* [58] */
- /* fn reverseBits<T : iu32>(T) -> T */
- /* fn reverseBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[231],
+ /* fn refract<N : num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[268],
},
{
/* [59] */
- /* fn round(f32) -> f32 */
- /* fn round<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn reverseBits<T : iu32>(T) -> T */
+ /* fn reverseBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
/* overloads */ &kOverloads[233],
},
{
/* [60] */
+ /* fn round(f32) -> f32 */
+ /* fn round<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[235],
+ },
+ {
+ /* [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> */
@@ -9094,118 +9135,118 @@
/* overloads */ &kOverloads[139],
},
{
- /* [61] */
+ /* [62] */
/* fn sign(f32) -> f32 */
/* fn sign<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[237],
- },
- {
- /* [62] */
- /* fn sin(f32) -> f32 */
- /* fn sin<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[239],
+ /* overloads */ &kOverloads[255],
},
{
/* [63] */
- /* fn sinh(f32) -> f32 */
- /* fn sinh<N : num>(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[253],
+ /* overloads */ &kOverloads[241],
},
{
/* [64] */
- /* 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[243],
},
{
/* [65] */
- /* 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[245],
+ /* overloads */ &kOverloads[219],
},
{
/* [66] */
- /* fn step(f32, f32) -> f32 */
- /* fn step<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
+ /* fn sqrt(f32) -> f32 */
+ /* fn sqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[247],
},
{
/* [67] */
- /* fn storageBarrier() */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[272],
- },
- {
- /* [68] */
- /* fn tan(f32) -> f32 */
- /* fn tan<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[251],
- },
- {
- /* [69] */
- /* fn tanh(f32) -> f32 */
- /* fn tanh<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[147],
- },
- {
- /* [70] */
- /* fn transpose<M : num, N : num>(mat<M, N, f32>) -> mat<N, M, f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[288],
- },
- {
- /* [71] */
- /* fn trunc(f32) -> f32 */
- /* fn trunc<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[249],
},
{
- /* [72] */
- /* fn unpack2x16float(u32) -> vec2<f32> */
+ /* [68] */
+ /* fn storageBarrier() */
/* num overloads */ 1,
- /* overloads */ &kOverloads[258],
+ /* overloads */ &kOverloads[266],
},
{
- /* [73] */
- /* fn unpack2x16snorm(u32) -> vec2<f32> */
+ /* [69] */
+ /* fn tan(f32) -> f32 */
+ /* fn tan<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[253],
+ },
+ {
+ /* [70] */
+ /* fn tanh(f32) -> f32 */
+ /* fn tanh<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[223],
+ },
+ {
+ /* [71] */
+ /* fn transpose<M : num, N : num>(mat<M, N, f32>) -> mat<N, M, f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[259],
},
{
- /* [74] */
- /* fn unpack2x16unorm(u32) -> vec2<f32> */
+ /* [72] */
+ /* fn trunc(f32) -> f32 */
+ /* fn trunc<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[145],
+ },
+ {
+ /* [73] */
+ /* fn unpack2x16float(u32) -> vec2<f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[260],
},
{
- /* [75] */
- /* fn unpack4x8snorm(u32) -> vec4<f32> */
+ /* [74] */
+ /* fn unpack2x16snorm(u32) -> vec2<f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[261],
},
{
- /* [76] */
- /* fn unpack4x8unorm(u32) -> vec4<f32> */
+ /* [75] */
+ /* fn unpack2x16unorm(u32) -> vec2<f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[262],
},
{
- /* [77] */
- /* fn workgroupBarrier() */
+ /* [76] */
+ /* fn unpack4x8snorm(u32) -> vec4<f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[263],
},
{
+ /* [77] */
+ /* fn unpack4x8unorm(u32) -> vec4<f32> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[264],
+ },
+ {
/* [78] */
+ /* fn workgroupBarrier() */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[265],
+ },
+ {
+ /* [79] */
/* 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> */
@@ -9237,7 +9278,7 @@
/* overloads */ &kOverloads[0],
},
{
- /* [79] */
+ /* [80] */
/* 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> */
@@ -9254,7 +9295,7 @@
/* overloads */ &kOverloads[57],
},
{
- /* [80] */
+ /* [81] */
/* 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> */
@@ -9262,10 +9303,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[128],
+ /* overloads */ &kOverloads[116],
},
{
- /* [81] */
+ /* [82] */
/* 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 */
@@ -9275,7 +9316,7 @@
/* overloads */ &kOverloads[134],
},
{
- /* [82] */
+ /* [83] */
/* 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 */
@@ -9290,14 +9331,14 @@
/* overloads */ &kOverloads[81],
},
{
- /* [83] */
+ /* [84] */
/* fn textureNumSamples<T : fiu32>(texture: texture_multisampled_2d<T>) -> i32 */
/* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> i32 */
/* num overloads */ 2,
- /* overloads */ &kOverloads[219],
+ /* overloads */ &kOverloads[221],
},
{
- /* [84] */
+ /* [85] */
/* 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> */
@@ -9314,10 +9355,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],
},
{
- /* [85] */
+ /* [86] */
/* 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> */
@@ -9327,10 +9368,10 @@
/* fn textureSampleBias(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, bias: f32) -> vec4<f32> */
/* fn textureSampleBias(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: i32, bias: f32) -> vec4<f32> */
/* num overloads */ 8,
- /* overloads */ &kOverloads[108],
+ /* overloads */ &kOverloads[100],
},
{
- /* [86] */
+ /* [87] */
/* 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 */
@@ -9338,10 +9379,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[116],
+ /* overloads */ &kOverloads[122],
},
{
- /* [87] */
+ /* [88] */
/* 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 */
@@ -9349,10 +9390,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[122],
+ /* overloads */ &kOverloads[128],
},
{
- /* [88] */
+ /* [89] */
/* 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> */
@@ -9362,10 +9403,10 @@
/* fn textureSampleGrad(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
/* fn textureSampleGrad(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: i32, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
/* num overloads */ 8,
- /* overloads */ &kOverloads[100],
+ /* overloads */ &kOverloads[108],
},
{
- /* [89] */
+ /* [90] */
/* 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> */
@@ -9382,10 +9423,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],
},
{
- /* [90] */
+ /* [91] */
/* 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>) */
@@ -9402,7 +9443,7 @@
/* overloads */ &kOverloads[69],
},
{
- /* [91] */
+ /* [92] */
/* 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> */
@@ -9416,70 +9457,70 @@
/* overloads */ &kOverloads[91],
},
{
- /* [92] */
- /* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[278],
- },
- {
/* [93] */
- /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[279],
- },
- {
- /* [94] */
- /* 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[280],
},
{
- /* [95] */
- /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [94] */
+ /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
/* num overloads */ 1,
/* overloads */ &kOverloads[281],
},
{
- /* [96] */
- /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [95] */
+ /* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[282],
},
{
- /* [97] */
- /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [96] */
+ /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[283],
},
{
- /* [98] */
- /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [97] */
+ /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[284],
},
{
- /* [99] */
- /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [98] */
+ /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[285],
},
{
- /* [100] */
- /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [99] */
+ /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[286],
},
{
- /* [101] */
- /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [100] */
+ /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[287],
},
{
+ /* [101] */
+ /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[288],
+ },
+ {
/* [102] */
+ /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[289],
+ },
+ {
+ /* [103] */
/* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> vec2<T> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[264],
+ /* overloads */ &kOverloads[290],
},
};
diff --git a/src/tint/builtins.def b/src/tint/builtins.def
index 0d3b140..6ba6e64 100644
--- a/src/tint/builtins.def
+++ b/src/tint/builtins.def
@@ -290,6 +290,8 @@
fn countLeadingZeros<N: num, T: iu32>(vec<N, T>) -> vec<N, T>
fn countOneBits<T: iu32>(T) -> T
fn countOneBits<N: num, T: iu32>(vec<N, T>) -> vec<N, T>
+fn countTrailingZeros<T: iu32>(T) -> T
+fn countTrailingZeros<N: num, T: iu32>(vec<N, T>) -> vec<N, T>
fn cross(vec3<f32>, vec3<f32>) -> vec3<f32>
fn degrees(f32) -> f32
fn degrees<N: num>(vec<N, f32>) -> vec<N, f32>
diff --git a/src/tint/sem/builtin_type.cc b/src/tint/sem/builtin_type.cc
index b1bebc2..69c39ac 100644
--- a/src/tint/sem/builtin_type.cc
+++ b/src/tint/sem/builtin_type.cc
@@ -72,6 +72,9 @@
if (name == "countOneBits") {
return BuiltinType::kCountOneBits;
}
+ if (name == "countTrailingZeros") {
+ return BuiltinType::kCountTrailingZeros;
+ }
if (name == "cross") {
return BuiltinType::kCross;
}
@@ -374,6 +377,8 @@
return "countLeadingZeros";
case BuiltinType::kCountOneBits:
return "countOneBits";
+ case BuiltinType::kCountTrailingZeros:
+ return "countTrailingZeros";
case BuiltinType::kCross:
return "cross";
case BuiltinType::kDegrees:
diff --git a/src/tint/sem/builtin_type.h b/src/tint/sem/builtin_type.h
index 82c9d08..22809bb 100644
--- a/src/tint/sem/builtin_type.h
+++ b/src/tint/sem/builtin_type.h
@@ -48,6 +48,7 @@
kCosh,
kCountLeadingZeros,
kCountOneBits,
+ kCountTrailingZeros,
kCross,
kDegrees,
kDeterminant,
diff --git a/src/tint/transform/builtin_polyfill.cc b/src/tint/transform/builtin_polyfill.cc
index 56af582..6a00e65 100644
--- a/src/tint/transform/builtin_polyfill.cc
+++ b/src/tint/transform/builtin_polyfill.cc
@@ -108,6 +108,80 @@
return name;
}
+ /// Builds the polyfill function for the `countTrailingZeros` builtin
+ /// @param ty the parameter and return type for the function
+ /// @return the polyfill function name
+ Symbol countTrailingZeros(const sem::Type* ty) {
+ auto name = b.Symbols().New("tint_count_trailing_zeros");
+ uint32_t width = 1;
+ if (auto* v = ty->As<sem::Vector>()) {
+ width = v->Width();
+ }
+
+ // Returns either u32 or vecN<u32>
+ auto U = [&]() -> const ast::Type* {
+ if (width == 1) {
+ return b.ty.u32();
+ }
+ return b.ty.vec<ProgramBuilder::u32>(width);
+ };
+ auto V = [&](uint32_t value) -> const ast::Expression* {
+ if (width == 1) {
+ return b.Expr(value);
+ }
+ return b.Construct(b.ty.vec<ProgramBuilder::u32>(width), value);
+ };
+ auto B = [&](const ast::Expression* value) -> const ast::Expression* {
+ if (width == 1) {
+ return b.Construct<bool>(value);
+ }
+ return b.Construct(b.ty.vec<bool>(width), value);
+ };
+ b.Func(
+ name, {b.Param("v", T(ty))}, T(ty),
+ {
+ // var x = U(v);
+ b.Decl(b.Var("x", nullptr, b.Construct(U(), b.Expr("v")))),
+ // let b16 = select(16, 0, bool(x & 0x0000ffff));
+ b.Decl(b.Const(
+ "b16", nullptr,
+ b.Call("select", V(16), V(0), B(b.And("x", V(0x0000ffff)))))),
+ // x = x >> b16;
+ b.Assign("x", b.Shr("x", "b16")),
+ // let b8 = select(8, 0, bool(x & 0x000000ff));
+ b.Decl(b.Const(
+ "b8", nullptr,
+ b.Call("select", V(8), V(0), B(b.And("x", V(0x000000ff)))))),
+ // x = x >> b8;
+ b.Assign("x", b.Shr("x", "b8")),
+ // let b4 = select(4, 0, bool(x & 0x0000000f));
+ b.Decl(b.Const(
+ "b4", nullptr,
+ b.Call("select", V(4), V(0), B(b.And("x", V(0x0000000f)))))),
+ // x = x >> b4;
+ b.Assign("x", b.Shr("x", "b4")),
+ // let b2 = select(2, 0, bool(x & 0x00000003));
+ b.Decl(b.Const(
+ "b2", nullptr,
+ b.Call("select", V(2), V(0), B(b.And("x", V(0x00000003)))))),
+ // x = x >> b2;
+ b.Assign("x", b.Shr("x", "b2")),
+ // let b1 = select(1, 0, bool(x & 0x00000001));
+ b.Decl(b.Const(
+ "b1", nullptr,
+ b.Call("select", V(1), V(0), B(b.And("x", V(0x00000001)))))),
+ // let is_zero = select(0, 1, x == 0);
+ b.Decl(b.Const("is_zero", nullptr,
+ b.Call("select", V(0), V(1), b.Equal("x", V(0))))),
+ // return R((b16 | b8 | b4 | b2 | b1) + zero);
+ b.Return(b.Construct(
+ T(ty),
+ b.Add(b.Or(b.Or(b.Or(b.Or("b16", "b8"), "b4"), "b2"), "b1"),
+ "is_zero"))),
+ });
+ return name;
+ }
+
private:
const ast::Type* T(const sem::Type* ty) { return CreateASTTypeFor(ctx, ty); }
};
@@ -130,6 +204,11 @@
return true;
}
break;
+ case sem::BuiltinType::kCountTrailingZeros:
+ if (builtins.count_trailing_zeros) {
+ return true;
+ }
+ break;
default:
break;
}
@@ -166,6 +245,13 @@
});
}
break;
+ case sem::BuiltinType::kCountTrailingZeros:
+ if (builtins.count_trailing_zeros) {
+ polyfill = utils::GetOrCreate(polyfills, builtin, [&] {
+ return s.countTrailingZeros(builtin->ReturnType());
+ });
+ }
+ break;
default:
break;
}
diff --git a/src/tint/transform/builtin_polyfill.h b/src/tint/transform/builtin_polyfill.h
index e7cdf80..9897a1d 100644
--- a/src/tint/transform/builtin_polyfill.h
+++ b/src/tint/transform/builtin_polyfill.h
@@ -32,6 +32,8 @@
struct Builtins {
/// Should `countLeadingZeros()` be polyfilled?
bool count_leading_zeros = false;
+ /// Should `countTrailingZeros()` be polyfilled?
+ bool count_trailing_zeros = false;
};
/// Config is consumed by the BuiltinPolyfill transform.
diff --git a/src/tint/transform/builtin_polyfill_test.cc b/src/tint/transform/builtin_polyfill_test.cc
index 9193130..ec66839 100644
--- a/src/tint/transform/builtin_polyfill_test.cc
+++ b/src/tint/transform/builtin_polyfill_test.cc
@@ -194,6 +194,160 @@
EXPECT_EQ(expect, str(got));
}
+////////////////////////////////////////////////////////////////////////////////
+// countTrailingZeros
+////////////////////////////////////////////////////////////////////////////////
+DataMap polyfillCountTrailingZeros() {
+ BuiltinPolyfill::Builtins builtins;
+ builtins.count_trailing_zeros = true;
+ DataMap data;
+ data.Add<BuiltinPolyfill::Config>(builtins);
+ return data;
+}
+
+TEST_F(BuiltinPolyfillTest, ShouldRunCountTrailingZeros) {
+ auto* src = R"(
+fn f() {
+ countTrailingZeros(0xf);
+}
+)";
+
+ EXPECT_FALSE(ShouldRun<BuiltinPolyfill>(src));
+ EXPECT_TRUE(ShouldRun<BuiltinPolyfill>(src, polyfillCountTrailingZeros()));
+}
+
+TEST_F(BuiltinPolyfillTest, CountTrailingZeros_i32) {
+ auto* src = R"(
+fn f() {
+ let r : i32 = countTrailingZeros(15);
+}
+)";
+
+ auto* expect = R"(
+fn tint_count_trailing_zeros(v : i32) -> i32 {
+ var x = u32(v);
+ let b16 = select(16u, 0u, bool((x & 65535u)));
+ x = (x >> b16);
+ let b8 = select(8u, 0u, bool((x & 255u)));
+ x = (x >> b8);
+ let b4 = select(4u, 0u, bool((x & 15u)));
+ x = (x >> b4);
+ let b2 = select(2u, 0u, bool((x & 3u)));
+ x = (x >> b2);
+ let b1 = select(1u, 0u, bool((x & 1u)));
+ let is_zero = select(0u, 1u, (x == 0u));
+ return i32((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+fn f() {
+ let r : i32 = tint_count_trailing_zeros(15);
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillCountTrailingZeros());
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, CountTrailingZeros_u32) {
+ auto* src = R"(
+fn f() {
+ let r : u32 = countTrailingZeros(15u);
+}
+)";
+
+ auto* expect = R"(
+fn tint_count_trailing_zeros(v : u32) -> u32 {
+ var x = u32(v);
+ let b16 = select(16u, 0u, bool((x & 65535u)));
+ x = (x >> b16);
+ let b8 = select(8u, 0u, bool((x & 255u)));
+ x = (x >> b8);
+ let b4 = select(4u, 0u, bool((x & 15u)));
+ x = (x >> b4);
+ let b2 = select(2u, 0u, bool((x & 3u)));
+ x = (x >> b2);
+ let b1 = select(1u, 0u, bool((x & 1u)));
+ let is_zero = select(0u, 1u, (x == 0u));
+ return u32((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+fn f() {
+ let r : u32 = tint_count_trailing_zeros(15u);
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillCountTrailingZeros());
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, CountTrailingZeros_vec3_i32) {
+ auto* src = R"(
+fn f() {
+ let r : vec3<i32> = countTrailingZeros(vec3<i32>(15));
+}
+)";
+
+ auto* expect = R"(
+fn tint_count_trailing_zeros(v : vec3<i32>) -> vec3<i32> {
+ var x = vec3<u32>(v);
+ let b16 = select(vec3<u32>(16u), vec3<u32>(0u), vec3<bool>((x & vec3<u32>(65535u))));
+ x = (x >> b16);
+ let b8 = select(vec3<u32>(8u), vec3<u32>(0u), vec3<bool>((x & vec3<u32>(255u))));
+ x = (x >> b8);
+ let b4 = select(vec3<u32>(4u), vec3<u32>(0u), vec3<bool>((x & vec3<u32>(15u))));
+ x = (x >> b4);
+ let b2 = select(vec3<u32>(2u), vec3<u32>(0u), vec3<bool>((x & vec3<u32>(3u))));
+ x = (x >> b2);
+ let b1 = select(vec3<u32>(1u), vec3<u32>(0u), vec3<bool>((x & vec3<u32>(1u))));
+ let is_zero = select(vec3<u32>(0u), vec3<u32>(1u), (x == vec3<u32>(0u)));
+ return vec3<i32>((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+fn f() {
+ let r : vec3<i32> = tint_count_trailing_zeros(vec3<i32>(15));
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillCountTrailingZeros());
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, CountTrailingZeros_vec3_u32) {
+ auto* src = R"(
+fn f() {
+ let r : vec3<u32> = countTrailingZeros(vec3<u32>(15u));
+}
+)";
+
+ auto* expect = R"(
+fn tint_count_trailing_zeros(v : vec3<u32>) -> vec3<u32> {
+ var x = vec3<u32>(v);
+ let b16 = select(vec3<u32>(16u), vec3<u32>(0u), vec3<bool>((x & vec3<u32>(65535u))));
+ x = (x >> b16);
+ let b8 = select(vec3<u32>(8u), vec3<u32>(0u), vec3<bool>((x & vec3<u32>(255u))));
+ x = (x >> b8);
+ let b4 = select(vec3<u32>(4u), vec3<u32>(0u), vec3<bool>((x & vec3<u32>(15u))));
+ x = (x >> b4);
+ let b2 = select(vec3<u32>(2u), vec3<u32>(0u), vec3<bool>((x & vec3<u32>(3u))));
+ x = (x >> b2);
+ let b1 = select(vec3<u32>(1u), vec3<u32>(0u), vec3<bool>((x & vec3<u32>(1u))));
+ let is_zero = select(vec3<u32>(0u), vec3<u32>(1u), (x == vec3<u32>(0u)));
+ return vec3<u32>((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+fn f() {
+ let r : vec3<u32> = tint_count_trailing_zeros(vec3<u32>(15u));
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillCountTrailingZeros());
+
+ EXPECT_EQ(expect, str(got));
+}
+
} // namespace
} // namespace transform
} // namespace tint
diff --git a/src/tint/transform/glsl.cc b/src/tint/transform/glsl.cc
index 408af9d..1970af2 100644
--- a/src/tint/transform/glsl.cc
+++ b/src/tint/transform/glsl.cc
@@ -55,6 +55,7 @@
{ // Builtin polyfills
BuiltinPolyfill::Builtins polyfills;
polyfills.count_leading_zeros = true;
+ polyfills.count_trailing_zeros = true;
data.Add<BuiltinPolyfill::Config>(polyfills);
manager.Add<BuiltinPolyfill>();
}
diff --git a/src/tint/writer/hlsl/generator_impl.cc b/src/tint/writer/hlsl/generator_impl.cc
index 718e93c..5e6de6a 100644
--- a/src/tint/writer/hlsl/generator_impl.cc
+++ b/src/tint/writer/hlsl/generator_impl.cc
@@ -144,6 +144,7 @@
{ // Builtin polyfills
transform::BuiltinPolyfill::Builtins polyfills;
polyfills.count_leading_zeros = true;
+ polyfills.count_trailing_zeros = true;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
diff --git a/src/tint/writer/msl/generator_impl.cc b/src/tint/writer/msl/generator_impl.cc
index 0518677..ffe00f5 100644
--- a/src/tint/writer/msl/generator_impl.cc
+++ b/src/tint/writer/msl/generator_impl.cc
@@ -1351,6 +1351,9 @@
case sem::BuiltinType::kCountOneBits:
out += "popcount";
break;
+ case sem::BuiltinType::kCountTrailingZeros:
+ out += "ctz";
+ break;
case sem::BuiltinType::kDpdx:
case sem::BuiltinType::kDpdxCoarse:
case sem::BuiltinType::kDpdxFine:
diff --git a/src/tint/writer/msl/generator_impl_builtin_test.cc b/src/tint/writer/msl/generator_impl_builtin_test.cc
index 83872d7..864c512 100644
--- a/src/tint/writer/msl/generator_impl_builtin_test.cc
+++ b/src/tint/writer/msl/generator_impl_builtin_test.cc
@@ -126,6 +126,7 @@
}
case BuiltinType::kCountLeadingZeros:
case BuiltinType::kCountOneBits:
+ case BuiltinType::kCountTrailingZeros:
case BuiltinType::kReverseBits:
return builder->Call(str.str(), "u2");
case BuiltinType::kMax:
@@ -215,6 +216,7 @@
BuiltinData{BuiltinType::kCosh, ParamType::kF32, "cosh"},
BuiltinData{BuiltinType::kCountLeadingZeros, ParamType::kU32, "clz"},
BuiltinData{BuiltinType::kCountOneBits, ParamType::kU32, "popcount"},
+ BuiltinData{BuiltinType::kCountTrailingZeros, ParamType::kU32, "ctz"},
BuiltinData{BuiltinType::kCross, ParamType::kF32, "cross"},
BuiltinData{BuiltinType::kDeterminant, ParamType::kF32, "determinant"},
BuiltinData{BuiltinType::kDistance, ParamType::kF32, "distance"},
diff --git a/src/tint/writer/spirv/builder.cc b/src/tint/writer/spirv/builder.cc
index a8becaa..7c69b1c 100644
--- a/src/tint/writer/spirv/builder.cc
+++ b/src/tint/writer/spirv/builder.cc
@@ -262,6 +262,7 @@
{ // Builtin polyfills
transform::BuiltinPolyfill::Builtins polyfills;
polyfills.count_leading_zeros = true;
+ polyfills.count_trailing_zeros = true;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
diff --git a/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl
new file mode 100644
index 0000000..2c4eba1
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl
@@ -0,0 +1,45 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/builtin-gen
+// using the template:
+// test/tint/builtins/builtins.wgsl.tmpl
+// and the builtin defintion file:
+// src/tint/builtins.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// fn countTrailingZeros(vec<2, u32>) -> vec<2, u32>
+fn countTrailingZeros_1ad138() {
+ var res: vec2<u32> = countTrailingZeros(vec2<u32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_1ad138();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_1ad138();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_1ad138();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.glsl b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.glsl
new file mode 100644
index 0000000..e252758
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+#version 310 es
+
+uvec2 tint_count_trailing_zeros(uvec2 v) {
+ uvec2 x = uvec2(v);
+ uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
+ x = (x >> b16);
+ uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
+ x = (x >> b8);
+ uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
+ x = (x >> b4);
+ uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
+ x = (x >> b2);
+ uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
+ uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
+ return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_1ad138() {
+ uvec2 res = tint_count_trailing_zeros(uvec2(0u, 0u));
+}
+
+vec4 vertex_main() {
+ countTrailingZeros_1ad138();
+ return vec4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+void main() {
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+#version 310 es
+precision mediump float;
+
+uvec2 tint_count_trailing_zeros(uvec2 v) {
+ uvec2 x = uvec2(v);
+ uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
+ x = (x >> b16);
+ uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
+ x = (x >> b8);
+ uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
+ x = (x >> b4);
+ uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
+ x = (x >> b2);
+ uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
+ uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
+ return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_1ad138() {
+ uvec2 res = tint_count_trailing_zeros(uvec2(0u, 0u));
+}
+
+void fragment_main() {
+ countTrailingZeros_1ad138();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+uvec2 tint_count_trailing_zeros(uvec2 v) {
+ uvec2 x = uvec2(v);
+ uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
+ x = (x >> b16);
+ uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
+ x = (x >> b8);
+ uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
+ x = (x >> b4);
+ uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
+ x = (x >> b2);
+ uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
+ uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
+ return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_1ad138() {
+ uvec2 res = tint_count_trailing_zeros(uvec2(0u, 0u));
+}
+
+void compute_main() {
+ countTrailingZeros_1ad138();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.hlsl b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.hlsl
new file mode 100644
index 0000000..1363b0c
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.hlsl
@@ -0,0 +1,45 @@
+uint2 tint_count_trailing_zeros(uint2 v) {
+ uint2 x = uint2(v);
+ const uint2 b16 = (bool2((x & uint2((65535u).xx))) ? uint2((0u).xx) : uint2((16u).xx));
+ x = (x >> b16);
+ const uint2 b8 = (bool2((x & uint2((255u).xx))) ? uint2((0u).xx) : uint2((8u).xx));
+ x = (x >> b8);
+ const uint2 b4 = (bool2((x & uint2((15u).xx))) ? uint2((0u).xx) : uint2((4u).xx));
+ x = (x >> b4);
+ const uint2 b2 = (bool2((x & uint2((3u).xx))) ? uint2((0u).xx) : uint2((2u).xx));
+ x = (x >> b2);
+ const uint2 b1 = (bool2((x & uint2((1u).xx))) ? uint2((0u).xx) : uint2((1u).xx));
+ const uint2 is_zero = ((x == uint2((0u).xx)) ? uint2((1u).xx) : uint2((0u).xx));
+ return uint2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_1ad138() {
+ uint2 res = tint_count_trailing_zeros(uint2(0u, 0u));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_1ad138();
+ return float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+tint_symbol vertex_main() {
+ const float4 inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = (tint_symbol)0;
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+void fragment_main() {
+ countTrailingZeros_1ad138();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ countTrailingZeros_1ad138();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.msl b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.msl
new file mode 100644
index 0000000..1db16bf
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+void countTrailingZeros_1ad138() {
+ uint2 res = ctz(uint2());
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_1ad138();
+ return float4();
+}
+
+vertex tint_symbol vertex_main() {
+ float4 const inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main() {
+ countTrailingZeros_1ad138();
+ return;
+}
+
+kernel void compute_main() {
+ countTrailingZeros_1ad138();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.spvasm b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.spvasm
new file mode 100644
index 0000000..96849ef
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.spvasm
@@ -0,0 +1,140 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 98
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %tint_count_trailing_zeros "tint_count_trailing_zeros"
+ OpName %v "v"
+ OpName %x "x"
+ OpName %countTrailingZeros_1ad138 "countTrailingZeros_1ad138"
+ OpName %res "res"
+ OpName %vertex_main_inner "vertex_main_inner"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %value BuiltIn Position
+ OpDecorate %vertex_point_size BuiltIn PointSize
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %5 = OpConstantNull %v4float
+ %value = OpVariable %_ptr_Output_v4float Output %5
+%_ptr_Output_float = OpTypePointer Output %float
+ %8 = OpConstantNull %float
+%vertex_point_size = OpVariable %_ptr_Output_float Output %8
+ %uint = OpTypeInt 32 0
+ %v2uint = OpTypeVector %uint 2
+ %9 = OpTypeFunction %v2uint %v2uint
+%_ptr_Function_v2uint = OpTypePointer Function %v2uint
+ %18 = OpConstantNull %v2uint
+ %bool = OpTypeBool
+ %v2bool = OpTypeVector %bool 2
+ %uint_65535 = OpConstant %uint 65535
+ %25 = OpConstantComposite %v2uint %uint_65535 %uint_65535
+ %uint_0 = OpConstant %uint 0
+ %28 = OpConstantComposite %v2uint %uint_0 %uint_0
+ %uint_16 = OpConstant %uint 16
+ %30 = OpConstantComposite %v2uint %uint_16 %uint_16
+ %uint_255 = OpConstant %uint 255
+ %37 = OpConstantComposite %v2uint %uint_255 %uint_255
+ %uint_8 = OpConstant %uint 8
+ %40 = OpConstantComposite %v2uint %uint_8 %uint_8
+ %uint_15 = OpConstant %uint 15
+ %47 = OpConstantComposite %v2uint %uint_15 %uint_15
+ %uint_4 = OpConstant %uint 4
+ %50 = OpConstantComposite %v2uint %uint_4 %uint_4
+ %uint_3 = OpConstant %uint 3
+ %57 = OpConstantComposite %v2uint %uint_3 %uint_3
+ %uint_2 = OpConstant %uint 2
+ %60 = OpConstantComposite %v2uint %uint_2 %uint_2
+ %uint_1 = OpConstant %uint 1
+ %67 = OpConstantComposite %v2uint %uint_1 %uint_1
+ %void = OpTypeVoid
+ %78 = OpTypeFunction %void
+ %84 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_count_trailing_zeros = OpFunction %v2uint None %9
+ %v = OpFunctionParameter %v2uint
+ %14 = OpLabel
+ %x = OpVariable %_ptr_Function_v2uint Function %18
+ OpStore %x %v
+ %23 = OpLoad %v2uint %x
+ %26 = OpBitwiseAnd %v2uint %23 %25
+ %20 = OpINotEqual %v2bool %26 %18
+ %19 = OpSelect %v2uint %20 %28 %30
+ %31 = OpLoad %v2uint %x
+ %32 = OpShiftRightLogical %v2uint %31 %19
+ OpStore %x %32
+ %35 = OpLoad %v2uint %x
+ %38 = OpBitwiseAnd %v2uint %35 %37
+ %34 = OpINotEqual %v2bool %38 %18
+ %33 = OpSelect %v2uint %34 %28 %40
+ %41 = OpLoad %v2uint %x
+ %42 = OpShiftRightLogical %v2uint %41 %33
+ OpStore %x %42
+ %45 = OpLoad %v2uint %x
+ %48 = OpBitwiseAnd %v2uint %45 %47
+ %44 = OpINotEqual %v2bool %48 %18
+ %43 = OpSelect %v2uint %44 %28 %50
+ %51 = OpLoad %v2uint %x
+ %52 = OpShiftRightLogical %v2uint %51 %43
+ OpStore %x %52
+ %55 = OpLoad %v2uint %x
+ %58 = OpBitwiseAnd %v2uint %55 %57
+ %54 = OpINotEqual %v2bool %58 %18
+ %53 = OpSelect %v2uint %54 %28 %60
+ %61 = OpLoad %v2uint %x
+ %62 = OpShiftRightLogical %v2uint %61 %53
+ OpStore %x %62
+ %65 = OpLoad %v2uint %x
+ %68 = OpBitwiseAnd %v2uint %65 %67
+ %64 = OpINotEqual %v2bool %68 %18
+ %63 = OpSelect %v2uint %64 %28 %67
+ %70 = OpLoad %v2uint %x
+ %71 = OpIEqual %v2bool %70 %28
+ %69 = OpSelect %v2uint %71 %67 %28
+ %73 = OpBitwiseOr %v2uint %19 %33
+ %74 = OpBitwiseOr %v2uint %73 %43
+ %75 = OpBitwiseOr %v2uint %74 %53
+ %76 = OpBitwiseOr %v2uint %75 %63
+ %77 = OpIAdd %v2uint %76 %69
+ OpReturnValue %77
+ OpFunctionEnd
+%countTrailingZeros_1ad138 = OpFunction %void None %78
+ %81 = OpLabel
+ %res = OpVariable %_ptr_Function_v2uint Function %18
+ %82 = OpFunctionCall %v2uint %tint_count_trailing_zeros %18
+ OpStore %res %82
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %84
+ %86 = OpLabel
+ %87 = OpFunctionCall %void %countTrailingZeros_1ad138
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %78
+ %89 = OpLabel
+ %90 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %90
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %78
+ %93 = OpLabel
+ %94 = OpFunctionCall %void %countTrailingZeros_1ad138
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %78
+ %96 = OpLabel
+ %97 = OpFunctionCall %void %countTrailingZeros_1ad138
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.wgsl b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.wgsl
new file mode 100644
index 0000000..049f99f
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1ad138.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn countTrailingZeros_1ad138() {
+ var res : vec2<u32> = countTrailingZeros(vec2<u32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_1ad138();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_1ad138();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_1ad138();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl
new file mode 100644
index 0000000..a2a9bb8
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl
@@ -0,0 +1,45 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/builtin-gen
+// using the template:
+// test/tint/builtins/builtins.wgsl.tmpl
+// and the builtin defintion file:
+// src/tint/builtins.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// fn countTrailingZeros(vec<4, i32>) -> vec<4, i32>
+fn countTrailingZeros_1dc84a() {
+ var res: vec4<i32> = countTrailingZeros(vec4<i32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_1dc84a();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_1dc84a();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_1dc84a();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.glsl b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.glsl
new file mode 100644
index 0000000..ec748ac
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+#version 310 es
+
+ivec4 tint_count_trailing_zeros(ivec4 v) {
+ uvec4 x = uvec4(v);
+ uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
+ x = (x >> b16);
+ uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
+ x = (x >> b8);
+ uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
+ x = (x >> b4);
+ uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
+ x = (x >> b2);
+ uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
+ uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
+ return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_1dc84a() {
+ ivec4 res = tint_count_trailing_zeros(ivec4(0, 0, 0, 0));
+}
+
+vec4 vertex_main() {
+ countTrailingZeros_1dc84a();
+ return vec4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+void main() {
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+#version 310 es
+precision mediump float;
+
+ivec4 tint_count_trailing_zeros(ivec4 v) {
+ uvec4 x = uvec4(v);
+ uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
+ x = (x >> b16);
+ uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
+ x = (x >> b8);
+ uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
+ x = (x >> b4);
+ uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
+ x = (x >> b2);
+ uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
+ uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
+ return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_1dc84a() {
+ ivec4 res = tint_count_trailing_zeros(ivec4(0, 0, 0, 0));
+}
+
+void fragment_main() {
+ countTrailingZeros_1dc84a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+ivec4 tint_count_trailing_zeros(ivec4 v) {
+ uvec4 x = uvec4(v);
+ uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
+ x = (x >> b16);
+ uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
+ x = (x >> b8);
+ uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
+ x = (x >> b4);
+ uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
+ x = (x >> b2);
+ uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
+ uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
+ return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_1dc84a() {
+ ivec4 res = tint_count_trailing_zeros(ivec4(0, 0, 0, 0));
+}
+
+void compute_main() {
+ countTrailingZeros_1dc84a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.hlsl b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.hlsl
new file mode 100644
index 0000000..6808031
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.hlsl
@@ -0,0 +1,45 @@
+int4 tint_count_trailing_zeros(int4 v) {
+ uint4 x = uint4(v);
+ const uint4 b16 = (bool4((x & uint4((65535u).xxxx))) ? uint4((0u).xxxx) : uint4((16u).xxxx));
+ x = (x >> b16);
+ const uint4 b8 = (bool4((x & uint4((255u).xxxx))) ? uint4((0u).xxxx) : uint4((8u).xxxx));
+ x = (x >> b8);
+ const uint4 b4 = (bool4((x & uint4((15u).xxxx))) ? uint4((0u).xxxx) : uint4((4u).xxxx));
+ x = (x >> b4);
+ const uint4 b2 = (bool4((x & uint4((3u).xxxx))) ? uint4((0u).xxxx) : uint4((2u).xxxx));
+ x = (x >> b2);
+ const uint4 b1 = (bool4((x & uint4((1u).xxxx))) ? uint4((0u).xxxx) : uint4((1u).xxxx));
+ const uint4 is_zero = ((x == uint4((0u).xxxx)) ? uint4((1u).xxxx) : uint4((0u).xxxx));
+ return int4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_1dc84a() {
+ int4 res = tint_count_trailing_zeros(int4(0, 0, 0, 0));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_1dc84a();
+ return float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+tint_symbol vertex_main() {
+ const float4 inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = (tint_symbol)0;
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+void fragment_main() {
+ countTrailingZeros_1dc84a();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ countTrailingZeros_1dc84a();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.msl b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.msl
new file mode 100644
index 0000000..33863bf
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+void countTrailingZeros_1dc84a() {
+ int4 res = ctz(int4());
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_1dc84a();
+ return float4();
+}
+
+vertex tint_symbol vertex_main() {
+ float4 const inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main() {
+ countTrailingZeros_1dc84a();
+ return;
+}
+
+kernel void compute_main() {
+ countTrailingZeros_1dc84a();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.spvasm b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.spvasm
new file mode 100644
index 0000000..dfc1ee7
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.spvasm
@@ -0,0 +1,146 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 102
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %tint_count_trailing_zeros "tint_count_trailing_zeros"
+ OpName %v "v"
+ OpName %x "x"
+ OpName %countTrailingZeros_1dc84a "countTrailingZeros_1dc84a"
+ OpName %res "res"
+ OpName %vertex_main_inner "vertex_main_inner"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %value BuiltIn Position
+ OpDecorate %vertex_point_size BuiltIn PointSize
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %5 = OpConstantNull %v4float
+ %value = OpVariable %_ptr_Output_v4float Output %5
+%_ptr_Output_float = OpTypePointer Output %float
+ %8 = OpConstantNull %float
+%vertex_point_size = OpVariable %_ptr_Output_float Output %8
+ %int = OpTypeInt 32 1
+ %v4int = OpTypeVector %int 4
+ %9 = OpTypeFunction %v4int %v4int
+ %uint = OpTypeInt 32 0
+ %v4uint = OpTypeVector %uint 4
+%_ptr_Function_v4uint = OpTypePointer Function %v4uint
+ %20 = OpConstantNull %v4uint
+ %bool = OpTypeBool
+ %v4bool = OpTypeVector %bool 4
+ %uint_65535 = OpConstant %uint 65535
+ %27 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535
+ %uint_0 = OpConstant %uint 0
+ %30 = OpConstantComposite %v4uint %uint_0 %uint_0 %uint_0 %uint_0
+ %uint_16 = OpConstant %uint 16
+ %32 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
+ %uint_255 = OpConstant %uint 255
+ %39 = OpConstantComposite %v4uint %uint_255 %uint_255 %uint_255 %uint_255
+ %uint_8 = OpConstant %uint 8
+ %42 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
+ %uint_15 = OpConstant %uint 15
+ %49 = OpConstantComposite %v4uint %uint_15 %uint_15 %uint_15 %uint_15
+ %uint_4 = OpConstant %uint 4
+ %52 = OpConstantComposite %v4uint %uint_4 %uint_4 %uint_4 %uint_4
+ %uint_3 = OpConstant %uint 3
+ %59 = OpConstantComposite %v4uint %uint_3 %uint_3 %uint_3 %uint_3
+ %uint_2 = OpConstant %uint 2
+ %62 = OpConstantComposite %v4uint %uint_2 %uint_2 %uint_2 %uint_2
+ %uint_1 = OpConstant %uint 1
+ %69 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
+ %void = OpTypeVoid
+ %80 = OpTypeFunction %void
+ %85 = OpConstantNull %v4int
+%_ptr_Function_v4int = OpTypePointer Function %v4int
+ %88 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_count_trailing_zeros = OpFunction %v4int None %9
+ %v = OpFunctionParameter %v4int
+ %14 = OpLabel
+ %x = OpVariable %_ptr_Function_v4uint Function %20
+ %15 = OpBitcast %v4uint %v
+ OpStore %x %15
+ %25 = OpLoad %v4uint %x
+ %28 = OpBitwiseAnd %v4uint %25 %27
+ %22 = OpINotEqual %v4bool %28 %20
+ %21 = OpSelect %v4uint %22 %30 %32
+ %33 = OpLoad %v4uint %x
+ %34 = OpShiftRightLogical %v4uint %33 %21
+ OpStore %x %34
+ %37 = OpLoad %v4uint %x
+ %40 = OpBitwiseAnd %v4uint %37 %39
+ %36 = OpINotEqual %v4bool %40 %20
+ %35 = OpSelect %v4uint %36 %30 %42
+ %43 = OpLoad %v4uint %x
+ %44 = OpShiftRightLogical %v4uint %43 %35
+ OpStore %x %44
+ %47 = OpLoad %v4uint %x
+ %50 = OpBitwiseAnd %v4uint %47 %49
+ %46 = OpINotEqual %v4bool %50 %20
+ %45 = OpSelect %v4uint %46 %30 %52
+ %53 = OpLoad %v4uint %x
+ %54 = OpShiftRightLogical %v4uint %53 %45
+ OpStore %x %54
+ %57 = OpLoad %v4uint %x
+ %60 = OpBitwiseAnd %v4uint %57 %59
+ %56 = OpINotEqual %v4bool %60 %20
+ %55 = OpSelect %v4uint %56 %30 %62
+ %63 = OpLoad %v4uint %x
+ %64 = OpShiftRightLogical %v4uint %63 %55
+ OpStore %x %64
+ %67 = OpLoad %v4uint %x
+ %70 = OpBitwiseAnd %v4uint %67 %69
+ %66 = OpINotEqual %v4bool %70 %20
+ %65 = OpSelect %v4uint %66 %30 %69
+ %72 = OpLoad %v4uint %x
+ %73 = OpIEqual %v4bool %72 %30
+ %71 = OpSelect %v4uint %73 %69 %30
+ %75 = OpBitwiseOr %v4uint %21 %35
+ %76 = OpBitwiseOr %v4uint %75 %45
+ %77 = OpBitwiseOr %v4uint %76 %55
+ %78 = OpBitwiseOr %v4uint %77 %65
+ %79 = OpIAdd %v4uint %78 %71
+ %74 = OpBitcast %v4int %79
+ OpReturnValue %74
+ OpFunctionEnd
+%countTrailingZeros_1dc84a = OpFunction %void None %80
+ %83 = OpLabel
+ %res = OpVariable %_ptr_Function_v4int Function %85
+ %84 = OpFunctionCall %v4int %tint_count_trailing_zeros %85
+ OpStore %res %84
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %88
+ %90 = OpLabel
+ %91 = OpFunctionCall %void %countTrailingZeros_1dc84a
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %80
+ %93 = OpLabel
+ %94 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %94
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %80
+ %97 = OpLabel
+ %98 = OpFunctionCall %void %countTrailingZeros_1dc84a
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %80
+ %100 = OpLabel
+ %101 = OpFunctionCall %void %countTrailingZeros_1dc84a
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.wgsl b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.wgsl
new file mode 100644
index 0000000..de89ed5
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/1dc84a.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn countTrailingZeros_1dc84a() {
+ var res : vec4<i32> = countTrailingZeros(vec4<i32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_1dc84a();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_1dc84a();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_1dc84a();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl
new file mode 100644
index 0000000..16b9a45
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl
@@ -0,0 +1,45 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/builtin-gen
+// using the template:
+// test/tint/builtins/builtins.wgsl.tmpl
+// and the builtin defintion file:
+// src/tint/builtins.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// fn countTrailingZeros(u32) -> u32
+fn countTrailingZeros_21e394() {
+ var res: u32 = countTrailingZeros(1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_21e394();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_21e394();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_21e394();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.glsl b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.glsl
new file mode 100644
index 0000000..8506e96
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+#version 310 es
+
+uint tint_count_trailing_zeros(uint v) {
+ uint x = uint(v);
+ uint b16 = (bool((x & 65535u)) ? 0u : 16u);
+ x = (x >> b16);
+ uint b8 = (bool((x & 255u)) ? 0u : 8u);
+ x = (x >> b8);
+ uint b4 = (bool((x & 15u)) ? 0u : 4u);
+ x = (x >> b4);
+ uint b2 = (bool((x & 3u)) ? 0u : 2u);
+ x = (x >> b2);
+ uint b1 = (bool((x & 1u)) ? 0u : 1u);
+ uint is_zero = ((x == 0u) ? 1u : 0u);
+ return uint((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_21e394() {
+ uint res = tint_count_trailing_zeros(1u);
+}
+
+vec4 vertex_main() {
+ countTrailingZeros_21e394();
+ return vec4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+void main() {
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+#version 310 es
+precision mediump float;
+
+uint tint_count_trailing_zeros(uint v) {
+ uint x = uint(v);
+ uint b16 = (bool((x & 65535u)) ? 0u : 16u);
+ x = (x >> b16);
+ uint b8 = (bool((x & 255u)) ? 0u : 8u);
+ x = (x >> b8);
+ uint b4 = (bool((x & 15u)) ? 0u : 4u);
+ x = (x >> b4);
+ uint b2 = (bool((x & 3u)) ? 0u : 2u);
+ x = (x >> b2);
+ uint b1 = (bool((x & 1u)) ? 0u : 1u);
+ uint is_zero = ((x == 0u) ? 1u : 0u);
+ return uint((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_21e394() {
+ uint res = tint_count_trailing_zeros(1u);
+}
+
+void fragment_main() {
+ countTrailingZeros_21e394();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+uint tint_count_trailing_zeros(uint v) {
+ uint x = uint(v);
+ uint b16 = (bool((x & 65535u)) ? 0u : 16u);
+ x = (x >> b16);
+ uint b8 = (bool((x & 255u)) ? 0u : 8u);
+ x = (x >> b8);
+ uint b4 = (bool((x & 15u)) ? 0u : 4u);
+ x = (x >> b4);
+ uint b2 = (bool((x & 3u)) ? 0u : 2u);
+ x = (x >> b2);
+ uint b1 = (bool((x & 1u)) ? 0u : 1u);
+ uint is_zero = ((x == 0u) ? 1u : 0u);
+ return uint((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_21e394() {
+ uint res = tint_count_trailing_zeros(1u);
+}
+
+void compute_main() {
+ countTrailingZeros_21e394();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.hlsl b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.hlsl
new file mode 100644
index 0000000..ab5a62f
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.hlsl
@@ -0,0 +1,45 @@
+uint tint_count_trailing_zeros(uint v) {
+ uint x = uint(v);
+ const uint b16 = (bool((x & 65535u)) ? 0u : 16u);
+ x = (x >> b16);
+ const uint b8 = (bool((x & 255u)) ? 0u : 8u);
+ x = (x >> b8);
+ const uint b4 = (bool((x & 15u)) ? 0u : 4u);
+ x = (x >> b4);
+ const uint b2 = (bool((x & 3u)) ? 0u : 2u);
+ x = (x >> b2);
+ const uint b1 = (bool((x & 1u)) ? 0u : 1u);
+ const uint is_zero = ((x == 0u) ? 1u : 0u);
+ return uint((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_21e394() {
+ uint res = tint_count_trailing_zeros(1u);
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_21e394();
+ return float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+tint_symbol vertex_main() {
+ const float4 inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = (tint_symbol)0;
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+void fragment_main() {
+ countTrailingZeros_21e394();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ countTrailingZeros_21e394();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.msl b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.msl
new file mode 100644
index 0000000..224d4ce
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+void countTrailingZeros_21e394() {
+ uint res = ctz(1u);
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_21e394();
+ return float4();
+}
+
+vertex tint_symbol vertex_main() {
+ float4 const inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main() {
+ countTrailingZeros_21e394();
+ return;
+}
+
+kernel void compute_main() {
+ countTrailingZeros_21e394();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.spvasm b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.spvasm
new file mode 100644
index 0000000..3d313b6
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.spvasm
@@ -0,0 +1,128 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 86
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %tint_count_trailing_zeros "tint_count_trailing_zeros"
+ OpName %v "v"
+ OpName %x "x"
+ OpName %countTrailingZeros_21e394 "countTrailingZeros_21e394"
+ OpName %res "res"
+ OpName %vertex_main_inner "vertex_main_inner"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %value BuiltIn Position
+ OpDecorate %vertex_point_size BuiltIn PointSize
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %5 = OpConstantNull %v4float
+ %value = OpVariable %_ptr_Output_v4float Output %5
+%_ptr_Output_float = OpTypePointer Output %float
+ %8 = OpConstantNull %float
+%vertex_point_size = OpVariable %_ptr_Output_float Output %8
+ %uint = OpTypeInt 32 0
+ %9 = OpTypeFunction %uint %uint
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %17 = OpConstantNull %uint
+ %bool = OpTypeBool
+ %uint_65535 = OpConstant %uint 65535
+ %uint_0 = OpConstant %uint 0
+ %uint_16 = OpConstant %uint 16
+ %uint_255 = OpConstant %uint 255
+ %uint_8 = OpConstant %uint 8
+ %uint_15 = OpConstant %uint 15
+ %uint_4 = OpConstant %uint 4
+ %uint_3 = OpConstant %uint 3
+ %uint_2 = OpConstant %uint 2
+ %uint_1 = OpConstant %uint 1
+ %void = OpTypeVoid
+ %66 = OpTypeFunction %void
+ %72 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_count_trailing_zeros = OpFunction %uint None %9
+ %v = OpFunctionParameter %uint
+ %13 = OpLabel
+ %x = OpVariable %_ptr_Function_uint Function %17
+ OpStore %x %v
+ %21 = OpLoad %uint %x
+ %23 = OpBitwiseAnd %uint %21 %uint_65535
+ %19 = OpINotEqual %bool %23 %17
+ %18 = OpSelect %uint %19 %uint_0 %uint_16
+ %26 = OpLoad %uint %x
+ %27 = OpShiftRightLogical %uint %26 %18
+ OpStore %x %27
+ %30 = OpLoad %uint %x
+ %32 = OpBitwiseAnd %uint %30 %uint_255
+ %29 = OpINotEqual %bool %32 %17
+ %28 = OpSelect %uint %29 %uint_0 %uint_8
+ %34 = OpLoad %uint %x
+ %35 = OpShiftRightLogical %uint %34 %28
+ OpStore %x %35
+ %38 = OpLoad %uint %x
+ %40 = OpBitwiseAnd %uint %38 %uint_15
+ %37 = OpINotEqual %bool %40 %17
+ %36 = OpSelect %uint %37 %uint_0 %uint_4
+ %42 = OpLoad %uint %x
+ %43 = OpShiftRightLogical %uint %42 %36
+ OpStore %x %43
+ %46 = OpLoad %uint %x
+ %48 = OpBitwiseAnd %uint %46 %uint_3
+ %45 = OpINotEqual %bool %48 %17
+ %44 = OpSelect %uint %45 %uint_0 %uint_2
+ %50 = OpLoad %uint %x
+ %51 = OpShiftRightLogical %uint %50 %44
+ OpStore %x %51
+ %54 = OpLoad %uint %x
+ %56 = OpBitwiseAnd %uint %54 %uint_1
+ %53 = OpINotEqual %bool %56 %17
+ %52 = OpSelect %uint %53 %uint_0 %uint_1
+ %58 = OpLoad %uint %x
+ %59 = OpIEqual %bool %58 %uint_0
+ %57 = OpSelect %uint %59 %uint_1 %uint_0
+ %61 = OpBitwiseOr %uint %18 %28
+ %62 = OpBitwiseOr %uint %61 %36
+ %63 = OpBitwiseOr %uint %62 %44
+ %64 = OpBitwiseOr %uint %63 %52
+ %65 = OpIAdd %uint %64 %57
+ OpReturnValue %65
+ OpFunctionEnd
+%countTrailingZeros_21e394 = OpFunction %void None %66
+ %69 = OpLabel
+ %res = OpVariable %_ptr_Function_uint Function %17
+ %70 = OpFunctionCall %uint %tint_count_trailing_zeros %uint_1
+ OpStore %res %70
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %72
+ %74 = OpLabel
+ %75 = OpFunctionCall %void %countTrailingZeros_21e394
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %66
+ %77 = OpLabel
+ %78 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %78
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %66
+ %81 = OpLabel
+ %82 = OpFunctionCall %void %countTrailingZeros_21e394
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %66
+ %84 = OpLabel
+ %85 = OpFunctionCall %void %countTrailingZeros_21e394
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.wgsl b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.wgsl
new file mode 100644
index 0000000..a11d849
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/21e394.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn countTrailingZeros_21e394() {
+ var res : u32 = countTrailingZeros(1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_21e394();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_21e394();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_21e394();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl
new file mode 100644
index 0000000..6483038
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl
@@ -0,0 +1,45 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/builtin-gen
+// using the template:
+// test/tint/builtins/builtins.wgsl.tmpl
+// and the builtin defintion file:
+// src/tint/builtins.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// fn countTrailingZeros(vec<2, i32>) -> vec<2, i32>
+fn countTrailingZeros_327c37() {
+ var res: vec2<i32> = countTrailingZeros(vec2<i32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_327c37();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_327c37();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_327c37();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.glsl b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.glsl
new file mode 100644
index 0000000..30177ab
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+#version 310 es
+
+ivec2 tint_count_trailing_zeros(ivec2 v) {
+ uvec2 x = uvec2(v);
+ uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
+ x = (x >> b16);
+ uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
+ x = (x >> b8);
+ uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
+ x = (x >> b4);
+ uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
+ x = (x >> b2);
+ uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
+ uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
+ return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_327c37() {
+ ivec2 res = tint_count_trailing_zeros(ivec2(0, 0));
+}
+
+vec4 vertex_main() {
+ countTrailingZeros_327c37();
+ return vec4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+void main() {
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+#version 310 es
+precision mediump float;
+
+ivec2 tint_count_trailing_zeros(ivec2 v) {
+ uvec2 x = uvec2(v);
+ uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
+ x = (x >> b16);
+ uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
+ x = (x >> b8);
+ uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
+ x = (x >> b4);
+ uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
+ x = (x >> b2);
+ uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
+ uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
+ return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_327c37() {
+ ivec2 res = tint_count_trailing_zeros(ivec2(0, 0));
+}
+
+void fragment_main() {
+ countTrailingZeros_327c37();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+ivec2 tint_count_trailing_zeros(ivec2 v) {
+ uvec2 x = uvec2(v);
+ uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
+ x = (x >> b16);
+ uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
+ x = (x >> b8);
+ uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
+ x = (x >> b4);
+ uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
+ x = (x >> b2);
+ uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
+ uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
+ return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_327c37() {
+ ivec2 res = tint_count_trailing_zeros(ivec2(0, 0));
+}
+
+void compute_main() {
+ countTrailingZeros_327c37();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.hlsl b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.hlsl
new file mode 100644
index 0000000..c448cca
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.hlsl
@@ -0,0 +1,45 @@
+int2 tint_count_trailing_zeros(int2 v) {
+ uint2 x = uint2(v);
+ const uint2 b16 = (bool2((x & uint2((65535u).xx))) ? uint2((0u).xx) : uint2((16u).xx));
+ x = (x >> b16);
+ const uint2 b8 = (bool2((x & uint2((255u).xx))) ? uint2((0u).xx) : uint2((8u).xx));
+ x = (x >> b8);
+ const uint2 b4 = (bool2((x & uint2((15u).xx))) ? uint2((0u).xx) : uint2((4u).xx));
+ x = (x >> b4);
+ const uint2 b2 = (bool2((x & uint2((3u).xx))) ? uint2((0u).xx) : uint2((2u).xx));
+ x = (x >> b2);
+ const uint2 b1 = (bool2((x & uint2((1u).xx))) ? uint2((0u).xx) : uint2((1u).xx));
+ const uint2 is_zero = ((x == uint2((0u).xx)) ? uint2((1u).xx) : uint2((0u).xx));
+ return int2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_327c37() {
+ int2 res = tint_count_trailing_zeros(int2(0, 0));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_327c37();
+ return float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+tint_symbol vertex_main() {
+ const float4 inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = (tint_symbol)0;
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+void fragment_main() {
+ countTrailingZeros_327c37();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ countTrailingZeros_327c37();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.msl b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.msl
new file mode 100644
index 0000000..3017464
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+void countTrailingZeros_327c37() {
+ int2 res = ctz(int2());
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_327c37();
+ return float4();
+}
+
+vertex tint_symbol vertex_main() {
+ float4 const inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main() {
+ countTrailingZeros_327c37();
+ return;
+}
+
+kernel void compute_main() {
+ countTrailingZeros_327c37();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.spvasm b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.spvasm
new file mode 100644
index 0000000..ddd1986
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.spvasm
@@ -0,0 +1,146 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 102
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %tint_count_trailing_zeros "tint_count_trailing_zeros"
+ OpName %v "v"
+ OpName %x "x"
+ OpName %countTrailingZeros_327c37 "countTrailingZeros_327c37"
+ OpName %res "res"
+ OpName %vertex_main_inner "vertex_main_inner"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %value BuiltIn Position
+ OpDecorate %vertex_point_size BuiltIn PointSize
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %5 = OpConstantNull %v4float
+ %value = OpVariable %_ptr_Output_v4float Output %5
+%_ptr_Output_float = OpTypePointer Output %float
+ %8 = OpConstantNull %float
+%vertex_point_size = OpVariable %_ptr_Output_float Output %8
+ %int = OpTypeInt 32 1
+ %v2int = OpTypeVector %int 2
+ %9 = OpTypeFunction %v2int %v2int
+ %uint = OpTypeInt 32 0
+ %v2uint = OpTypeVector %uint 2
+%_ptr_Function_v2uint = OpTypePointer Function %v2uint
+ %20 = OpConstantNull %v2uint
+ %bool = OpTypeBool
+ %v2bool = OpTypeVector %bool 2
+ %uint_65535 = OpConstant %uint 65535
+ %27 = OpConstantComposite %v2uint %uint_65535 %uint_65535
+ %uint_0 = OpConstant %uint 0
+ %30 = OpConstantComposite %v2uint %uint_0 %uint_0
+ %uint_16 = OpConstant %uint 16
+ %32 = OpConstantComposite %v2uint %uint_16 %uint_16
+ %uint_255 = OpConstant %uint 255
+ %39 = OpConstantComposite %v2uint %uint_255 %uint_255
+ %uint_8 = OpConstant %uint 8
+ %42 = OpConstantComposite %v2uint %uint_8 %uint_8
+ %uint_15 = OpConstant %uint 15
+ %49 = OpConstantComposite %v2uint %uint_15 %uint_15
+ %uint_4 = OpConstant %uint 4
+ %52 = OpConstantComposite %v2uint %uint_4 %uint_4
+ %uint_3 = OpConstant %uint 3
+ %59 = OpConstantComposite %v2uint %uint_3 %uint_3
+ %uint_2 = OpConstant %uint 2
+ %62 = OpConstantComposite %v2uint %uint_2 %uint_2
+ %uint_1 = OpConstant %uint 1
+ %69 = OpConstantComposite %v2uint %uint_1 %uint_1
+ %void = OpTypeVoid
+ %80 = OpTypeFunction %void
+ %85 = OpConstantNull %v2int
+%_ptr_Function_v2int = OpTypePointer Function %v2int
+ %88 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_count_trailing_zeros = OpFunction %v2int None %9
+ %v = OpFunctionParameter %v2int
+ %14 = OpLabel
+ %x = OpVariable %_ptr_Function_v2uint Function %20
+ %15 = OpBitcast %v2uint %v
+ OpStore %x %15
+ %25 = OpLoad %v2uint %x
+ %28 = OpBitwiseAnd %v2uint %25 %27
+ %22 = OpINotEqual %v2bool %28 %20
+ %21 = OpSelect %v2uint %22 %30 %32
+ %33 = OpLoad %v2uint %x
+ %34 = OpShiftRightLogical %v2uint %33 %21
+ OpStore %x %34
+ %37 = OpLoad %v2uint %x
+ %40 = OpBitwiseAnd %v2uint %37 %39
+ %36 = OpINotEqual %v2bool %40 %20
+ %35 = OpSelect %v2uint %36 %30 %42
+ %43 = OpLoad %v2uint %x
+ %44 = OpShiftRightLogical %v2uint %43 %35
+ OpStore %x %44
+ %47 = OpLoad %v2uint %x
+ %50 = OpBitwiseAnd %v2uint %47 %49
+ %46 = OpINotEqual %v2bool %50 %20
+ %45 = OpSelect %v2uint %46 %30 %52
+ %53 = OpLoad %v2uint %x
+ %54 = OpShiftRightLogical %v2uint %53 %45
+ OpStore %x %54
+ %57 = OpLoad %v2uint %x
+ %60 = OpBitwiseAnd %v2uint %57 %59
+ %56 = OpINotEqual %v2bool %60 %20
+ %55 = OpSelect %v2uint %56 %30 %62
+ %63 = OpLoad %v2uint %x
+ %64 = OpShiftRightLogical %v2uint %63 %55
+ OpStore %x %64
+ %67 = OpLoad %v2uint %x
+ %70 = OpBitwiseAnd %v2uint %67 %69
+ %66 = OpINotEqual %v2bool %70 %20
+ %65 = OpSelect %v2uint %66 %30 %69
+ %72 = OpLoad %v2uint %x
+ %73 = OpIEqual %v2bool %72 %30
+ %71 = OpSelect %v2uint %73 %69 %30
+ %75 = OpBitwiseOr %v2uint %21 %35
+ %76 = OpBitwiseOr %v2uint %75 %45
+ %77 = OpBitwiseOr %v2uint %76 %55
+ %78 = OpBitwiseOr %v2uint %77 %65
+ %79 = OpIAdd %v2uint %78 %71
+ %74 = OpBitcast %v2int %79
+ OpReturnValue %74
+ OpFunctionEnd
+%countTrailingZeros_327c37 = OpFunction %void None %80
+ %83 = OpLabel
+ %res = OpVariable %_ptr_Function_v2int Function %85
+ %84 = OpFunctionCall %v2int %tint_count_trailing_zeros %85
+ OpStore %res %84
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %88
+ %90 = OpLabel
+ %91 = OpFunctionCall %void %countTrailingZeros_327c37
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %80
+ %93 = OpLabel
+ %94 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %94
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %80
+ %97 = OpLabel
+ %98 = OpFunctionCall %void %countTrailingZeros_327c37
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %80
+ %100 = OpLabel
+ %101 = OpFunctionCall %void %countTrailingZeros_327c37
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.wgsl b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.wgsl
new file mode 100644
index 0000000..b48dedf
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/327c37.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn countTrailingZeros_327c37() {
+ var res : vec2<i32> = countTrailingZeros(vec2<i32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_327c37();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_327c37();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_327c37();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl
new file mode 100644
index 0000000..4eb07d0
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl
@@ -0,0 +1,45 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/builtin-gen
+// using the template:
+// test/tint/builtins/builtins.wgsl.tmpl
+// and the builtin defintion file:
+// src/tint/builtins.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// fn countTrailingZeros(i32) -> i32
+fn countTrailingZeros_42fed6() {
+ var res: i32 = countTrailingZeros(1);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_42fed6();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_42fed6();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_42fed6();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.glsl b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.glsl
new file mode 100644
index 0000000..e415bcc
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+#version 310 es
+
+int tint_count_trailing_zeros(int v) {
+ uint x = uint(v);
+ uint b16 = (bool((x & 65535u)) ? 0u : 16u);
+ x = (x >> b16);
+ uint b8 = (bool((x & 255u)) ? 0u : 8u);
+ x = (x >> b8);
+ uint b4 = (bool((x & 15u)) ? 0u : 4u);
+ x = (x >> b4);
+ uint b2 = (bool((x & 3u)) ? 0u : 2u);
+ x = (x >> b2);
+ uint b1 = (bool((x & 1u)) ? 0u : 1u);
+ uint is_zero = ((x == 0u) ? 1u : 0u);
+ return int((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_42fed6() {
+ int res = tint_count_trailing_zeros(1);
+}
+
+vec4 vertex_main() {
+ countTrailingZeros_42fed6();
+ return vec4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+void main() {
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+#version 310 es
+precision mediump float;
+
+int tint_count_trailing_zeros(int v) {
+ uint x = uint(v);
+ uint b16 = (bool((x & 65535u)) ? 0u : 16u);
+ x = (x >> b16);
+ uint b8 = (bool((x & 255u)) ? 0u : 8u);
+ x = (x >> b8);
+ uint b4 = (bool((x & 15u)) ? 0u : 4u);
+ x = (x >> b4);
+ uint b2 = (bool((x & 3u)) ? 0u : 2u);
+ x = (x >> b2);
+ uint b1 = (bool((x & 1u)) ? 0u : 1u);
+ uint is_zero = ((x == 0u) ? 1u : 0u);
+ return int((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_42fed6() {
+ int res = tint_count_trailing_zeros(1);
+}
+
+void fragment_main() {
+ countTrailingZeros_42fed6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+int tint_count_trailing_zeros(int v) {
+ uint x = uint(v);
+ uint b16 = (bool((x & 65535u)) ? 0u : 16u);
+ x = (x >> b16);
+ uint b8 = (bool((x & 255u)) ? 0u : 8u);
+ x = (x >> b8);
+ uint b4 = (bool((x & 15u)) ? 0u : 4u);
+ x = (x >> b4);
+ uint b2 = (bool((x & 3u)) ? 0u : 2u);
+ x = (x >> b2);
+ uint b1 = (bool((x & 1u)) ? 0u : 1u);
+ uint is_zero = ((x == 0u) ? 1u : 0u);
+ return int((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_42fed6() {
+ int res = tint_count_trailing_zeros(1);
+}
+
+void compute_main() {
+ countTrailingZeros_42fed6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.hlsl b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.hlsl
new file mode 100644
index 0000000..b885337
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.hlsl
@@ -0,0 +1,45 @@
+int tint_count_trailing_zeros(int v) {
+ uint x = uint(v);
+ const uint b16 = (bool((x & 65535u)) ? 0u : 16u);
+ x = (x >> b16);
+ const uint b8 = (bool((x & 255u)) ? 0u : 8u);
+ x = (x >> b8);
+ const uint b4 = (bool((x & 15u)) ? 0u : 4u);
+ x = (x >> b4);
+ const uint b2 = (bool((x & 3u)) ? 0u : 2u);
+ x = (x >> b2);
+ const uint b1 = (bool((x & 1u)) ? 0u : 1u);
+ const uint is_zero = ((x == 0u) ? 1u : 0u);
+ return int((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_42fed6() {
+ int res = tint_count_trailing_zeros(1);
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_42fed6();
+ return float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+tint_symbol vertex_main() {
+ const float4 inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = (tint_symbol)0;
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+void fragment_main() {
+ countTrailingZeros_42fed6();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ countTrailingZeros_42fed6();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.msl b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.msl
new file mode 100644
index 0000000..2d69179
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+void countTrailingZeros_42fed6() {
+ int res = ctz(1);
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_42fed6();
+ return float4();
+}
+
+vertex tint_symbol vertex_main() {
+ float4 const inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main() {
+ countTrailingZeros_42fed6();
+ return;
+}
+
+kernel void compute_main() {
+ countTrailingZeros_42fed6();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.spvasm b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.spvasm
new file mode 100644
index 0000000..f5adcab
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.spvasm
@@ -0,0 +1,134 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 90
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %tint_count_trailing_zeros "tint_count_trailing_zeros"
+ OpName %v "v"
+ OpName %x "x"
+ OpName %countTrailingZeros_42fed6 "countTrailingZeros_42fed6"
+ OpName %res "res"
+ OpName %vertex_main_inner "vertex_main_inner"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %value BuiltIn Position
+ OpDecorate %vertex_point_size BuiltIn PointSize
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %5 = OpConstantNull %v4float
+ %value = OpVariable %_ptr_Output_v4float Output %5
+%_ptr_Output_float = OpTypePointer Output %float
+ %8 = OpConstantNull %float
+%vertex_point_size = OpVariable %_ptr_Output_float Output %8
+ %int = OpTypeInt 32 1
+ %9 = OpTypeFunction %int %int
+ %uint = OpTypeInt 32 0
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %18 = OpConstantNull %uint
+ %bool = OpTypeBool
+ %uint_65535 = OpConstant %uint 65535
+ %uint_0 = OpConstant %uint 0
+ %uint_16 = OpConstant %uint 16
+ %uint_255 = OpConstant %uint 255
+ %uint_8 = OpConstant %uint 8
+ %uint_15 = OpConstant %uint 15
+ %uint_4 = OpConstant %uint 4
+ %uint_3 = OpConstant %uint 3
+ %uint_2 = OpConstant %uint 2
+ %uint_1 = OpConstant %uint 1
+ %void = OpTypeVoid
+ %67 = OpTypeFunction %void
+ %int_1 = OpConstant %int 1
+%_ptr_Function_int = OpTypePointer Function %int
+ %75 = OpConstantNull %int
+ %76 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_count_trailing_zeros = OpFunction %int None %9
+ %v = OpFunctionParameter %int
+ %13 = OpLabel
+ %x = OpVariable %_ptr_Function_uint Function %18
+ %14 = OpBitcast %uint %v
+ OpStore %x %14
+ %22 = OpLoad %uint %x
+ %24 = OpBitwiseAnd %uint %22 %uint_65535
+ %20 = OpINotEqual %bool %24 %18
+ %19 = OpSelect %uint %20 %uint_0 %uint_16
+ %27 = OpLoad %uint %x
+ %28 = OpShiftRightLogical %uint %27 %19
+ OpStore %x %28
+ %31 = OpLoad %uint %x
+ %33 = OpBitwiseAnd %uint %31 %uint_255
+ %30 = OpINotEqual %bool %33 %18
+ %29 = OpSelect %uint %30 %uint_0 %uint_8
+ %35 = OpLoad %uint %x
+ %36 = OpShiftRightLogical %uint %35 %29
+ OpStore %x %36
+ %39 = OpLoad %uint %x
+ %41 = OpBitwiseAnd %uint %39 %uint_15
+ %38 = OpINotEqual %bool %41 %18
+ %37 = OpSelect %uint %38 %uint_0 %uint_4
+ %43 = OpLoad %uint %x
+ %44 = OpShiftRightLogical %uint %43 %37
+ OpStore %x %44
+ %47 = OpLoad %uint %x
+ %49 = OpBitwiseAnd %uint %47 %uint_3
+ %46 = OpINotEqual %bool %49 %18
+ %45 = OpSelect %uint %46 %uint_0 %uint_2
+ %51 = OpLoad %uint %x
+ %52 = OpShiftRightLogical %uint %51 %45
+ OpStore %x %52
+ %55 = OpLoad %uint %x
+ %57 = OpBitwiseAnd %uint %55 %uint_1
+ %54 = OpINotEqual %bool %57 %18
+ %53 = OpSelect %uint %54 %uint_0 %uint_1
+ %59 = OpLoad %uint %x
+ %60 = OpIEqual %bool %59 %uint_0
+ %58 = OpSelect %uint %60 %uint_1 %uint_0
+ %62 = OpBitwiseOr %uint %19 %29
+ %63 = OpBitwiseOr %uint %62 %37
+ %64 = OpBitwiseOr %uint %63 %45
+ %65 = OpBitwiseOr %uint %64 %53
+ %66 = OpIAdd %uint %65 %58
+ %61 = OpBitcast %int %66
+ OpReturnValue %61
+ OpFunctionEnd
+%countTrailingZeros_42fed6 = OpFunction %void None %67
+ %70 = OpLabel
+ %res = OpVariable %_ptr_Function_int Function %75
+ %71 = OpFunctionCall %int %tint_count_trailing_zeros %int_1
+ OpStore %res %71
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %76
+ %78 = OpLabel
+ %79 = OpFunctionCall %void %countTrailingZeros_42fed6
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %67
+ %81 = OpLabel
+ %82 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %82
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %67
+ %85 = OpLabel
+ %86 = OpFunctionCall %void %countTrailingZeros_42fed6
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %67
+ %88 = OpLabel
+ %89 = OpFunctionCall %void %countTrailingZeros_42fed6
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.wgsl b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.wgsl
new file mode 100644
index 0000000..6a560f3
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/42fed6.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn countTrailingZeros_42fed6() {
+ var res : i32 = countTrailingZeros(1);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_42fed6();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_42fed6();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_42fed6();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl
new file mode 100644
index 0000000..1ca199d
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl
@@ -0,0 +1,45 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/builtin-gen
+// using the template:
+// test/tint/builtins/builtins.wgsl.tmpl
+// and the builtin defintion file:
+// src/tint/builtins.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// fn countTrailingZeros(vec<3, u32>) -> vec<3, u32>
+fn countTrailingZeros_8ed26f() {
+ var res: vec3<u32> = countTrailingZeros(vec3<u32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_8ed26f();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_8ed26f();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_8ed26f();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.glsl b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.glsl
new file mode 100644
index 0000000..edf7776
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+#version 310 es
+
+uvec3 tint_count_trailing_zeros(uvec3 v) {
+ uvec3 x = uvec3(v);
+ uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
+ x = (x >> b16);
+ uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
+ x = (x >> b8);
+ uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
+ x = (x >> b4);
+ uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
+ x = (x >> b2);
+ uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
+ uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
+ return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_8ed26f() {
+ uvec3 res = tint_count_trailing_zeros(uvec3(0u, 0u, 0u));
+}
+
+vec4 vertex_main() {
+ countTrailingZeros_8ed26f();
+ return vec4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+void main() {
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+#version 310 es
+precision mediump float;
+
+uvec3 tint_count_trailing_zeros(uvec3 v) {
+ uvec3 x = uvec3(v);
+ uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
+ x = (x >> b16);
+ uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
+ x = (x >> b8);
+ uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
+ x = (x >> b4);
+ uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
+ x = (x >> b2);
+ uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
+ uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
+ return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_8ed26f() {
+ uvec3 res = tint_count_trailing_zeros(uvec3(0u, 0u, 0u));
+}
+
+void fragment_main() {
+ countTrailingZeros_8ed26f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+uvec3 tint_count_trailing_zeros(uvec3 v) {
+ uvec3 x = uvec3(v);
+ uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
+ x = (x >> b16);
+ uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
+ x = (x >> b8);
+ uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
+ x = (x >> b4);
+ uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
+ x = (x >> b2);
+ uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
+ uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
+ return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_8ed26f() {
+ uvec3 res = tint_count_trailing_zeros(uvec3(0u, 0u, 0u));
+}
+
+void compute_main() {
+ countTrailingZeros_8ed26f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.hlsl b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.hlsl
new file mode 100644
index 0000000..5226a39
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.hlsl
@@ -0,0 +1,45 @@
+uint3 tint_count_trailing_zeros(uint3 v) {
+ uint3 x = uint3(v);
+ const uint3 b16 = (bool3((x & uint3((65535u).xxx))) ? uint3((0u).xxx) : uint3((16u).xxx));
+ x = (x >> b16);
+ const uint3 b8 = (bool3((x & uint3((255u).xxx))) ? uint3((0u).xxx) : uint3((8u).xxx));
+ x = (x >> b8);
+ const uint3 b4 = (bool3((x & uint3((15u).xxx))) ? uint3((0u).xxx) : uint3((4u).xxx));
+ x = (x >> b4);
+ const uint3 b2 = (bool3((x & uint3((3u).xxx))) ? uint3((0u).xxx) : uint3((2u).xxx));
+ x = (x >> b2);
+ const uint3 b1 = (bool3((x & uint3((1u).xxx))) ? uint3((0u).xxx) : uint3((1u).xxx));
+ const uint3 is_zero = ((x == uint3((0u).xxx)) ? uint3((1u).xxx) : uint3((0u).xxx));
+ return uint3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_8ed26f() {
+ uint3 res = tint_count_trailing_zeros(uint3(0u, 0u, 0u));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_8ed26f();
+ return float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+tint_symbol vertex_main() {
+ const float4 inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = (tint_symbol)0;
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+void fragment_main() {
+ countTrailingZeros_8ed26f();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ countTrailingZeros_8ed26f();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.msl b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.msl
new file mode 100644
index 0000000..076a02d
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+void countTrailingZeros_8ed26f() {
+ uint3 res = ctz(uint3());
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_8ed26f();
+ return float4();
+}
+
+vertex tint_symbol vertex_main() {
+ float4 const inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main() {
+ countTrailingZeros_8ed26f();
+ return;
+}
+
+kernel void compute_main() {
+ countTrailingZeros_8ed26f();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.spvasm b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.spvasm
new file mode 100644
index 0000000..00db376
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.spvasm
@@ -0,0 +1,140 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 98
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %tint_count_trailing_zeros "tint_count_trailing_zeros"
+ OpName %v "v"
+ OpName %x "x"
+ OpName %countTrailingZeros_8ed26f "countTrailingZeros_8ed26f"
+ OpName %res "res"
+ OpName %vertex_main_inner "vertex_main_inner"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %value BuiltIn Position
+ OpDecorate %vertex_point_size BuiltIn PointSize
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %5 = OpConstantNull %v4float
+ %value = OpVariable %_ptr_Output_v4float Output %5
+%_ptr_Output_float = OpTypePointer Output %float
+ %8 = OpConstantNull %float
+%vertex_point_size = OpVariable %_ptr_Output_float Output %8
+ %uint = OpTypeInt 32 0
+ %v3uint = OpTypeVector %uint 3
+ %9 = OpTypeFunction %v3uint %v3uint
+%_ptr_Function_v3uint = OpTypePointer Function %v3uint
+ %18 = OpConstantNull %v3uint
+ %bool = OpTypeBool
+ %v3bool = OpTypeVector %bool 3
+ %uint_65535 = OpConstant %uint 65535
+ %25 = OpConstantComposite %v3uint %uint_65535 %uint_65535 %uint_65535
+ %uint_0 = OpConstant %uint 0
+ %28 = OpConstantComposite %v3uint %uint_0 %uint_0 %uint_0
+ %uint_16 = OpConstant %uint 16
+ %30 = OpConstantComposite %v3uint %uint_16 %uint_16 %uint_16
+ %uint_255 = OpConstant %uint 255
+ %37 = OpConstantComposite %v3uint %uint_255 %uint_255 %uint_255
+ %uint_8 = OpConstant %uint 8
+ %40 = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_8
+ %uint_15 = OpConstant %uint 15
+ %47 = OpConstantComposite %v3uint %uint_15 %uint_15 %uint_15
+ %uint_4 = OpConstant %uint 4
+ %50 = OpConstantComposite %v3uint %uint_4 %uint_4 %uint_4
+ %uint_3 = OpConstant %uint 3
+ %57 = OpConstantComposite %v3uint %uint_3 %uint_3 %uint_3
+ %uint_2 = OpConstant %uint 2
+ %60 = OpConstantComposite %v3uint %uint_2 %uint_2 %uint_2
+ %uint_1 = OpConstant %uint 1
+ %67 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
+ %void = OpTypeVoid
+ %78 = OpTypeFunction %void
+ %84 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_count_trailing_zeros = OpFunction %v3uint None %9
+ %v = OpFunctionParameter %v3uint
+ %14 = OpLabel
+ %x = OpVariable %_ptr_Function_v3uint Function %18
+ OpStore %x %v
+ %23 = OpLoad %v3uint %x
+ %26 = OpBitwiseAnd %v3uint %23 %25
+ %20 = OpINotEqual %v3bool %26 %18
+ %19 = OpSelect %v3uint %20 %28 %30
+ %31 = OpLoad %v3uint %x
+ %32 = OpShiftRightLogical %v3uint %31 %19
+ OpStore %x %32
+ %35 = OpLoad %v3uint %x
+ %38 = OpBitwiseAnd %v3uint %35 %37
+ %34 = OpINotEqual %v3bool %38 %18
+ %33 = OpSelect %v3uint %34 %28 %40
+ %41 = OpLoad %v3uint %x
+ %42 = OpShiftRightLogical %v3uint %41 %33
+ OpStore %x %42
+ %45 = OpLoad %v3uint %x
+ %48 = OpBitwiseAnd %v3uint %45 %47
+ %44 = OpINotEqual %v3bool %48 %18
+ %43 = OpSelect %v3uint %44 %28 %50
+ %51 = OpLoad %v3uint %x
+ %52 = OpShiftRightLogical %v3uint %51 %43
+ OpStore %x %52
+ %55 = OpLoad %v3uint %x
+ %58 = OpBitwiseAnd %v3uint %55 %57
+ %54 = OpINotEqual %v3bool %58 %18
+ %53 = OpSelect %v3uint %54 %28 %60
+ %61 = OpLoad %v3uint %x
+ %62 = OpShiftRightLogical %v3uint %61 %53
+ OpStore %x %62
+ %65 = OpLoad %v3uint %x
+ %68 = OpBitwiseAnd %v3uint %65 %67
+ %64 = OpINotEqual %v3bool %68 %18
+ %63 = OpSelect %v3uint %64 %28 %67
+ %70 = OpLoad %v3uint %x
+ %71 = OpIEqual %v3bool %70 %28
+ %69 = OpSelect %v3uint %71 %67 %28
+ %73 = OpBitwiseOr %v3uint %19 %33
+ %74 = OpBitwiseOr %v3uint %73 %43
+ %75 = OpBitwiseOr %v3uint %74 %53
+ %76 = OpBitwiseOr %v3uint %75 %63
+ %77 = OpIAdd %v3uint %76 %69
+ OpReturnValue %77
+ OpFunctionEnd
+%countTrailingZeros_8ed26f = OpFunction %void None %78
+ %81 = OpLabel
+ %res = OpVariable %_ptr_Function_v3uint Function %18
+ %82 = OpFunctionCall %v3uint %tint_count_trailing_zeros %18
+ OpStore %res %82
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %84
+ %86 = OpLabel
+ %87 = OpFunctionCall %void %countTrailingZeros_8ed26f
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %78
+ %89 = OpLabel
+ %90 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %90
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %78
+ %93 = OpLabel
+ %94 = OpFunctionCall %void %countTrailingZeros_8ed26f
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %78
+ %96 = OpLabel
+ %97 = OpFunctionCall %void %countTrailingZeros_8ed26f
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.wgsl b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.wgsl
new file mode 100644
index 0000000..6556745
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/8ed26f.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn countTrailingZeros_8ed26f() {
+ var res : vec3<u32> = countTrailingZeros(vec3<u32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_8ed26f();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_8ed26f();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_8ed26f();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl
new file mode 100644
index 0000000..6325e9d
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl
@@ -0,0 +1,45 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/builtin-gen
+// using the template:
+// test/tint/builtins/builtins.wgsl.tmpl
+// and the builtin defintion file:
+// src/tint/builtins.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// fn countTrailingZeros(vec<3, i32>) -> vec<3, i32>
+fn countTrailingZeros_acfacb() {
+ var res: vec3<i32> = countTrailingZeros(vec3<i32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_acfacb();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_acfacb();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_acfacb();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.glsl b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.glsl
new file mode 100644
index 0000000..328076f
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+#version 310 es
+
+ivec3 tint_count_trailing_zeros(ivec3 v) {
+ uvec3 x = uvec3(v);
+ uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
+ x = (x >> b16);
+ uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
+ x = (x >> b8);
+ uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
+ x = (x >> b4);
+ uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
+ x = (x >> b2);
+ uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
+ uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
+ return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_acfacb() {
+ ivec3 res = tint_count_trailing_zeros(ivec3(0, 0, 0));
+}
+
+vec4 vertex_main() {
+ countTrailingZeros_acfacb();
+ return vec4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+void main() {
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+#version 310 es
+precision mediump float;
+
+ivec3 tint_count_trailing_zeros(ivec3 v) {
+ uvec3 x = uvec3(v);
+ uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
+ x = (x >> b16);
+ uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
+ x = (x >> b8);
+ uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
+ x = (x >> b4);
+ uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
+ x = (x >> b2);
+ uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
+ uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
+ return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_acfacb() {
+ ivec3 res = tint_count_trailing_zeros(ivec3(0, 0, 0));
+}
+
+void fragment_main() {
+ countTrailingZeros_acfacb();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+ivec3 tint_count_trailing_zeros(ivec3 v) {
+ uvec3 x = uvec3(v);
+ uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
+ x = (x >> b16);
+ uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
+ x = (x >> b8);
+ uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
+ x = (x >> b4);
+ uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
+ x = (x >> b2);
+ uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
+ uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
+ return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_acfacb() {
+ ivec3 res = tint_count_trailing_zeros(ivec3(0, 0, 0));
+}
+
+void compute_main() {
+ countTrailingZeros_acfacb();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.hlsl b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.hlsl
new file mode 100644
index 0000000..8578967
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.hlsl
@@ -0,0 +1,45 @@
+int3 tint_count_trailing_zeros(int3 v) {
+ uint3 x = uint3(v);
+ const uint3 b16 = (bool3((x & uint3((65535u).xxx))) ? uint3((0u).xxx) : uint3((16u).xxx));
+ x = (x >> b16);
+ const uint3 b8 = (bool3((x & uint3((255u).xxx))) ? uint3((0u).xxx) : uint3((8u).xxx));
+ x = (x >> b8);
+ const uint3 b4 = (bool3((x & uint3((15u).xxx))) ? uint3((0u).xxx) : uint3((4u).xxx));
+ x = (x >> b4);
+ const uint3 b2 = (bool3((x & uint3((3u).xxx))) ? uint3((0u).xxx) : uint3((2u).xxx));
+ x = (x >> b2);
+ const uint3 b1 = (bool3((x & uint3((1u).xxx))) ? uint3((0u).xxx) : uint3((1u).xxx));
+ const uint3 is_zero = ((x == uint3((0u).xxx)) ? uint3((1u).xxx) : uint3((0u).xxx));
+ return int3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_acfacb() {
+ int3 res = tint_count_trailing_zeros(int3(0, 0, 0));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_acfacb();
+ return float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+tint_symbol vertex_main() {
+ const float4 inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = (tint_symbol)0;
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+void fragment_main() {
+ countTrailingZeros_acfacb();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ countTrailingZeros_acfacb();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.msl b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.msl
new file mode 100644
index 0000000..8fa6a02
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+void countTrailingZeros_acfacb() {
+ int3 res = ctz(int3());
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_acfacb();
+ return float4();
+}
+
+vertex tint_symbol vertex_main() {
+ float4 const inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main() {
+ countTrailingZeros_acfacb();
+ return;
+}
+
+kernel void compute_main() {
+ countTrailingZeros_acfacb();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.spvasm b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.spvasm
new file mode 100644
index 0000000..777e2ed
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.spvasm
@@ -0,0 +1,146 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 102
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %tint_count_trailing_zeros "tint_count_trailing_zeros"
+ OpName %v "v"
+ OpName %x "x"
+ OpName %countTrailingZeros_acfacb "countTrailingZeros_acfacb"
+ OpName %res "res"
+ OpName %vertex_main_inner "vertex_main_inner"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %value BuiltIn Position
+ OpDecorate %vertex_point_size BuiltIn PointSize
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %5 = OpConstantNull %v4float
+ %value = OpVariable %_ptr_Output_v4float Output %5
+%_ptr_Output_float = OpTypePointer Output %float
+ %8 = OpConstantNull %float
+%vertex_point_size = OpVariable %_ptr_Output_float Output %8
+ %int = OpTypeInt 32 1
+ %v3int = OpTypeVector %int 3
+ %9 = OpTypeFunction %v3int %v3int
+ %uint = OpTypeInt 32 0
+ %v3uint = OpTypeVector %uint 3
+%_ptr_Function_v3uint = OpTypePointer Function %v3uint
+ %20 = OpConstantNull %v3uint
+ %bool = OpTypeBool
+ %v3bool = OpTypeVector %bool 3
+ %uint_65535 = OpConstant %uint 65535
+ %27 = OpConstantComposite %v3uint %uint_65535 %uint_65535 %uint_65535
+ %uint_0 = OpConstant %uint 0
+ %30 = OpConstantComposite %v3uint %uint_0 %uint_0 %uint_0
+ %uint_16 = OpConstant %uint 16
+ %32 = OpConstantComposite %v3uint %uint_16 %uint_16 %uint_16
+ %uint_255 = OpConstant %uint 255
+ %39 = OpConstantComposite %v3uint %uint_255 %uint_255 %uint_255
+ %uint_8 = OpConstant %uint 8
+ %42 = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_8
+ %uint_15 = OpConstant %uint 15
+ %49 = OpConstantComposite %v3uint %uint_15 %uint_15 %uint_15
+ %uint_4 = OpConstant %uint 4
+ %52 = OpConstantComposite %v3uint %uint_4 %uint_4 %uint_4
+ %uint_3 = OpConstant %uint 3
+ %59 = OpConstantComposite %v3uint %uint_3 %uint_3 %uint_3
+ %uint_2 = OpConstant %uint 2
+ %62 = OpConstantComposite %v3uint %uint_2 %uint_2 %uint_2
+ %uint_1 = OpConstant %uint 1
+ %69 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
+ %void = OpTypeVoid
+ %80 = OpTypeFunction %void
+ %85 = OpConstantNull %v3int
+%_ptr_Function_v3int = OpTypePointer Function %v3int
+ %88 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_count_trailing_zeros = OpFunction %v3int None %9
+ %v = OpFunctionParameter %v3int
+ %14 = OpLabel
+ %x = OpVariable %_ptr_Function_v3uint Function %20
+ %15 = OpBitcast %v3uint %v
+ OpStore %x %15
+ %25 = OpLoad %v3uint %x
+ %28 = OpBitwiseAnd %v3uint %25 %27
+ %22 = OpINotEqual %v3bool %28 %20
+ %21 = OpSelect %v3uint %22 %30 %32
+ %33 = OpLoad %v3uint %x
+ %34 = OpShiftRightLogical %v3uint %33 %21
+ OpStore %x %34
+ %37 = OpLoad %v3uint %x
+ %40 = OpBitwiseAnd %v3uint %37 %39
+ %36 = OpINotEqual %v3bool %40 %20
+ %35 = OpSelect %v3uint %36 %30 %42
+ %43 = OpLoad %v3uint %x
+ %44 = OpShiftRightLogical %v3uint %43 %35
+ OpStore %x %44
+ %47 = OpLoad %v3uint %x
+ %50 = OpBitwiseAnd %v3uint %47 %49
+ %46 = OpINotEqual %v3bool %50 %20
+ %45 = OpSelect %v3uint %46 %30 %52
+ %53 = OpLoad %v3uint %x
+ %54 = OpShiftRightLogical %v3uint %53 %45
+ OpStore %x %54
+ %57 = OpLoad %v3uint %x
+ %60 = OpBitwiseAnd %v3uint %57 %59
+ %56 = OpINotEqual %v3bool %60 %20
+ %55 = OpSelect %v3uint %56 %30 %62
+ %63 = OpLoad %v3uint %x
+ %64 = OpShiftRightLogical %v3uint %63 %55
+ OpStore %x %64
+ %67 = OpLoad %v3uint %x
+ %70 = OpBitwiseAnd %v3uint %67 %69
+ %66 = OpINotEqual %v3bool %70 %20
+ %65 = OpSelect %v3uint %66 %30 %69
+ %72 = OpLoad %v3uint %x
+ %73 = OpIEqual %v3bool %72 %30
+ %71 = OpSelect %v3uint %73 %69 %30
+ %75 = OpBitwiseOr %v3uint %21 %35
+ %76 = OpBitwiseOr %v3uint %75 %45
+ %77 = OpBitwiseOr %v3uint %76 %55
+ %78 = OpBitwiseOr %v3uint %77 %65
+ %79 = OpIAdd %v3uint %78 %71
+ %74 = OpBitcast %v3int %79
+ OpReturnValue %74
+ OpFunctionEnd
+%countTrailingZeros_acfacb = OpFunction %void None %80
+ %83 = OpLabel
+ %res = OpVariable %_ptr_Function_v3int Function %85
+ %84 = OpFunctionCall %v3int %tint_count_trailing_zeros %85
+ OpStore %res %84
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %88
+ %90 = OpLabel
+ %91 = OpFunctionCall %void %countTrailingZeros_acfacb
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %80
+ %93 = OpLabel
+ %94 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %94
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %80
+ %97 = OpLabel
+ %98 = OpFunctionCall %void %countTrailingZeros_acfacb
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %80
+ %100 = OpLabel
+ %101 = OpFunctionCall %void %countTrailingZeros_acfacb
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.wgsl b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.wgsl
new file mode 100644
index 0000000..e375186
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/acfacb.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn countTrailingZeros_acfacb() {
+ var res : vec3<i32> = countTrailingZeros(vec3<i32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_acfacb();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_acfacb();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_acfacb();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl
new file mode 100644
index 0000000..7d35d26
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl
@@ -0,0 +1,45 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/builtin-gen
+// using the template:
+// test/tint/builtins/builtins.wgsl.tmpl
+// and the builtin defintion file:
+// src/tint/builtins.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+// fn countTrailingZeros(vec<4, u32>) -> vec<4, u32>
+fn countTrailingZeros_d2b4a0() {
+ var res: vec4<u32> = countTrailingZeros(vec4<u32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_d2b4a0();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_d2b4a0();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_d2b4a0();
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.glsl b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.glsl
new file mode 100644
index 0000000..b7a6cc7
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+#version 310 es
+
+uvec4 tint_count_trailing_zeros(uvec4 v) {
+ uvec4 x = uvec4(v);
+ uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
+ x = (x >> b16);
+ uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
+ x = (x >> b8);
+ uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
+ x = (x >> b4);
+ uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
+ x = (x >> b2);
+ uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
+ uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
+ return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_d2b4a0() {
+ uvec4 res = tint_count_trailing_zeros(uvec4(0u, 0u, 0u, 0u));
+}
+
+vec4 vertex_main() {
+ countTrailingZeros_d2b4a0();
+ return vec4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+void main() {
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+#version 310 es
+precision mediump float;
+
+uvec4 tint_count_trailing_zeros(uvec4 v) {
+ uvec4 x = uvec4(v);
+ uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
+ x = (x >> b16);
+ uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
+ x = (x >> b8);
+ uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
+ x = (x >> b4);
+ uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
+ x = (x >> b2);
+ uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
+ uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
+ return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_d2b4a0() {
+ uvec4 res = tint_count_trailing_zeros(uvec4(0u, 0u, 0u, 0u));
+}
+
+void fragment_main() {
+ countTrailingZeros_d2b4a0();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+uvec4 tint_count_trailing_zeros(uvec4 v) {
+ uvec4 x = uvec4(v);
+ uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
+ x = (x >> b16);
+ uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
+ x = (x >> b8);
+ uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
+ x = (x >> b4);
+ uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
+ x = (x >> b2);
+ uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
+ uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
+ return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_d2b4a0() {
+ uvec4 res = tint_count_trailing_zeros(uvec4(0u, 0u, 0u, 0u));
+}
+
+void compute_main() {
+ countTrailingZeros_d2b4a0();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.hlsl b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.hlsl
new file mode 100644
index 0000000..5a2d9a9
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.hlsl
@@ -0,0 +1,45 @@
+uint4 tint_count_trailing_zeros(uint4 v) {
+ uint4 x = uint4(v);
+ const uint4 b16 = (bool4((x & uint4((65535u).xxxx))) ? uint4((0u).xxxx) : uint4((16u).xxxx));
+ x = (x >> b16);
+ const uint4 b8 = (bool4((x & uint4((255u).xxxx))) ? uint4((0u).xxxx) : uint4((8u).xxxx));
+ x = (x >> b8);
+ const uint4 b4 = (bool4((x & uint4((15u).xxxx))) ? uint4((0u).xxxx) : uint4((4u).xxxx));
+ x = (x >> b4);
+ const uint4 b2 = (bool4((x & uint4((3u).xxxx))) ? uint4((0u).xxxx) : uint4((2u).xxxx));
+ x = (x >> b2);
+ const uint4 b1 = (bool4((x & uint4((1u).xxxx))) ? uint4((0u).xxxx) : uint4((1u).xxxx));
+ const uint4 is_zero = ((x == uint4((0u).xxxx)) ? uint4((1u).xxxx) : uint4((0u).xxxx));
+ return uint4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
+}
+
+void countTrailingZeros_d2b4a0() {
+ uint4 res = tint_count_trailing_zeros(uint4(0u, 0u, 0u, 0u));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_d2b4a0();
+ return float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+tint_symbol vertex_main() {
+ const float4 inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = (tint_symbol)0;
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+void fragment_main() {
+ countTrailingZeros_d2b4a0();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ countTrailingZeros_d2b4a0();
+ return;
+}
diff --git a/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.msl b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.msl
new file mode 100644
index 0000000..7954b94
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+void countTrailingZeros_d2b4a0() {
+ uint4 res = ctz(uint4());
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ countTrailingZeros_d2b4a0();
+ return float4();
+}
+
+vertex tint_symbol vertex_main() {
+ float4 const inner_result = vertex_main_inner();
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main() {
+ countTrailingZeros_d2b4a0();
+ return;
+}
+
+kernel void compute_main() {
+ countTrailingZeros_d2b4a0();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.spvasm b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.spvasm
new file mode 100644
index 0000000..356c416
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.spvasm
@@ -0,0 +1,140 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 98
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %tint_count_trailing_zeros "tint_count_trailing_zeros"
+ OpName %v "v"
+ OpName %x "x"
+ OpName %countTrailingZeros_d2b4a0 "countTrailingZeros_d2b4a0"
+ OpName %res "res"
+ OpName %vertex_main_inner "vertex_main_inner"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %value BuiltIn Position
+ OpDecorate %vertex_point_size BuiltIn PointSize
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %5 = OpConstantNull %v4float
+ %value = OpVariable %_ptr_Output_v4float Output %5
+%_ptr_Output_float = OpTypePointer Output %float
+ %8 = OpConstantNull %float
+%vertex_point_size = OpVariable %_ptr_Output_float Output %8
+ %uint = OpTypeInt 32 0
+ %v4uint = OpTypeVector %uint 4
+ %9 = OpTypeFunction %v4uint %v4uint
+%_ptr_Function_v4uint = OpTypePointer Function %v4uint
+ %18 = OpConstantNull %v4uint
+ %bool = OpTypeBool
+ %v4bool = OpTypeVector %bool 4
+ %uint_65535 = OpConstant %uint 65535
+ %25 = OpConstantComposite %v4uint %uint_65535 %uint_65535 %uint_65535 %uint_65535
+ %uint_0 = OpConstant %uint 0
+ %28 = OpConstantComposite %v4uint %uint_0 %uint_0 %uint_0 %uint_0
+ %uint_16 = OpConstant %uint 16
+ %30 = OpConstantComposite %v4uint %uint_16 %uint_16 %uint_16 %uint_16
+ %uint_255 = OpConstant %uint 255
+ %37 = OpConstantComposite %v4uint %uint_255 %uint_255 %uint_255 %uint_255
+ %uint_8 = OpConstant %uint 8
+ %40 = OpConstantComposite %v4uint %uint_8 %uint_8 %uint_8 %uint_8
+ %uint_15 = OpConstant %uint 15
+ %47 = OpConstantComposite %v4uint %uint_15 %uint_15 %uint_15 %uint_15
+ %uint_4 = OpConstant %uint 4
+ %50 = OpConstantComposite %v4uint %uint_4 %uint_4 %uint_4 %uint_4
+ %uint_3 = OpConstant %uint 3
+ %57 = OpConstantComposite %v4uint %uint_3 %uint_3 %uint_3 %uint_3
+ %uint_2 = OpConstant %uint 2
+ %60 = OpConstantComposite %v4uint %uint_2 %uint_2 %uint_2 %uint_2
+ %uint_1 = OpConstant %uint 1
+ %67 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
+ %void = OpTypeVoid
+ %78 = OpTypeFunction %void
+ %84 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_count_trailing_zeros = OpFunction %v4uint None %9
+ %v = OpFunctionParameter %v4uint
+ %14 = OpLabel
+ %x = OpVariable %_ptr_Function_v4uint Function %18
+ OpStore %x %v
+ %23 = OpLoad %v4uint %x
+ %26 = OpBitwiseAnd %v4uint %23 %25
+ %20 = OpINotEqual %v4bool %26 %18
+ %19 = OpSelect %v4uint %20 %28 %30
+ %31 = OpLoad %v4uint %x
+ %32 = OpShiftRightLogical %v4uint %31 %19
+ OpStore %x %32
+ %35 = OpLoad %v4uint %x
+ %38 = OpBitwiseAnd %v4uint %35 %37
+ %34 = OpINotEqual %v4bool %38 %18
+ %33 = OpSelect %v4uint %34 %28 %40
+ %41 = OpLoad %v4uint %x
+ %42 = OpShiftRightLogical %v4uint %41 %33
+ OpStore %x %42
+ %45 = OpLoad %v4uint %x
+ %48 = OpBitwiseAnd %v4uint %45 %47
+ %44 = OpINotEqual %v4bool %48 %18
+ %43 = OpSelect %v4uint %44 %28 %50
+ %51 = OpLoad %v4uint %x
+ %52 = OpShiftRightLogical %v4uint %51 %43
+ OpStore %x %52
+ %55 = OpLoad %v4uint %x
+ %58 = OpBitwiseAnd %v4uint %55 %57
+ %54 = OpINotEqual %v4bool %58 %18
+ %53 = OpSelect %v4uint %54 %28 %60
+ %61 = OpLoad %v4uint %x
+ %62 = OpShiftRightLogical %v4uint %61 %53
+ OpStore %x %62
+ %65 = OpLoad %v4uint %x
+ %68 = OpBitwiseAnd %v4uint %65 %67
+ %64 = OpINotEqual %v4bool %68 %18
+ %63 = OpSelect %v4uint %64 %28 %67
+ %70 = OpLoad %v4uint %x
+ %71 = OpIEqual %v4bool %70 %28
+ %69 = OpSelect %v4uint %71 %67 %28
+ %73 = OpBitwiseOr %v4uint %19 %33
+ %74 = OpBitwiseOr %v4uint %73 %43
+ %75 = OpBitwiseOr %v4uint %74 %53
+ %76 = OpBitwiseOr %v4uint %75 %63
+ %77 = OpIAdd %v4uint %76 %69
+ OpReturnValue %77
+ OpFunctionEnd
+%countTrailingZeros_d2b4a0 = OpFunction %void None %78
+ %81 = OpLabel
+ %res = OpVariable %_ptr_Function_v4uint Function %18
+ %82 = OpFunctionCall %v4uint %tint_count_trailing_zeros %18
+ OpStore %res %82
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %84
+ %86 = OpLabel
+ %87 = OpFunctionCall %void %countTrailingZeros_d2b4a0
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %78
+ %89 = OpLabel
+ %90 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %90
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %78
+ %93 = OpLabel
+ %94 = OpFunctionCall %void %countTrailingZeros_d2b4a0
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %78
+ %96 = OpLabel
+ %97 = OpFunctionCall %void %countTrailingZeros_d2b4a0
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.wgsl b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.wgsl
new file mode 100644
index 0000000..d37e2a1
--- /dev/null
+++ b/test/tint/builtins/gen/countTrailingZeros/d2b4a0.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn countTrailingZeros_d2b4a0() {
+ var res : vec4<u32> = countTrailingZeros(vec4<u32>());
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ countTrailingZeros_d2b4a0();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ countTrailingZeros_d2b4a0();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ countTrailingZeros_d2b4a0();
+}