builtins: Add insertBits
CTS tests: https://github.com/gpuweb/cts/pull/1012
Bug: tint:1371
Change-Id: Idd55c0bc9dad1dffb558d0bc57d744f65e9041b5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81701
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/tint/builtin_table.inl b/src/tint/builtin_table.inl
index e4756c1..72d8c34 100644
--- a/src/tint/builtin_table.inl
+++ b/src/tint/builtin_table.inl
@@ -1662,10 +1662,10 @@
/* [20] */ 2,
/* [21] */ 8,
/* [22] */ 0,
- /* [23] */ 2,
+ /* [23] */ 1,
/* [24] */ 8,
/* [25] */ 0,
- /* [26] */ 1,
+ /* [26] */ 2,
/* [27] */ 29,
/* [28] */ 0,
/* [29] */ 1,
@@ -1722,56 +1722,56 @@
/* [80] */ 3,
/* [81] */ 5,
/* [82] */ 2,
- /* [83] */ 7,
+ /* [83] */ 16,
/* [84] */ 2,
/* [85] */ 5,
/* [86] */ 3,
- /* [87] */ 17,
+ /* [87] */ 7,
/* [88] */ 2,
- /* [89] */ 16,
+ /* [89] */ 17,
/* [90] */ 2,
- /* [91] */ 18,
+ /* [91] */ 6,
/* [92] */ 2,
- /* [93] */ 6,
+ /* [93] */ 20,
/* [94] */ 2,
- /* [95] */ 20,
+ /* [95] */ 18,
/* [96] */ 2,
- /* [97] */ 6,
- /* [98] */ 3,
- /* [99] */ 19,
- /* [100] */ 2,
+ /* [97] */ 19,
+ /* [98] */ 2,
+ /* [99] */ 6,
+ /* [100] */ 3,
/* [101] */ 35,
/* [102] */ 0,
/* [103] */ 33,
/* [104] */ 0,
- /* [105] */ 7,
- /* [106] */ 3,
+ /* [105] */ 5,
+ /* [106] */ 0,
/* [107] */ 7,
- /* [108] */ 4,
- /* [109] */ 15,
- /* [110] */ 0,
- /* [111] */ 7,
+ /* [108] */ 3,
+ /* [109] */ 7,
+ /* [110] */ 4,
+ /* [111] */ 15,
/* [112] */ 0,
- /* [113] */ 16,
+ /* [113] */ 7,
/* [114] */ 0,
- /* [115] */ 17,
+ /* [115] */ 16,
/* [116] */ 0,
- /* [117] */ 18,
+ /* [117] */ 17,
/* [118] */ 0,
- /* [119] */ 21,
+ /* [119] */ 18,
/* [120] */ 0,
- /* [121] */ 19,
+ /* [121] */ 21,
/* [122] */ 0,
- /* [123] */ 20,
+ /* [123] */ 19,
/* [124] */ 0,
- /* [125] */ 15,
- /* [126] */ 2,
- /* [127] */ 5,
- /* [128] */ 0,
- /* [129] */ 14,
+ /* [125] */ 20,
+ /* [126] */ 0,
+ /* [127] */ 15,
+ /* [128] */ 2,
+ /* [129] */ 24,
/* [130] */ 25,
- /* [131] */ 23,
- /* [132] */ 24,
+ /* [131] */ 14,
+ /* [132] */ 23,
/* [133] */ 22,
/* [134] */ 26,
/* [135] */ 13,
@@ -1790,7 +1790,7 @@
{
/* [0] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [1] */
@@ -1825,47 +1825,47 @@
{
/* [7] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [8] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [9] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [10] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [11] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [12] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [13] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [14] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [15] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [16] */
@@ -1874,18 +1874,18 @@
},
{
/* [17] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [18] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [19] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [20] */
@@ -1904,8 +1904,8 @@
},
{
/* [23] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [24] */
@@ -1915,37 +1915,37 @@
{
/* [25] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [26] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [27] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [28] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [29] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [30] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [31] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [32] */
@@ -1964,7 +1964,7 @@
},
{
/* [35] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kBias,
/* matcher indices */ &kMatcherIndices[12],
},
{
@@ -1975,7 +1975,7 @@
{
/* [37] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [38] */
@@ -2004,30 +2004,30 @@
},
{
/* [43] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [44] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
- },
- {
- /* [45] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [46] */
+ /* [45] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[81],
},
{
- /* [47] */
+ /* [46] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
+ /* [47] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
/* [48] */
/* usage */ ParameterUsage::kOffset,
/* matcher indices */ &kMatcherIndices[85],
@@ -2035,7 +2035,7 @@
{
/* [49] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [50] */
@@ -2065,12 +2065,12 @@
{
/* [55] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [56] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [57] */
@@ -2084,8 +2084,8 @@
},
{
/* [59] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [60] */
@@ -2094,30 +2094,30 @@
},
{
/* [61] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [62] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [63] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [64] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[81],
},
{
- /* [64] */
+ /* [65] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [65] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
/* [66] */
/* usage */ ParameterUsage::kOffset,
/* matcher indices */ &kMatcherIndices[85],
@@ -2125,17 +2125,17 @@
{
/* [67] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [68] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [69] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [70] */
@@ -2144,18 +2144,18 @@
},
{
/* [71] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [72] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [73] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [74] */
@@ -2165,27 +2165,27 @@
{
/* [75] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [76] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [77] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [78] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [79] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [80] */
@@ -2205,7 +2205,7 @@
{
/* [83] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [84] */
@@ -2219,7 +2219,7 @@
},
{
/* [86] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
@@ -2230,17 +2230,17 @@
{
/* [88] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [89] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [90] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [91] */
@@ -2249,68 +2249,68 @@
},
{
/* [92] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [93] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [94] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [95] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [96] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [97] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [98] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [99] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [100] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [101] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [102] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [103] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [104] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [105] */
@@ -2324,68 +2324,68 @@
},
{
/* [107] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [108] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [109] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [110] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [111] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [112] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [113] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [114] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [115] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [116] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [117] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [118] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [119] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [120] */
@@ -2399,23 +2399,23 @@
},
{
/* [122] */
- /* usage */ ParameterUsage::kDepthRef,
+ /* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [123] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [124] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [125] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [126] */
@@ -2424,18 +2424,18 @@
},
{
/* [127] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [128] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [129] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [130] */
@@ -2444,7 +2444,7 @@
},
{
/* [131] */
- /* usage */ ParameterUsage::kBias,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
@@ -2454,83 +2454,83 @@
},
{
/* [133] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [134] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
+ },
+ {
+ /* [135] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [135] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
/* [136] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [137] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
/* [138] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [139] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [140] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [141] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [142] */
- /* usage */ ParameterUsage::kDepthRef,
+ /* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[12],
},
{
+ /* [142] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
/* [143] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [144] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
- },
- {
- /* [145] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [146] */
+ /* [145] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
- /* [147] */
+ /* [146] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
+ /* [147] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
/* [148] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [149] */
@@ -2544,8 +2544,8 @@
},
{
/* [151] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [152] */
@@ -2555,7 +2555,7 @@
{
/* [153] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [154] */
@@ -2574,48 +2574,48 @@
},
{
/* [157] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [158] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [159] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
+ },
+ {
+ /* [160] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [160] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
- },
- {
/* [161] */
- /* usage */ ParameterUsage::kDdx,
+ /* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[81],
},
{
/* [162] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [163] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [164] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [165] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [166] */
@@ -2624,23 +2624,23 @@
},
{
/* [167] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [168] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[95],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [169] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [170] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [171] */
@@ -2649,13 +2649,13 @@
},
{
/* [172] */
- /* usage */ ParameterUsage::kBias,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [173] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [174] */
@@ -2665,22 +2665,22 @@
{
/* [175] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [176] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kBias,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [177] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [178] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [179] */
@@ -2694,38 +2694,38 @@
},
{
/* [181] */
- /* usage */ ParameterUsage::kArrayIndex,
+ /* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[55],
},
{
/* [182] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [183] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [184] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
- },
- {
- /* [185] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [186] */
+ /* [185] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [186] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [187] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [188] */
@@ -2735,7 +2735,7 @@
{
/* [189] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [190] */
@@ -2755,12 +2755,12 @@
{
/* [193] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [194] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [195] */
@@ -2769,7 +2769,7 @@
},
{
/* [196] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
@@ -2780,7 +2780,7 @@
{
/* [198] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [199] */
@@ -2790,32 +2790,32 @@
{
/* [200] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [201] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [202] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[97],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [203] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [204] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [205] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [206] */
@@ -2824,38 +2824,38 @@
},
{
/* [207] */
- /* usage */ ParameterUsage::kBias,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [208] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [209] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [210] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [211] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [212] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [213] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [214] */
@@ -2880,7 +2880,7 @@
{
/* [218] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [219] */
@@ -2890,22 +2890,22 @@
{
/* [220] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [221] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [222] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [223] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [224] */
@@ -2914,33 +2914,33 @@
},
{
/* [225] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [226] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [227] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [228] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [229] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [230] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [231] */
@@ -2950,17 +2950,17 @@
{
/* [232] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [233] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [234] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [235] */
@@ -2970,17 +2970,17 @@
{
/* [236] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [237] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [238] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [239] */
@@ -2990,7 +2990,7 @@
{
/* [240] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [241] */
@@ -3000,27 +3000,27 @@
{
/* [242] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [243] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [244] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [245] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [246] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [247] */
@@ -3030,27 +3030,27 @@
{
/* [248] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [249] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [250] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [251] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [252] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [253] */
@@ -3060,89 +3060,89 @@
{
/* [254] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[69],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [255] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [256] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [257] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[83],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [258] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[45],
},
{
/* [259] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [260] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
- },
- {
- /* [261] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [262] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
- },
- {
- /* [263] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [264] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [265] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[97],
- },
- {
- /* [266] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[95],
- },
- {
- /* [267] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [268] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [269] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [270] */
+ /* [261] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[109],
+ },
+ {
+ /* [262] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[133],
},
{
+ /* [263] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [264] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[81],
+ },
+ {
+ /* [265] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [266] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
+ },
+ {
+ /* [267] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [268] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [269] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [270] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
/* [271] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
@@ -3154,18 +3154,18 @@
},
{
/* [273] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [274] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [275] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [276] */
@@ -3174,33 +3174,33 @@
},
{
/* [277] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [278] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [279] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [280] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [281] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [282] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [283] */
@@ -3210,37 +3210,37 @@
{
/* [284] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [285] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [286] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[69],
},
{
/* [287] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [288] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
- },
- {
- /* [289] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
+ /* [289] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[87],
+ },
+ {
/* [290] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [291] */
@@ -3250,77 +3250,77 @@
{
/* [292] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [293] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [294] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
- },
- {
- /* [295] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [296] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
- },
- {
- /* [297] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [298] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[45],
- },
- {
- /* [299] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [300] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [301] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[107],
- },
- {
- /* [302] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [303] */
+ /* [294] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
- /* [304] */
+ /* [295] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [305] */
+ /* [296] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [297] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
+ /* [298] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [299] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [300] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[81],
+ },
+ {
+ /* [301] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [302] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
+ },
+ {
+ /* [303] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [304] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[81],
+ },
+ {
+ /* [305] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [306] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [307] */
@@ -3340,7 +3340,7 @@
{
/* [310] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [311] */
@@ -3350,77 +3350,77 @@
{
/* [312] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [313] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [314] */
- /* usage */ ParameterUsage::kComponent,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [315] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
- },
- {
- /* [316] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [317] */
+ /* [316] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[81],
},
{
- /* [318] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
- },
- {
- /* [319] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [320] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [321] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [322] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [323] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [324] */
+ /* [317] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [325] */
- /* usage */ ParameterUsage::kLevel,
+ /* [318] */
+ /* usage */ ParameterUsage::kComponent,
/* matcher indices */ &kMatcherIndices[55],
},
{
+ /* [319] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[123],
+ },
+ {
+ /* [320] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [321] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [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[81],
+ },
+ {
/* [326] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [327] */
@@ -3440,142 +3440,142 @@
{
/* [330] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [331] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [332] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [333] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [334] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[57],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [335] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [336] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [337] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [338] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [339] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [340] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
+ },
+ {
+ /* [341] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
+ },
+ {
+ /* [342] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[57],
+ },
+ {
+ /* [343] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[85],
},
{
- /* [336] */
+ /* [344] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [337] */
+ /* [345] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[105],
+ /* matcher indices */ &kMatcherIndices[107],
},
{
- /* [338] */
+ /* [346] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
- /* [339] */
+ /* [347] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [340] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
- },
- {
- /* [341] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [342] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
- },
- {
- /* [343] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [344] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [345] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [346] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [347] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
/* [348] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [349] */
- /* usage */ ParameterUsage::kNone,
+ /* usage */ ParameterUsage::kBias,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [350] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[48],
},
{
/* [351] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [352] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [353] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [354] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [355] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [356] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [357] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [358] */
@@ -3585,617 +3585,617 @@
{
/* [359] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [360] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [361] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [362] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [363] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [364] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
- },
- {
- /* [365] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
- },
- {
- /* [366] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
- },
- {
- /* [367] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [368] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [369] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [370] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [371] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
- },
- {
- /* [372] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[136],
},
{
- /* [373] */
+ /* [363] */
/* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[135],
},
{
- /* [374] */
+ /* [364] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[81],
},
{
- /* [375] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [376] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [377] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [378] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [379] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [380] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
- },
- {
- /* [381] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
- },
- {
- /* [382] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [383] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [384] */
+ /* [365] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[75],
},
{
- /* [385] */
+ /* [366] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [386] */
+ /* [367] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[83],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
- /* [387] */
+ /* [368] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[72],
},
{
- /* [388] */
+ /* [369] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[85],
},
{
- /* [389] */
+ /* [370] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[83],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
- /* [390] */
+ /* [371] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
+ },
+ {
+ /* [372] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [373] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [374] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [375] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [376] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [377] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[66],
},
{
- /* [391] */
+ /* [378] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
- /* [392] */
+ /* [379] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[83],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
- /* [393] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [394] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [395] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [396] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [397] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [398] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [399] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[63],
- },
- {
- /* [400] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [401] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[105],
- },
- {
- /* [402] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
- },
- {
- /* [403] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [404] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [405] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[60],
- },
- {
- /* [406] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [407] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[105],
- },
- {
- /* [408] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[54],
- },
- {
- /* [409] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
- },
- {
- /* [410] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[105],
- },
- {
- /* [411] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [412] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [413] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [414] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [415] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [416] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [417] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[51],
- },
- {
- /* [418] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [419] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[107],
- },
- {
- /* [420] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[48],
- },
- {
- /* [421] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [422] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[107],
- },
- {
- /* [423] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
- },
- {
- /* [424] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [425] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[81],
- },
- {
- /* [426] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[42],
- },
- {
- /* [427] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
- },
- {
- /* [428] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[107],
- },
- {
- /* [429] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[109],
- },
- {
- /* [430] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [431] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [432] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
- },
- {
- /* [433] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [434] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [435] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
- },
- {
- /* [436] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[97],
- },
- {
- /* [437] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [438] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
- },
- {
- /* [439] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [440] */
- /* usage */ ParameterUsage::kSampleIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [441] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
- },
- {
- /* [442] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [443] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [444] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
- },
- {
- /* [445] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [446] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [447] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [448] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [449] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [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::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [454] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [455] */
+ /* [380] */
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[24],
},
{
- /* [456] */
+ /* [381] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
- /* [457] */
+ /* [382] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
- /* [458] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
- },
- {
- /* [459] */
+ /* [383] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[63],
},
{
- /* [460] */
+ /* [384] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [385] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[107],
+ },
+ {
+ /* [386] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[60],
+ },
+ {
+ /* [387] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[85],
},
{
- /* [461] */
- /* usage */ ParameterUsage::kSampleIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* [388] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[107],
},
{
- /* [462] */
+ /* [389] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
- /* [463] */
+ /* [390] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
- /* [464] */
+ /* [391] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
+ /* [392] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
+ /* [393] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
+ /* [394] */
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[12],
},
{
- /* [465] */
+ /* [395] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[54],
},
{
- /* [466] */
+ /* [396] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
+ /* [397] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[107],
+ },
+ {
+ /* [398] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
+ },
+ {
+ /* [399] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [400] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [401] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[51],
+ },
+ {
+ /* [402] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [403] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[109],
+ },
+ {
+ /* [404] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
+ },
+ {
+ /* [405] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [406] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [407] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [408] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [409] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [410] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
+ },
+ {
+ /* [411] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
+ },
+ {
+ /* [412] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [413] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
+ },
+ {
+ /* [414] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
+ },
+ {
+ /* [415] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [416] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [417] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [418] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [419] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [420] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [421] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [422] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[42],
+ },
+ {
+ /* [423] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
+ /* [424] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[109],
+ },
+ {
+ /* [425] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
+ /* [426] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
+ /* [427] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [428] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[111],
+ },
+ {
+ /* [429] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [430] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[55],
},
{
+ /* [431] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[115],
+ },
+ {
+ /* [432] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [433] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [434] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[119],
+ },
+ {
+ /* [435] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
+ /* [436] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [437] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [438] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [439] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[81],
+ },
+ {
+ /* [440] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [441] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [442] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [443] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[97],
+ },
+ {
+ /* [444] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [445] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [446] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[121],
+ },
+ {
+ /* [447] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [448] */
+ /* usage */ ParameterUsage::kSampleIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [449] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[95],
+ },
+ {
+ /* [450] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [451] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [452] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [453] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [454] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [455] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[127],
+ },
+ {
+ /* [456] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [457] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [458] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [459] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [460] */
+ /* usage */ ParameterUsage::kSampleIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [461] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [462] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [463] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[81],
+ },
+ {
+ /* [464] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
+ /* [465] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
+ /* [466] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
/* [467] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [468] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [469] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [470] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [471] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [472] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [473] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [474] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [475] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [476] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [477] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [478] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [479] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [480] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [481] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [482] */
@@ -4204,73 +4204,73 @@
},
{
/* [483] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[136],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [484] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [485] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [486] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [487] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [488] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[78],
},
{
/* [489] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [490] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [491] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [492] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [493] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [494] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [495] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [496] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [497] */
@@ -4285,32 +4285,32 @@
{
/* [499] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [500] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [501] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [502] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [503] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [504] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [505] */
@@ -4320,42 +4320,42 @@
{
/* [506] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[55],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [507] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [508] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[78],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [509] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [510] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [511] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [512] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [513] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [514] */
@@ -4365,17 +4365,17 @@
{
/* [515] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [516] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [517] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [518] */
@@ -4385,37 +4385,37 @@
{
/* [519] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [520] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [521] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [522] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [523] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [524] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [525] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [526] */
@@ -4424,18 +4424,18 @@
},
{
/* [527] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [528] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [529] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [530] */
@@ -4445,7 +4445,7 @@
{
/* [531] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[109],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [532] */
@@ -4455,7 +4455,7 @@
{
/* [533] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [534] */
@@ -4464,18 +4464,18 @@
},
{
/* [535] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [536] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [537] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [538] */
@@ -4484,183 +4484,183 @@
},
{
/* [539] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[13],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [540] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [541] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [542] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [543] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [544] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [545] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [546] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [547] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [548] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [549] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [550] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [551] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [552] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [553] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [554] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [555] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [556] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[36],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [557] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[33],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [558] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[27],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [559] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[30],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [560] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[136],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [561] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[83],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [562] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[83],
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [563] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [564] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[36],
},
{
/* [565] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[33],
},
{
/* [566] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[27],
},
{
/* [567] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [568] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [569] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [570] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [571] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[13],
},
{
/* [572] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [573] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [574] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [575] */
@@ -4670,57 +4670,57 @@
{
/* [576] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [577] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [578] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [579] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [580] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [581] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [582] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [583] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[27],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [584] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [585] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [586] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [587] */
@@ -4730,82 +4730,82 @@
{
/* [588] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [589] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [590] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [591] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[27],
},
{
/* [592] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [593] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[115],
},
{
/* [594] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [595] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [596] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [597] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [598] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [599] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [600] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [601] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [602] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [603] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [604] */
@@ -4815,17 +4815,17 @@
{
/* [605] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [606] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [607] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [608] */
@@ -4835,37 +4835,37 @@
{
/* [609] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [610] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [611] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [612] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [613] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [614] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [615] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [616] */
@@ -4875,7 +4875,7 @@
{
/* [617] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [618] */
@@ -4885,7 +4885,7 @@
{
/* [619] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [620] */
@@ -4895,27 +4895,27 @@
{
/* [621] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [622] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [623] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [624] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [625] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [626] */
@@ -4925,7 +4925,7 @@
{
/* [627] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [628] */
@@ -4935,7 +4935,7 @@
{
/* [629] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [630] */
@@ -4945,7 +4945,7 @@
{
/* [631] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [632] */
@@ -4955,42 +4955,42 @@
{
/* [633] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [634] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [635] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [636] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [637] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [638] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [639] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [640] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [641] */
@@ -5000,7 +5000,7 @@
{
/* [642] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [643] */
@@ -5010,22 +5010,22 @@
{
/* [644] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [645] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [646] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [647] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [648] */
@@ -5040,27 +5040,27 @@
{
/* [650] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [651] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [652] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [653] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [654] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [655] */
@@ -5070,7 +5070,7 @@
{
/* [656] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [657] */
@@ -5080,7 +5080,7 @@
{
/* [658] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [659] */
@@ -5090,7 +5090,7 @@
{
/* [660] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [661] */
@@ -5100,7 +5100,7 @@
{
/* [662] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [663] */
@@ -5110,102 +5110,142 @@
{
/* [664] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [665] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[17],
},
{
/* [666] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[4],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [667] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [668] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [669] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [670] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [671] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [672] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [673] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [674] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [675] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [676] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [677] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [678] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [679] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [680] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [681] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [682] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [683] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[0],
+ },
+ {
+ /* [684] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [685] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[4],
+ },
+ {
+ /* [686] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [687] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [688] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [689] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [690] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
+ /* [691] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
};
@@ -5213,12 +5253,12 @@
{
/* [0] */
/* name */ "T",
- /* matcher index */ 36,
+ /* matcher index */ 37,
},
{
/* [1] */
/* name */ "T",
- /* matcher index */ 37,
+ /* matcher index */ 36,
},
{
/* [2] */
@@ -5271,9 +5311,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[545],
+ /* parameters */ &kParameters[549],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5283,9 +5323,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[531],
+ /* parameters */ &kParameters[539],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5295,9 +5335,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[543],
+ /* parameters */ &kParameters[581],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5307,9 +5347,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[509],
+ /* parameters */ &kParameters[473],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5319,9 +5359,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[541],
+ /* parameters */ &kParameters[547],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5331,9 +5371,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[465],
+ /* parameters */ &kParameters[491],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5343,10 +5383,10 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[540],
- /* return matcher indices */ &kMatcherIndices[97],
+ /* parameters */ &kParameters[548],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5355,10 +5395,10 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[537],
- /* return matcher indices */ &kMatcherIndices[97],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5367,9 +5407,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[542],
+ /* parameters */ &kParameters[550],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5379,9 +5419,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[533],
+ /* parameters */ &kParameters[535],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5391,9 +5431,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[544],
+ /* parameters */ &kParameters[552],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5403,9 +5443,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[529],
+ /* parameters */ &kParameters[533],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5415,9 +5455,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[546],
+ /* parameters */ &kParameters[554],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5429,7 +5469,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[547],
+ /* parameters */ &kParameters[555],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5441,7 +5481,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[511],
+ /* parameters */ &kParameters[531],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5453,7 +5493,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[549],
+ /* parameters */ &kParameters[557],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5465,7 +5505,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[525],
+ /* parameters */ &kParameters[529],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5477,7 +5517,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[551],
+ /* parameters */ &kParameters[559],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5489,7 +5529,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[523],
+ /* parameters */ &kParameters[527],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5501,7 +5541,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[553],
+ /* parameters */ &kParameters[561],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5513,7 +5553,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[521],
+ /* parameters */ &kParameters[525],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5525,7 +5565,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[555],
+ /* parameters */ &kParameters[563],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5537,7 +5577,7 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[556],
+ /* parameters */ &kParameters[564],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5549,7 +5589,7 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[557],
+ /* parameters */ &kParameters[565],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5561,7 +5601,7 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[558],
+ /* parameters */ &kParameters[566],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5573,8 +5613,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[559],
- /* return matcher indices */ &kMatcherIndices[97],
+ /* parameters */ &kParameters[567],
+ /* return matcher indices */ &kMatcherIndices[99],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5585,7 +5625,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[560],
+ /* parameters */ &kParameters[568],
/* return matcher indices */ &kMatcherIndices[85],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5597,8 +5637,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[222],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[270],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5609,8 +5649,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[193],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[73],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5621,8 +5661,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[178],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[118],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5633,8 +5673,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[31],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[43],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5645,8 +5685,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[226],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[254],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5657,8 +5697,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[173],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[138],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5669,8 +5709,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[230],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[246],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5681,8 +5721,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[163],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[143],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5693,7 +5733,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[234],
+ /* parameters */ &kParameters[238],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5705,7 +5745,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[83],
+ /* parameters */ &kParameters[178],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5729,7 +5769,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[55],
+ /* parameters */ &kParameters[19],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5741,7 +5781,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[238],
+ /* parameters */ &kParameters[334],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5753,7 +5793,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[133],
+ /* parameters */ &kParameters[113],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5765,8 +5805,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[372],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[362],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5777,8 +5817,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[381],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[455],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5789,8 +5829,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[378],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[470],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5801,8 +5841,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[338],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[310],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5813,8 +5853,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[246],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[314],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5825,8 +5865,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[153],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[103],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5837,8 +5877,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[366],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[449],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5849,8 +5889,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[262],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[294],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5861,8 +5901,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[360],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[443],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5873,8 +5913,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[266],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[290],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5885,7 +5925,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[354],
+ /* parameters */ &kParameters[437],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -5897,7 +5937,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[270],
+ /* parameters */ &kParameters[282],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -5909,7 +5949,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[330],
+ /* parameters */ &kParameters[274],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -5921,7 +5961,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[148],
+ /* parameters */ &kParameters[123],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -5933,7 +5973,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[444],
+ /* parameters */ &kParameters[404],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -5945,7 +5985,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[218],
+ /* parameters */ &kParameters[242],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -5955,10 +5995,10 @@
/* num parameters */ 4,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[314],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* parameters */ &kParameters[322],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5967,10 +6007,10 @@
/* num parameters */ 5,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[188],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5979,10 +6019,10 @@
/* num parameters */ 5,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[183],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* parameters */ &kParameters[158],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5991,10 +6031,10 @@
/* num parameters */ 6,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[43],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* parameters */ &kParameters[61],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6003,10 +6043,10 @@
/* num parameters */ 4,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[302],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* parameters */ &kParameters[318],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6015,10 +6055,10 @@
/* num parameters */ 5,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[143],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* parameters */ &kParameters[133],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6029,8 +6069,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[423],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[461],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6041,8 +6081,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[290],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[218],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6053,8 +6093,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[286],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[302],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6065,8 +6105,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[88],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[83],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6077,8 +6117,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[402],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[371],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6089,8 +6129,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[282],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[230],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6101,7 +6141,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[384],
+ /* parameters */ &kParameters[365],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6113,7 +6153,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[387],
+ /* parameters */ &kParameters[368],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6125,7 +6165,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[254],
+ /* parameters */ &kParameters[286],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6137,7 +6177,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[390],
+ /* parameters */ &kParameters[377],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6149,7 +6189,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[399],
+ /* parameters */ &kParameters[383],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6161,7 +6201,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[405],
+ /* parameters */ &kParameters[386],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6173,7 +6213,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[334],
+ /* parameters */ &kParameters[342],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6185,7 +6225,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[408],
+ /* parameters */ &kParameters[395],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6197,7 +6237,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[417],
+ /* parameters */ &kParameters[401],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6209,7 +6249,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[420],
+ /* parameters */ &kParameters[350],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6221,7 +6261,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[298],
+ /* parameters */ &kParameters[258],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6233,7 +6273,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[426],
+ /* parameters */ &kParameters[422],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6243,9 +6283,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[584],
+ /* parameters */ &kParameters[592],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6255,9 +6295,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[585],
+ /* parameters */ &kParameters[593],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6267,9 +6307,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[586],
+ /* parameters */ &kParameters[594],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6279,9 +6319,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[587],
+ /* parameters */ &kParameters[595],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6291,9 +6331,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[588],
+ /* parameters */ &kParameters[596],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6303,9 +6343,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[589],
+ /* parameters */ &kParameters[597],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6317,7 +6357,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[590],
+ /* parameters */ &kParameters[598],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6329,7 +6369,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[591],
+ /* parameters */ &kParameters[599],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6341,7 +6381,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[592],
+ /* parameters */ &kParameters[600],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6353,7 +6393,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[593],
+ /* parameters */ &kParameters[601],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6363,10 +6403,10 @@
/* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[429],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* parameters */ &kParameters[428],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6375,10 +6415,10 @@
/* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[432],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* parameters */ &kParameters[431],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6387,10 +6427,10 @@
/* num parameters */ 4,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[306],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* parameters */ &kParameters[278],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6399,10 +6439,10 @@
/* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[435],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* parameters */ &kParameters[434],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6411,10 +6451,10 @@
/* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[438],
- /* return matcher indices */ &kMatcherIndices[111],
+ /* parameters */ &kParameters[446],
+ /* return matcher indices */ &kMatcherIndices[113],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6425,7 +6465,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[441],
+ /* parameters */ &kParameters[452],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6437,7 +6477,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[322],
+ /* parameters */ &kParameters[306],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6449,7 +6489,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[459],
+ /* parameters */ &kParameters[458],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6461,8 +6501,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[483],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[507],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6473,8 +6513,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[158],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[198],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6486,7 +6526,7 @@
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[37],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6498,7 +6538,7 @@
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[49],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6510,7 +6550,7 @@
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[0],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6521,8 +6561,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[73],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[93],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6533,8 +6573,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[25],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[7],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6545,8 +6585,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[208],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[98],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6557,8 +6597,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[13],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[67],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6570,7 +6610,7 @@
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[326],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6581,8 +6621,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[128],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[148],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6593,8 +6633,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[203],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[153],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6605,8 +6645,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[19],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[31],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6617,8 +6657,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[318],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[346],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6629,8 +6669,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[198],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[173],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6641,8 +6681,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[310],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[234],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6653,8 +6693,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[168],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[183],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6665,8 +6705,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[274],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[262],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6677,8 +6717,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[93],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[193],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6689,8 +6729,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[103],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[168],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6701,8 +6741,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[67],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[25],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6714,7 +6754,7 @@
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[250],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6725,8 +6765,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[123],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[88],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6737,7 +6777,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[258],
+ /* parameters */ &kParameters[298],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6749,7 +6789,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[113],
+ /* parameters */ &kParameters[128],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6761,7 +6801,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[118],
+ /* parameters */ &kParameters[78],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6773,7 +6813,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[61],
+ /* parameters */ &kParameters[13],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6785,7 +6825,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[242],
+ /* parameters */ &kParameters[330],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6797,7 +6837,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[138],
+ /* parameters */ &kParameters[203],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6809,7 +6849,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[294],
+ /* parameters */ &kParameters[222],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6821,7 +6861,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[108],
+ /* parameters */ &kParameters[208],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6833,7 +6873,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[78],
+ /* parameters */ &kParameters[163],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6845,7 +6885,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[7],
+ /* parameters */ &kParameters[55],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6857,7 +6897,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[278],
+ /* parameters */ &kParameters[266],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6869,7 +6909,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[98],
+ /* parameters */ &kParameters[108],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6879,9 +6919,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[579],
+ /* parameters */ &kParameters[587],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6891,9 +6931,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[580],
+ /* parameters */ &kParameters[588],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6905,7 +6945,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[581],
+ /* parameters */ &kParameters[589],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6917,7 +6957,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[582],
+ /* parameters */ &kParameters[590],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6929,7 +6969,7 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[583],
+ /* parameters */ &kParameters[591],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6941,7 +6981,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[411],
+ /* parameters */ &kParameters[419],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6953,8 +6993,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[414],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[380],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6965,8 +7005,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[375],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[425],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6977,7 +7017,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[369],
+ /* parameters */ &kParameters[416],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6989,7 +7029,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[456],
+ /* parameters */ &kParameters[413],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7001,7 +7041,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[453],
+ /* parameters */ &kParameters[410],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7013,7 +7053,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[612],
+ /* parameters */ &kParameters[637],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7025,8 +7065,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[611],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[636],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7037,7 +7077,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[646],
+ /* parameters */ &kParameters[667],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7049,8 +7089,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[645],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[666],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7059,9 +7099,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[649],
+ /* parameters */ &kParameters[669],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7071,9 +7111,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[648],
+ /* parameters */ &kParameters[668],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7085,7 +7125,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[493],
+ /* parameters */ &kParameters[497],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7107,9 +7147,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[651],
+ /* parameters */ &kParameters[671],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7119,9 +7159,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[650],
+ /* parameters */ &kParameters[670],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7133,7 +7173,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[640],
+ /* parameters */ &kParameters[664],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7145,8 +7185,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[639],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[691],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7157,7 +7197,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[638],
+ /* parameters */ &kParameters[663],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7169,8 +7209,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[637],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[662],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7181,7 +7221,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[636],
+ /* parameters */ &kParameters[661],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7193,8 +7233,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[635],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[660],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7205,7 +7245,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[634],
+ /* parameters */ &kParameters[659],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7217,8 +7257,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[633],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[658],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7229,7 +7269,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[632],
+ /* parameters */ &kParameters[657],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7241,8 +7281,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[631],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[656],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7253,7 +7293,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[630],
+ /* parameters */ &kParameters[655],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7265,8 +7305,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[629],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[654],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -7277,7 +7317,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[628],
+ /* parameters */ &kParameters[653],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7289,8 +7329,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[627],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[652],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7301,7 +7341,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[626],
+ /* parameters */ &kParameters[651],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7313,8 +7353,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[625],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[650],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7323,9 +7363,9 @@
/* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[363],
+ /* parameters */ &kParameters[359],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7335,9 +7375,9 @@
/* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[357],
+ /* parameters */ &kParameters[356],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7347,9 +7387,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[653],
+ /* parameters */ &kParameters[673],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7359,9 +7399,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[652],
+ /* parameters */ &kParameters[672],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7371,9 +7411,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[624],
+ /* parameters */ &kParameters[649],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7383,9 +7423,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[623],
+ /* parameters */ &kParameters[648],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7395,9 +7435,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[622],
+ /* parameters */ &kParameters[647],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7407,9 +7447,9 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[621],
+ /* parameters */ &kParameters[646],
/* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7421,7 +7461,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[620],
+ /* parameters */ &kParameters[645],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7433,8 +7473,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[619],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[644],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7445,7 +7485,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[348],
+ /* parameters */ &kParameters[407],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7457,8 +7497,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[345],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[464],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7469,908 +7509,908 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[618],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [184] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[617],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [185] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[616],
- /* return matcher indices */ &kMatcherIndices[138],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [186] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[615],
- /* return matcher indices */ &kMatcherIndices[101],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [187] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[614],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [188] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[613],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [189] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[655],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [190] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[654],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [191] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[610],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [192] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[609],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [193] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[608],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [194] */
- /* 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[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [195] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[606],
- /* 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[605],
- /* return matcher indices */ &kMatcherIndices[24],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
- },
- {
- /* [197] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[604],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
- },
- {
- /* [198] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[603],
- /* return matcher indices */ &kMatcherIndices[24],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
- },
- {
- /* [199] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[602],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
- },
- {
- /* [200] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[601],
- /* return matcher indices */ &kMatcherIndices[24],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
- },
- {
- /* [201] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[600],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
- },
- {
- /* [202] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[599],
- /* return matcher indices */ &kMatcherIndices[24],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
- },
- {
- /* [203] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[505],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [204] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[507],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [205] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[596],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [206] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[578],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [207] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[577],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [208] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[576],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [209] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[575],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [210] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[573],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [211] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[513],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [212] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[515],
- /* return matcher indices */ &kMatcherIndices[39],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [213] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[517],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [214] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[519],
- /* return matcher indices */ &kMatcherIndices[39],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [215] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[657],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [216] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[656],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [217] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[568],
- /* return matcher indices */ &kMatcherIndices[137],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [218] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[567],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [219] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[396],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [220] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[393],
- /* return matcher indices */ &kMatcherIndices[39],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [221] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[676],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [222] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[674],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [223] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[659],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [224] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[658],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [225] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[597],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [226] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[574],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [227] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[594],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [228] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[595],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [229] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[485],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [230] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[487],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [231] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[535],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [232] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[491],
- /* 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 numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[647],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [234] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[679],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [235] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[663],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [236] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[662],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [237] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[665],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [238] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[664],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [239] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[680],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [240] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[548],
- /* return matcher indices */ &kMatcherIndices[39],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [241] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[682],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [242] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[681],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [243] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[668],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [244] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[667],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [245] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[678],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [246] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[677],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [247] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[670],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [248] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[669],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [249] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[661],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [250] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[660],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [251] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[450],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [252] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[447],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [253] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[643],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [254] */
+ /* [184] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
/* parameters */ &kParameters[642],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [255] */
+ /* [185] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[641],
+ /* return matcher indices */ &kMatcherIndices[138],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [186] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[640],
+ /* return matcher indices */ &kMatcherIndices[101],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [187] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[639],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [188] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[638],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [189] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[675],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [190] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[674],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [191] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[635],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [192] */
+ /* 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[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [193] */
+ /* num parameters */ 4,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[338],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [194] */
+ /* num parameters */ 4,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[226],
+ /* return matcher indices */ &kMatcherIndices[39],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [195] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[632],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [196] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[631],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* 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[630],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [198] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[629],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [199] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[628],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [200] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[627],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [201] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[626],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [202] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[625],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [203] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[624],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [204] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[623],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [205] */
/* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[497],
+ /* parameters */ &kParameters[489],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [206] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[487],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [207] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[622],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [208] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[621],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [209] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[620],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [210] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[619],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [211] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[618],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [212] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[617],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [213] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[485],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [214] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[483],
+ /* return matcher indices */ &kMatcherIndices[39],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [215] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[481],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [216] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[479],
+ /* return matcher indices */ &kMatcherIndices[39],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [217] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[677],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [218] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[676],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [219] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[616],
+ /* return matcher indices */ &kMatcherIndices[137],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [220] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[615],
+ /* return matcher indices */ &kMatcherIndices[103],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [221] */
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[440],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [222] */
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[467],
+ /* return matcher indices */ &kMatcherIndices[39],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [223] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[583],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [224] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[582],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [225] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[679],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [226] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[678],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [227] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[573],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [228] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[572],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [229] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[602],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [230] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[603],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [231] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[503],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [232] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[501],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [233] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[477],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [234] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[475],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [235] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[608],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [236] */
+ /* 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 */ false,
+ },
+ {
+ /* [237] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[681],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [238] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[680],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [239] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[684],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [240] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[682],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [241] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[606],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [242] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[605],
+ /* return matcher indices */ &kMatcherIndices[39],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [243] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[604],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [244] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[586],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [245] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[687],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [246] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[686],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [247] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[585],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [248] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[584],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [249] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[689],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [250] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[688],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [251] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[580],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [252] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[579],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [253] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[374],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [254] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[389],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [255] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[578],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [256] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[499],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[577],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [257] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[672],
+ /* parameters */ &kParameters[505],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [258] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[671],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[543],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8381,7 +8421,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[641],
+ /* parameters */ &kParameters[576],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8393,8 +8433,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[598],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[690],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8405,7 +8445,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[572],
+ /* parameters */ &kParameters[575],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8417,56 +8457,56 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[571],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[574],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [263] */
/* 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[683],
- /* return matcher indices */ &kMatcherIndices[1],
+ /* parameters */ &kParameters[570],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [264] */
/* 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[673],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* parameters */ &kParameters[569],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [265] */
/* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 2,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
- /* parameters */ &kParameters[539],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[633],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [266] */
/* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[570],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[551],
+ /* return matcher indices */ &kMatcherIndices[39],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8474,11 +8514,11 @@
/* [267] */
/* 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[569],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* open numbers */ &kOpenNumbers[2],
+ /* parameters */ &kParameters[571],
+ /* return matcher indices */ &kMatcherIndices[9],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8489,7 +8529,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[554],
+ /* parameters */ &kParameters[562],
/* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8501,8 +8541,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[552],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[560],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8513,92 +8553,92 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[550],
- /* return matcher indices */ &kMatcherIndices[83],
+ /* parameters */ &kParameters[558],
+ /* return matcher indices */ &kMatcherIndices[81],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [271] */
- /* num parameters */ 0,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[684],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [272] */
- /* num parameters */ 0,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[684],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [273] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[565],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* parameters */ &kParameters[556],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
+ /* [272] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[553],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [273] */
+ /* num parameters */ 0,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[692],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
/* [274] */
- /* num parameters */ 3,
+ /* num parameters */ 0,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[462],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[692],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [275] */
- /* num parameters */ 2,
+ /* 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[473],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[613],
+ /* return matcher indices */ &kMatcherIndices[43],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [276] */
- /* 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[561],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[392],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [277] */
- /* 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[562],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[545],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8609,7 +8649,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[563],
+ /* parameters */ &kParameters[609],
/* return matcher indices */ &kMatcherIndices[43],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8621,7 +8661,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[564],
+ /* parameters */ &kParameters[610],
/* return matcher indices */ &kMatcherIndices[43],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8630,106 +8670,106 @@
/* [280] */
/* 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[566],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[611],
+ /* return matcher indices */ &kMatcherIndices[43],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [281] */
- /* 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[351],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[612],
+ /* return matcher indices */ &kMatcherIndices[43],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [282] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[503],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [283] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[644],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[614],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [283] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[353],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [284] */
/* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[489],
- /* return matcher indices */ &kMatcherIndices[93],
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[493],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [285] */
/* 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[666],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[665],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [286] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[675],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[499],
+ /* return matcher indices */ &kMatcherIndices[91],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [287] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[481],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* open types */ &kOpenTypes[2],
+ /* open numbers */ &kOpenNumbers[4],
+ /* parameters */ &kParameters[685],
+ /* return matcher indices */ &kMatcherIndices[43],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [288] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[479],
+ /* parameters */ &kParameters[683],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8739,10 +8779,10 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[477],
- /* return matcher indices */ &kMatcherIndices[1],
+ /* parameters */ &kParameters[509],
+ /* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8751,9 +8791,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[475],
+ /* parameters */ &kParameters[511],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8763,9 +8803,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[471],
+ /* parameters */ &kParameters[513],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8775,9 +8815,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[469],
+ /* parameters */ &kParameters[515],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8787,9 +8827,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[467],
+ /* parameters */ &kParameters[517],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8799,9 +8839,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[527],
+ /* parameters */ &kParameters[519],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8811,22 +8851,46 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[501],
+ /* parameters */ &kParameters[521],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [296] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[523],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [297] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[541],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [298] */
/* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[342],
- /* return matcher indices */ &kMatcherIndices[127],
+ /* parameters */ &kParameters[398],
+ /* return matcher indices */ &kMatcherIndices[105],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8838,76 +8902,76 @@
/* fn abs<T : fiu32>(T) -> T */
/* fn abs<N : num, T : fiu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[263],
+ /* overloads */ &kOverloads[265],
},
{
/* [1] */
/* fn acos(f32) -> f32 */
/* fn acos<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[257],
+ /* overloads */ &kOverloads[259],
},
{
/* [2] */
/* fn all(bool) -> bool */
/* fn all<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ &kOverloads[247],
+ /* overloads */ &kOverloads[249],
},
{
/* [3] */
/* fn any(bool) -> bool */
/* fn any<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ &kOverloads[243],
+ /* overloads */ &kOverloads[245],
},
{
/* [4] */
/* fn arrayLength<T, A : access>(ptr<storage, array<T>, A>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[285],
+ /* overloads */ &kOverloads[287],
},
{
/* [5] */
/* fn asin(f32) -> f32 */
/* fn asin<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[237],
+ /* overloads */ &kOverloads[239],
},
{
/* [6] */
/* fn atan(f32) -> f32 */
/* fn atan<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[235],
+ /* overloads */ &kOverloads[237],
},
{
/* [7] */
/* fn atan2(f32, f32) -> f32 */
/* fn atan2<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[229],
+ /* overloads */ &kOverloads[231],
},
{
/* [8] */
/* fn ceil(f32) -> f32 */
/* fn ceil<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[223],
+ /* overloads */ &kOverloads[225],
},
{
/* [9] */
/* fn clamp<T : fiu32>(T, T, T) -> T */
/* fn clamp<N : num, T : fiu32>(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[219],
+ /* overloads */ &kOverloads[221],
},
{
/* [10] */
/* fn cos(f32) -> f32 */
/* fn cos<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[215],
+ /* overloads */ &kOverloads[217],
},
{
/* [11] */
@@ -8941,7 +9005,7 @@
/* [15] */
/* fn cross(vec3<f32>, vec3<f32>) -> vec3<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[284],
+ /* overloads */ &kOverloads[286],
},
{
/* [16] */
@@ -8954,7 +9018,7 @@
/* [17] */
/* fn determinant<N : num>(mat<N, N, f32>) -> f32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[283],
+ /* overloads */ &kOverloads[285],
},
{
/* [18] */
@@ -8967,7 +9031,7 @@
/* [19] */
/* fn dot<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[282],
+ /* overloads */ &kOverloads[284],
},
{
/* [20] */
@@ -9036,7 +9100,7 @@
/* [29] */
/* fn faceForward<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[281],
+ /* overloads */ &kOverloads[283],
},
{
/* [30] */
@@ -9103,83 +9167,90 @@
},
{
/* [39] */
- /* fn inverseSqrt(f32) -> f32 */
- /* fn inverseSqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn insertBits<T : iu32>(T, T, u32, u32) -> T */
+ /* fn insertBits<N : num, T : iu32>(vec<N, T>, vec<N, T>, u32, u32) -> vec<N, T> */
/* num overloads */ 2,
/* overloads */ &kOverloads[193],
},
{
/* [40] */
- /* 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[195],
},
{
/* [41] */
- /* 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[197],
},
{
/* [42] */
- /* 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[199],
},
{
/* [43] */
- /* 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[201],
},
{
/* [44] */
- /* 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[203],
},
{
/* [45] */
- /* 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[205],
},
{
/* [46] */
- /* 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[207],
},
{
/* [47] */
- /* 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[209],
},
{
/* [48] */
- /* 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[211],
},
{
/* [49] */
- /* 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[213],
},
{
/* [50] */
+ /* 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[215],
+ },
+ {
+ /* [51] */
/* 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> */
@@ -9187,90 +9258,90 @@
/* overloads */ &kOverloads[139],
},
{
- /* [51] */
+ /* [52] */
/* fn modf(f32) -> __modf_result */
/* fn modf<N : num>(vec<N, f32>) -> __modf_result_vec<N> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[217],
+ /* overloads */ &kOverloads[219],
},
{
- /* [52] */
+ /* [53] */
/* fn normalize<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 1,
+ /* overloads */ &kOverloads[282],
+ },
+ {
+ /* [54] */
+ /* fn pack2x16float(vec2<f32>) -> u32 */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[275],
+ },
+ {
+ /* [55] */
+ /* fn pack2x16snorm(vec2<f32>) -> u32 */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[281],
+ },
+ {
+ /* [56] */
+ /* fn pack2x16unorm(vec2<f32>) -> u32 */
+ /* num overloads */ 1,
/* overloads */ &kOverloads[280],
},
{
- /* [53] */
- /* fn pack2x16float(vec2<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[273],
- },
- {
- /* [54] */
- /* fn pack2x16snorm(vec2<f32>) -> u32 */
+ /* [57] */
+ /* fn pack4x8snorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
/* overloads */ &kOverloads[279],
},
{
- /* [55] */
- /* fn pack2x16unorm(vec2<f32>) -> u32 */
+ /* [58] */
+ /* fn pack4x8unorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
/* overloads */ &kOverloads[278],
},
{
- /* [56] */
- /* fn pack4x8snorm(vec4<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[277],
- },
- {
- /* [57] */
- /* fn pack4x8unorm(vec4<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[276],
- },
- {
- /* [58] */
+ /* [59] */
/* fn pow(f32, f32) -> f32 */
/* fn pow<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[231],
- },
- {
- /* [59] */
- /* fn radians(f32) -> f32 */
- /* fn radians<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
/* overloads */ &kOverloads[233],
},
{
/* [60] */
- /* fn reflect<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[275],
+ /* fn radians(f32) -> f32 */
+ /* fn radians<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[235],
},
{
/* [61] */
- /* 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[274],
+ /* overloads */ &kOverloads[277],
},
{
/* [62] */
- /* fn reverseBits<T : iu32>(T) -> T */
- /* fn reverseBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[239],
+ /* fn refract<N : num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[276],
},
{
/* [63] */
- /* 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[241],
},
{
/* [64] */
+ /* fn round(f32) -> f32 */
+ /* fn round<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[243],
+ },
+ {
+ /* [65] */
/* 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> */
@@ -9278,118 +9349,118 @@
/* overloads */ &kOverloads[142],
},
{
- /* [65] */
+ /* [66] */
/* fn sign(f32) -> f32 */
/* fn sign<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[245],
- },
- {
- /* [66] */
- /* fn sin(f32) -> f32 */
- /* fn sin<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[221],
+ /* overloads */ &kOverloads[247],
},
{
/* [67] */
- /* 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[249],
+ /* overloads */ &kOverloads[223],
},
{
/* [68] */
- /* 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[251],
},
{
/* [69] */
- /* 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[253],
},
{
/* [70] */
- /* 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[255],
},
{
/* [71] */
- /* fn storageBarrier() */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[272],
+ /* fn step(f32, f32) -> f32 */
+ /* fn step<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[257],
},
{
/* [72] */
- /* fn tan(f32) -> f32 */
- /* fn tan<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[259],
+ /* fn storageBarrier() */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[274],
},
{
/* [73] */
- /* fn tanh(f32) -> f32 */
- /* fn tanh<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ &kOverloads[225],
- },
- {
- /* [74] */
- /* fn transpose<M : num, N : num>(mat<M, N, f32>) -> mat<N, M, f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[265],
- },
- {
- /* [75] */
- /* fn trunc(f32) -> f32 */
- /* fn trunc<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* fn tan(f32) -> f32 */
+ /* fn tan<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
/* overloads */ &kOverloads[261],
},
{
- /* [76] */
- /* fn unpack2x16float(u32) -> vec2<f32> */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[266],
+ /* [74] */
+ /* fn tanh(f32) -> f32 */
+ /* fn tanh<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[227],
},
{
- /* [77] */
- /* fn unpack2x16snorm(u32) -> vec2<f32> */
+ /* [75] */
+ /* fn transpose<M : num, N : num>(mat<M, N, f32>) -> mat<N, M, f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[267],
},
{
- /* [78] */
- /* fn unpack2x16unorm(u32) -> vec2<f32> */
+ /* [76] */
+ /* fn trunc(f32) -> f32 */
+ /* fn trunc<N : num>(vec<N, f32>) -> vec<N, f32> */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[263],
+ },
+ {
+ /* [77] */
+ /* fn unpack2x16float(u32) -> vec2<f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[268],
},
{
- /* [79] */
- /* fn unpack4x8snorm(u32) -> vec4<f32> */
+ /* [78] */
+ /* fn unpack2x16snorm(u32) -> vec2<f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[269],
},
{
- /* [80] */
- /* fn unpack4x8unorm(u32) -> vec4<f32> */
+ /* [79] */
+ /* fn unpack2x16unorm(u32) -> vec2<f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[270],
},
{
- /* [81] */
- /* fn workgroupBarrier() */
+ /* [80] */
+ /* fn unpack4x8snorm(u32) -> vec4<f32> */
/* num overloads */ 1,
/* overloads */ &kOverloads[271],
},
{
+ /* [81] */
+ /* fn unpack4x8unorm(u32) -> vec4<f32> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[272],
+ },
+ {
/* [82] */
+ /* fn workgroupBarrier() */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[273],
+ },
+ {
+ /* [83] */
/* 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> */
@@ -9421,7 +9492,7 @@
/* overloads */ &kOverloads[0],
},
{
- /* [83] */
+ /* [84] */
/* 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> */
@@ -9438,7 +9509,7 @@
/* overloads */ &kOverloads[57],
},
{
- /* [84] */
+ /* [85] */
/* 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> */
@@ -9449,7 +9520,7 @@
/* overloads */ &kOverloads[116],
},
{
- /* [85] */
+ /* [86] */
/* 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 */
@@ -9459,7 +9530,7 @@
/* overloads */ &kOverloads[134],
},
{
- /* [86] */
+ /* [87] */
/* 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 */
@@ -9474,14 +9545,14 @@
/* overloads */ &kOverloads[81],
},
{
- /* [87] */
+ /* [88] */
/* fn textureNumSamples<T : fiu32>(texture: texture_multisampled_2d<T>) -> i32 */
/* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> i32 */
/* num overloads */ 2,
- /* overloads */ &kOverloads[227],
+ /* overloads */ &kOverloads[229],
},
{
- /* [88] */
+ /* [89] */
/* 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> */
@@ -9501,7 +9572,7 @@
/* overloads */ &kOverloads[42],
},
{
- /* [89] */
+ /* [90] */
/* 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> */
@@ -9514,7 +9585,7 @@
/* overloads */ &kOverloads[108],
},
{
- /* [90] */
+ /* [91] */
/* 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 */
@@ -9525,7 +9596,7 @@
/* overloads */ &kOverloads[128],
},
{
- /* [91] */
+ /* [92] */
/* 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 */
@@ -9536,7 +9607,7 @@
/* overloads */ &kOverloads[122],
},
{
- /* [92] */
+ /* [93] */
/* 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> */
@@ -9549,7 +9620,7 @@
/* overloads */ &kOverloads[100],
},
{
- /* [93] */
+ /* [94] */
/* 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> */
@@ -9569,7 +9640,7 @@
/* overloads */ &kOverloads[27],
},
{
- /* [94] */
+ /* [95] */
/* 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>) */
@@ -9586,7 +9657,7 @@
/* overloads */ &kOverloads[69],
},
{
- /* [95] */
+ /* [96] */
/* 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> */
@@ -9600,71 +9671,71 @@
/* overloads */ &kOverloads[91],
},
{
- /* [96] */
- /* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[286],
- },
- {
/* [97] */
- /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[287],
- },
- {
- /* [98] */
- /* 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[288],
},
{
- /* [99] */
- /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [98] */
+ /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
/* num overloads */ 1,
/* overloads */ &kOverloads[289],
},
{
- /* [100] */
- /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [99] */
+ /* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[290],
},
{
- /* [101] */
- /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [100] */
+ /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[291],
},
{
- /* [102] */
- /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [101] */
+ /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[292],
},
{
- /* [103] */
- /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [102] */
+ /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[293],
},
{
- /* [104] */
- /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [103] */
+ /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[294],
},
{
- /* [105] */
- /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* [104] */
+ /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[295],
},
{
- /* [106] */
- /* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> vec2<T> */
+ /* [105] */
+ /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
/* overloads */ &kOverloads[296],
},
+ {
+ /* [106] */
+ /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[297],
+ },
+ {
+ /* [107] */
+ /* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> vec2<T> */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[298],
+ },
};
// clang-format on
diff --git a/src/tint/builtins.def b/src/tint/builtins.def
index 670d878..4771afb 100644
--- a/src/tint/builtins.def
+++ b/src/tint/builtins.def
@@ -336,6 +336,8 @@
[[stage("fragment")]] fn fwidthCoarse<N: num>(vec<N, f32>) -> vec<N, f32>
[[stage("fragment")]] fn fwidthFine(f32) -> f32
[[stage("fragment")]] fn fwidthFine<N: num>(vec<N, f32>) -> vec<N, f32>
+fn insertBits<T: iu32>(T, T, u32, u32) -> T
+fn insertBits<N: num, T: iu32>(vec<N, T>, vec<N, T>, u32, u32) -> vec<N, T>
fn inverseSqrt(f32) -> f32
fn inverseSqrt<N: num>(vec<N, f32>) -> vec<N, f32>
[[deprecated]] fn isFinite(f32) -> bool
diff --git a/src/tint/program_builder.h b/src/tint/program_builder.h
index dc79eea..c245c42 100644
--- a/src/tint/program_builder.h
+++ b/src/tint/program_builder.h
@@ -1760,6 +1760,16 @@
Expr(std::forward<RHS>(rhs)));
}
+ /// @param lhs the left hand argument to the xor operation
+ /// @param rhs the right hand argument to the xor operation
+ /// @returns a `ast::BinaryExpression` bitwise xor-ing `lhs` and `rhs`
+ template <typename LHS, typename RHS>
+ const ast::BinaryExpression* Xor(LHS&& lhs, RHS&& rhs) {
+ return create<ast::BinaryExpression>(ast::BinaryOp::kXor,
+ Expr(std::forward<LHS>(lhs)),
+ Expr(std::forward<RHS>(rhs)));
+ }
+
/// @param lhs the left hand argument to the greater than operation
/// @param rhs the right hand argument to the greater than operation
/// @returns a `ast::BinaryExpression` of `lhs` > `rhs`
diff --git a/src/tint/reader/spirv/function.cc b/src/tint/reader/spirv/function.cc
index fd98cda..fe32d35 100644
--- a/src/tint/reader/spirv/function.cc
+++ b/src/tint/reader/spirv/function.cc
@@ -443,6 +443,11 @@
switch (opcode) {
case SpvOpBitCount:
return sem::BuiltinType::kCountOneBits;
+ case SpvOpBitFieldInsert:
+ return sem::BuiltinType::kInsertBits;
+ case SpvOpBitFieldSExtract:
+ case SpvOpBitFieldUExtract:
+ return sem::BuiltinType::kExtractBits;
case SpvOpBitReverse:
return sem::BuiltinType::kReverseBits;
case SpvOpDot:
@@ -463,9 +468,6 @@
return sem::BuiltinType::kDpdxCoarse;
case SpvOpDPdyCoarse:
return sem::BuiltinType::kDpdyCoarse;
- case SpvOpBitFieldSExtract:
- case SpvOpBitFieldUExtract:
- return sem::BuiltinType::kExtractBits;
case SpvOpFwidthCoarse:
return sem::BuiltinType::kFwidthCoarse;
default:
diff --git a/src/tint/reader/spirv/function_bit_test.cc b/src/tint/reader/spirv/function_bit_test.cc
index 524d1dd..722cc2a 100644
--- a/src/tint/reader/spirv/function_bit_test.cc
+++ b/src/tint/reader/spirv/function_bit_test.cc
@@ -901,6 +901,78 @@
<< body;
}
+TEST_F(SpvUnaryBitTest, InsertBits_Int) {
+ const auto assembly = BitTestPreamble() + R"(
+ %1 = OpBitFieldInsert %v2int %int_30 %int_40 %uint_10 %uint_20
+ OpReturn
+ OpFunctionEnd
+ )";
+ auto p = parser(test::Assemble(assembly));
+ ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
+ auto fe = p->function_emitter(100);
+ EXPECT_TRUE(fe.EmitBody()) << p->error();
+ auto ast_body = fe.ast_body();
+ auto body = test::ToString(p->program(), ast_body);
+ EXPECT_THAT(body,
+ HasSubstr("let x_1 : vec2<i32> = insertBits(30, 40, 10u, 20u);"))
+ << body;
+}
+
+TEST_F(SpvUnaryBitTest, InsertBits_IntVector) {
+ const auto assembly = BitTestPreamble() + R"(
+ %1 = OpBitFieldInsert %v2int %v2int_30_40 %v2int_40_30 %uint_10 %uint_20
+ OpReturn
+ OpFunctionEnd
+ )";
+ auto p = parser(test::Assemble(assembly));
+ ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
+ auto fe = p->function_emitter(100);
+ EXPECT_TRUE(fe.EmitBody()) << p->error();
+ auto ast_body = fe.ast_body();
+ auto body = test::ToString(p->program(), ast_body);
+ EXPECT_THAT(
+ body,
+ HasSubstr(
+ R"(let x_1 : vec2<i32> = insertBits(vec2<i32>(30, 40), vec2<i32>(40, 30), 10u, 20u);)"))
+ << body;
+}
+
+TEST_F(SpvUnaryBitTest, InsertBits_Uint) {
+ const auto assembly = BitTestPreamble() + R"(
+ %1 = OpBitFieldInsert %v2uint %uint_20 %uint_10 %uint_10 %uint_20
+ OpReturn
+ OpFunctionEnd
+ )";
+ auto p = parser(test::Assemble(assembly));
+ ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
+ auto fe = p->function_emitter(100);
+ EXPECT_TRUE(fe.EmitBody()) << p->error();
+ auto ast_body = fe.ast_body();
+ auto body = test::ToString(p->program(), ast_body);
+ EXPECT_THAT(
+ body, HasSubstr("let x_1 : vec2<u32> = insertBits(20u, 10u, 10u, 20u);"))
+ << body;
+}
+
+TEST_F(SpvUnaryBitTest, InsertBits_UintVector) {
+ const auto assembly = BitTestPreamble() + R"(
+ %1 = OpBitFieldInsert %v2uint %v2uint_10_20 %v2uint_20_10 %uint_10 %uint_20
+ OpReturn
+ OpFunctionEnd
+ )";
+ auto p = parser(test::Assemble(assembly));
+ ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
+ auto fe = p->function_emitter(100);
+ EXPECT_TRUE(fe.EmitBody()) << p->error();
+ auto ast_body = fe.ast_body();
+ auto body = test::ToString(p->program(), ast_body);
+ EXPECT_THAT(
+ body,
+ HasSubstr(
+ R"(let x_1 : vec2<u32> = insertBits(vec2<u32>(10u, 20u), vec2<u32>(20u, 10u), 10u, 20u);)"))
+ << body;
+}
+
TEST_F(SpvUnaryBitTest, ExtractBits_Int) {
const auto assembly = BitTestPreamble() + R"(
%1 = OpBitFieldSExtract %v2int %int_30 %uint_10 %uint_20
@@ -973,8 +1045,6 @@
<< body;
}
-// TODO(dneto): OpBitFieldInsert
-
} // namespace
} // namespace spirv
} // namespace reader
diff --git a/src/tint/sem/builtin_type.cc b/src/tint/sem/builtin_type.cc
index b3a463a..9f95e70 100644
--- a/src/tint/sem/builtin_type.cc
+++ b/src/tint/sem/builtin_type.cc
@@ -147,6 +147,9 @@
if (name == "fwidthFine") {
return BuiltinType::kFwidthFine;
}
+ if (name == "insertBits") {
+ return BuiltinType::kInsertBits;
+ }
if (name == "inverseSqrt") {
return BuiltinType::kInverseSqrt;
}
@@ -436,6 +439,8 @@
return "fwidthCoarse";
case BuiltinType::kFwidthFine:
return "fwidthFine";
+ case BuiltinType::kInsertBits:
+ return "insertBits";
case BuiltinType::kInverseSqrt:
return "inverseSqrt";
case BuiltinType::kIsFinite:
diff --git a/src/tint/sem/builtin_type.h b/src/tint/sem/builtin_type.h
index df65da7..c53468e 100644
--- a/src/tint/sem/builtin_type.h
+++ b/src/tint/sem/builtin_type.h
@@ -73,6 +73,7 @@
kFwidth,
kFwidthCoarse,
kFwidthFine,
+ kInsertBits,
kInverseSqrt,
kIsFinite,
kIsInf,
diff --git a/src/tint/transform/builtin_polyfill.cc b/src/tint/transform/builtin_polyfill.cc
index fb20a20..9cd2c67 100644
--- a/src/tint/transform/builtin_polyfill.cc
+++ b/src/tint/transform/builtin_polyfill.cc
@@ -55,7 +55,7 @@
if (width == 1) {
return b.ty.u32();
}
- return b.ty.vec<ProgramBuilder::u32>(width);
+ return b.ty.vec<u32>(width);
};
auto V = [&](uint32_t value) -> const ast::Expression* {
return ScalarOrVector(width, value);
@@ -117,7 +117,7 @@
if (width == 1) {
return b.ty.u32();
}
- return b.ty.vec<ProgramBuilder::u32>(width);
+ return b.ty.vec<u32>(width);
};
auto V = [&](uint32_t value) -> const ast::Expression* {
return ScalarOrVector(width, value);
@@ -187,7 +187,7 @@
if (width == 1) {
return value;
}
- return b.Construct(b.ty.vec<ProgramBuilder::u32>(width), value);
+ return b.Construct(b.ty.vec<u32>(width), value);
};
ast::StatementList body = {
@@ -236,7 +236,7 @@
if (width == 1) {
return b.ty.u32();
}
- return b.ty.vec<ProgramBuilder::u32>(width);
+ return b.ty.vec<u32>(width);
};
auto V = [&](uint32_t value) -> const ast::Expression* {
return ScalarOrVector(width, value);
@@ -317,7 +317,7 @@
if (width == 1) {
return b.ty.u32();
}
- return b.ty.vec<ProgramBuilder::u32>(width);
+ return b.ty.vec<u32>(width);
};
auto V = [&](uint32_t value) -> const ast::Expression* {
return ScalarOrVector(width, value);
@@ -373,16 +373,90 @@
return name;
}
+ /// Builds the polyfill function for the `insertBits` builtin
+ /// @param ty the parameter and return type for the function
+ /// @return the polyfill function name
+ Symbol insertBits(const sem::Type* ty) {
+ auto name = b.Symbols().New("tint_insert_bits");
+ uint32_t width = WidthOf(ty);
+
+ constexpr uint32_t W = 32u; // 32-bit
+
+ auto V = [&](auto value) -> const ast::Expression* {
+ const ast::Expression* expr = b.Expr(value);
+ if (!ty->is_unsigned_scalar_or_vector()) {
+ expr = b.Construct<i32>(expr);
+ }
+ if (ty->Is<sem::Vector>()) {
+ expr = b.Construct(T(ty), expr);
+ }
+ return expr;
+ };
+ auto U = [&](auto value) -> const ast::Expression* {
+ if (width == 1) {
+ return b.Expr(value);
+ }
+ return b.vec(b.ty.u32(), width, value);
+ };
+
+ ast::StatementList body = {
+ b.Decl(b.Const("s", nullptr, b.Call("min", "offset", W))),
+ b.Decl(b.Const("e", nullptr, b.Call("min", W, b.Add("s", "count")))),
+ };
+
+ switch (polyfill.insert_bits) {
+ case Level::kFull:
+ // let mask = ((1 << s) - 1) ^ ((1 << e) - 1)
+ body.emplace_back(b.Decl(b.Const(
+ "mask", nullptr,
+ b.Xor(b.Sub(b.Shl(1u, "s"), 1u), b.Sub(b.Shl(1u, "e"), 1u)))));
+ // return ((n << s) & mask) | (v & ~mask)
+ body.emplace_back(b.Return(b.Or(b.And(b.Shl("n", U("s")), V("mask")),
+ b.And("v", V(b.Complement("mask"))))));
+ break;
+ case Level::kClampParameters:
+ body.emplace_back(
+ b.Return(b.Call("insertBits", "v", "n", "s", b.Sub("e", "s"))));
+ break;
+ default:
+ TINT_ICE(Transform, b.Diagnostics())
+ << "unhandled polyfill level: "
+ << static_cast<int>(polyfill.insert_bits);
+ return {};
+ }
+
+ b.Func(name,
+ {
+ b.Param("v", T(ty)),
+ b.Param("n", T(ty)),
+ b.Param("offset", b.ty.u32()),
+ b.Param("count", b.ty.u32()),
+ },
+ T(ty), body);
+
+ return name;
+ }
+
private:
+ /// Aliases
+ using u32 = ProgramBuilder::u32;
+ using i32 = ProgramBuilder::i32;
+
+ /// @returns the AST type for the given sem type
const ast::Type* T(const sem::Type* ty) const {
return CreateASTTypeFor(ctx, ty);
}
+
+ /// @returns 1 if `ty` is not a vector, otherwise the vector width
uint32_t WidthOf(const sem::Type* ty) const {
if (auto* v = ty->As<sem::Vector>()) {
return v->Width();
}
return 1;
}
+
+ /// @returns a scalar or vector with the given width, with each element with
+ /// the given value.
template <typename T>
const ast::Expression* ScalarOrVector(uint32_t width, T value) const {
if (width == 1) {
@@ -430,6 +504,11 @@
return true;
}
break;
+ case sem::BuiltinType::kInsertBits:
+ if (builtins.insert_bits != Level::kNone) {
+ return true;
+ }
+ break;
default:
break;
}
@@ -494,6 +573,13 @@
});
}
break;
+ case sem::BuiltinType::kInsertBits:
+ if (builtins.insert_bits != Level::kNone) {
+ polyfill = utils::GetOrCreate(polyfills, builtin, [&] {
+ return s.insertBits(builtin->ReturnType());
+ });
+ }
+ break;
default:
break;
}
diff --git a/src/tint/transform/builtin_polyfill.h b/src/tint/transform/builtin_polyfill.h
index b25c878..131e08a 100644
--- a/src/tint/transform/builtin_polyfill.h
+++ b/src/tint/transform/builtin_polyfill.h
@@ -50,6 +50,8 @@
bool first_leading_bit = false;
/// Should `firstTrailingBit()` be polyfilled?
bool first_trailing_bit = false;
+ /// Should `insertBits()` be polyfilled?
+ Level insert_bits = Level::kNone;
};
/// 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 4ac51fd..49e0471 100644
--- a/src/tint/transform/builtin_polyfill_test.cc
+++ b/src/tint/transform/builtin_polyfill_test.cc
@@ -889,6 +889,233 @@
EXPECT_EQ(expect, str(got));
}
+////////////////////////////////////////////////////////////////////////////////
+// insertBits
+////////////////////////////////////////////////////////////////////////////////
+DataMap polyfillInsertBits(Level level) {
+ BuiltinPolyfill::Builtins builtins;
+ builtins.insert_bits = level;
+ DataMap data;
+ data.Add<BuiltinPolyfill::Config>(builtins);
+ return data;
+}
+
+TEST_F(BuiltinPolyfillTest, ShouldRunInsertBits) {
+ auto* src = R"(
+fn f() {
+ insertBits(1234, 5678, 5u, 6u);
+}
+)";
+
+ EXPECT_FALSE(ShouldRun<BuiltinPolyfill>(src));
+ EXPECT_FALSE(
+ ShouldRun<BuiltinPolyfill>(src, polyfillInsertBits(Level::kNone)));
+ EXPECT_TRUE(ShouldRun<BuiltinPolyfill>(
+ src, polyfillInsertBits(Level::kClampParameters)));
+ EXPECT_TRUE(
+ ShouldRun<BuiltinPolyfill>(src, polyfillInsertBits(Level::kFull)));
+}
+
+TEST_F(BuiltinPolyfillTest, InsertBits_Full_i32) {
+ auto* src = R"(
+fn f() {
+ let r : i32 = insertBits(1234, 5678, 5u, 6u);
+}
+)";
+
+ auto* expect = R"(
+fn tint_insert_bits(v : i32, n : i32, offset : u32, count : u32) -> i32 {
+ let s = min(offset, 32u);
+ let e = min(32u, (s + count));
+ let mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << s) & i32(mask)) | (v & i32(~(mask))));
+}
+
+fn f() {
+ let r : i32 = tint_insert_bits(1234, 5678, 5u, 6u);
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillInsertBits(Level::kFull));
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, InsertBits_Full_u32) {
+ auto* src = R"(
+fn f() {
+ let r : u32 = insertBits(1234u, 5678u, 5u, 6u);
+}
+)";
+
+ auto* expect = R"(
+fn tint_insert_bits(v : u32, n : u32, offset : u32, count : u32) -> u32 {
+ let s = min(offset, 32u);
+ let e = min(32u, (s + count));
+ let mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << s) & mask) | (v & ~(mask)));
+}
+
+fn f() {
+ let r : u32 = tint_insert_bits(1234u, 5678u, 5u, 6u);
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillInsertBits(Level::kFull));
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, InsertBits_Full_vec3_i32) {
+ auto* src = R"(
+fn f() {
+ let r : vec3<i32> = insertBits(vec3<i32>(1234), vec3<i32>(5678), 5u, 6u);
+}
+)";
+
+ auto* expect = R"(
+fn tint_insert_bits(v : vec3<i32>, n : vec3<i32>, offset : u32, count : u32) -> vec3<i32> {
+ let s = min(offset, 32u);
+ let e = min(32u, (s + count));
+ let mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << vec3<u32>(s)) & vec3<i32>(i32(mask))) | (v & vec3<i32>(i32(~(mask)))));
+}
+
+fn f() {
+ let r : vec3<i32> = tint_insert_bits(vec3<i32>(1234), vec3<i32>(5678), 5u, 6u);
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillInsertBits(Level::kFull));
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, InsertBits_Full_vec3_u32) {
+ auto* src = R"(
+fn f() {
+ let r : vec3<u32> = insertBits(vec3<u32>(1234u), vec3<u32>(5678u), 5u, 6u);
+}
+)";
+
+ auto* expect = R"(
+fn tint_insert_bits(v : vec3<u32>, n : vec3<u32>, offset : u32, count : u32) -> vec3<u32> {
+ let s = min(offset, 32u);
+ let e = min(32u, (s + count));
+ let mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << vec3<u32>(s)) & vec3<u32>(mask)) | (v & vec3<u32>(~(mask))));
+}
+
+fn f() {
+ let r : vec3<u32> = tint_insert_bits(vec3<u32>(1234u), vec3<u32>(5678u), 5u, 6u);
+}
+)";
+
+ auto got = Run<BuiltinPolyfill>(src, polyfillInsertBits(Level::kFull));
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, InsertBits_Clamp_i32) {
+ auto* src = R"(
+fn f() {
+ let r : i32 = insertBits(1234, 5678, 5u, 6u);
+}
+)";
+
+ auto* expect = R"(
+fn tint_insert_bits(v : i32, n : i32, offset : u32, count : u32) -> i32 {
+ let s = min(offset, 32u);
+ let e = min(32u, (s + count));
+ return insertBits(v, n, s, (e - s));
+}
+
+fn f() {
+ let r : i32 = tint_insert_bits(1234, 5678, 5u, 6u);
+}
+)";
+
+ auto got =
+ Run<BuiltinPolyfill>(src, polyfillInsertBits(Level::kClampParameters));
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, InsertBits_Clamp_u32) {
+ auto* src = R"(
+fn f() {
+ let r : u32 = insertBits(1234u, 5678u, 5u, 6u);
+}
+)";
+
+ auto* expect = R"(
+fn tint_insert_bits(v : u32, n : u32, offset : u32, count : u32) -> u32 {
+ let s = min(offset, 32u);
+ let e = min(32u, (s + count));
+ return insertBits(v, n, s, (e - s));
+}
+
+fn f() {
+ let r : u32 = tint_insert_bits(1234u, 5678u, 5u, 6u);
+}
+)";
+
+ auto got =
+ Run<BuiltinPolyfill>(src, polyfillInsertBits(Level::kClampParameters));
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, InsertBits_Clamp_vec3_i32) {
+ auto* src = R"(
+fn f() {
+ let r : vec3<i32> = insertBits(vec3<i32>(1234), vec3<i32>(5678), 5u, 6u);
+}
+)";
+
+ auto* expect = R"(
+fn tint_insert_bits(v : vec3<i32>, n : vec3<i32>, offset : u32, count : u32) -> vec3<i32> {
+ let s = min(offset, 32u);
+ let e = min(32u, (s + count));
+ return insertBits(v, n, s, (e - s));
+}
+
+fn f() {
+ let r : vec3<i32> = tint_insert_bits(vec3<i32>(1234), vec3<i32>(5678), 5u, 6u);
+}
+)";
+
+ auto got =
+ Run<BuiltinPolyfill>(src, polyfillInsertBits(Level::kClampParameters));
+
+ EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(BuiltinPolyfillTest, InsertBits_Clamp_vec3_u32) {
+ auto* src = R"(
+fn f() {
+ let r : vec3<u32> = insertBits(vec3<u32>(1234u), vec3<u32>(5678u), 5u, 6u);
+}
+)";
+
+ auto* expect = R"(
+fn tint_insert_bits(v : vec3<u32>, n : vec3<u32>, offset : u32, count : u32) -> vec3<u32> {
+ let s = min(offset, 32u);
+ let e = min(32u, (s + count));
+ return insertBits(v, n, s, (e - s));
+}
+
+fn f() {
+ let r : vec3<u32> = tint_insert_bits(vec3<u32>(1234u), vec3<u32>(5678u), 5u, 6u);
+}
+)";
+
+ auto got =
+ Run<BuiltinPolyfill>(src, polyfillInsertBits(Level::kClampParameters));
+
+ 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 fdf0fdf..4eae520 100644
--- a/src/tint/transform/glsl.cc
+++ b/src/tint/transform/glsl.cc
@@ -59,6 +59,7 @@
polyfills.extract_bits = BuiltinPolyfill::Level::kClampParameters;
polyfills.first_leading_bit = true;
polyfills.first_trailing_bit = true;
+ polyfills.insert_bits = BuiltinPolyfill::Level::kClampParameters;
data.Add<BuiltinPolyfill::Config>(polyfills);
manager.Add<BuiltinPolyfill>();
}
diff --git a/src/tint/writer/glsl/generator_impl.cc b/src/tint/writer/glsl/generator_impl.cc
index ef3d3da..01c1d88 100644
--- a/src/tint/writer/glsl/generator_impl.cc
+++ b/src/tint/writer/glsl/generator_impl.cc
@@ -607,6 +607,9 @@
if (builtin->Type() == sem::BuiltinType::kExtractBits) {
return EmitExtractBits(out, expr);
}
+ if (builtin->Type() == sem::BuiltinType::kInsertBits) {
+ return EmitInsertBits(out, expr);
+ }
if (builtin->IsDataPacking()) {
return EmitDataPackingCall(out, expr, builtin);
}
@@ -834,6 +837,28 @@
return true;
}
+bool GeneratorImpl::EmitInsertBits(std::ostream& out,
+ const ast::CallExpression* expr) {
+ out << "bitfieldInsert(";
+ if (!EmitExpression(out, expr->args[0])) {
+ return false;
+ }
+ out << ", ";
+ if (!EmitExpression(out, expr->args[1])) {
+ return false;
+ }
+ out << ", int(";
+ if (!EmitExpression(out, expr->args[2])) {
+ return false;
+ }
+ out << "), int(";
+ if (!EmitExpression(out, expr->args[3])) {
+ return false;
+ }
+ out << "))";
+ return true;
+}
+
bool GeneratorImpl::EmitSelectCall(std::ostream& out,
const ast::CallExpression* expr) {
auto* expr_false = expr->args[0];
diff --git a/src/tint/writer/glsl/generator_impl.h b/src/tint/writer/glsl/generator_impl.h
index f48cdfd..5fa94f9 100644
--- a/src/tint/writer/glsl/generator_impl.h
+++ b/src/tint/writer/glsl/generator_impl.h
@@ -176,6 +176,11 @@
/// @param expr the call expression
/// @returns true if the expression is emitted
bool EmitExtractBits(std::ostream& out, const ast::CallExpression* expr);
+ /// Handles generating a call to `bitfieldInsert`
+ /// @param out the output of the expression stream
+ /// @param expr the call expression
+ /// @returns true if the expression is emitted
+ bool EmitInsertBits(std::ostream& out, const ast::CallExpression* expr);
/// Handles generating a call to a texture function (`textureSample`,
/// `textureSampleGrad`, etc)
/// @param out the output of the expression stream
diff --git a/src/tint/writer/glsl/generator_impl_builtin_test.cc b/src/tint/writer/glsl/generator_impl_builtin_test.cc
index 88979bf..5f6d04c 100644
--- a/src/tint/writer/glsl/generator_impl_builtin_test.cc
+++ b/src/tint/writer/glsl/generator_impl_builtin_test.cc
@@ -615,6 +615,42 @@
}
)");
}
+
+TEST_F(GlslGeneratorImplTest_Builtin, InsertBits) {
+ auto* v = Var("v", ty.vec3<u32>());
+ auto* n = Var("n", ty.vec3<u32>());
+ auto* offset = Var("offset", ty.u32());
+ auto* count = Var("count", ty.u32());
+ auto* call = Call("insertBits", v, n, offset, count);
+ WrapInFunction(v, n, offset, count, call);
+
+ GeneratorImpl& gen = SanitizeAndBuild();
+
+ ASSERT_TRUE(gen.Generate()) << gen.error();
+ EXPECT_EQ(gen.result(), R"(#version 310 es
+
+uvec3 tint_insert_bits(uvec3 v, uvec3 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void test_function() {
+ uvec3 v = uvec3(0u, 0u, 0u);
+ uvec3 n = uvec3(0u, 0u, 0u);
+ uint offset = 0u;
+ uint count = 0u;
+ uvec3 tint_symbol = tint_insert_bits(v, n, offset, count);
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ test_function();
+ return;
+}
+)");
+}
+
#if 0
TEST_F(GlslGeneratorImplTest_Builtin, Pack4x8Snorm) {
auto* call = Call("pack4x8snorm", "p1");
diff --git a/src/tint/writer/hlsl/generator_impl.cc b/src/tint/writer/hlsl/generator_impl.cc
index e2a8341..79664ae 100644
--- a/src/tint/writer/hlsl/generator_impl.cc
+++ b/src/tint/writer/hlsl/generator_impl.cc
@@ -150,6 +150,7 @@
polyfills.extract_bits = transform::BuiltinPolyfill::Level::kFull;
polyfills.first_leading_bit = true;
polyfills.first_trailing_bit = true;
+ polyfills.insert_bits = transform::BuiltinPolyfill::Level::kFull;
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 3400607..3a8c1dc 100644
--- a/src/tint/writer/msl/generator_impl.cc
+++ b/src/tint/writer/msl/generator_impl.cc
@@ -134,6 +134,7 @@
transform::BuiltinPolyfill::Level::kClampParameters;
polyfills.first_leading_bit = true;
polyfills.first_trailing_bit = true;
+ polyfills.insert_bits = transform::BuiltinPolyfill::Level::kClampParameters;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
@@ -1378,6 +1379,9 @@
case sem::BuiltinType::kExtractBits:
out += "extract_bits";
break;
+ case sem::BuiltinType::kInsertBits:
+ out += "insert_bits";
+ break;
case sem::BuiltinType::kFwidth:
case sem::BuiltinType::kFwidthCoarse:
case sem::BuiltinType::kFwidthFine:
diff --git a/src/tint/writer/msl/generator_impl_builtin_test.cc b/src/tint/writer/msl/generator_impl_builtin_test.cc
index f3505d6..d8cfd54 100644
--- a/src/tint/writer/msl/generator_impl_builtin_test.cc
+++ b/src/tint/writer/msl/generator_impl_builtin_test.cc
@@ -131,6 +131,8 @@
return builder->Call(str.str(), "u2");
case BuiltinType::kExtractBits:
return builder->Call(str.str(), "u2", "u1", "u1");
+ case BuiltinType::kInsertBits:
+ return builder->Call(str.str(), "u2", "u2", "u1", "u1");
case BuiltinType::kMax:
case BuiltinType::kMin:
if (type == ParamType::kF32) {
@@ -239,6 +241,7 @@
BuiltinData{BuiltinType::kFwidth, ParamType::kF32, "fwidth"},
BuiltinData{BuiltinType::kFwidthCoarse, ParamType::kF32, "fwidth"},
BuiltinData{BuiltinType::kFwidthFine, ParamType::kF32, "fwidth"},
+ BuiltinData{BuiltinType::kInsertBits, ParamType::kU32, "insert_bits"},
BuiltinData{BuiltinType::kInverseSqrt, ParamType::kF32, "rsqrt"},
BuiltinData{BuiltinType::kIsFinite, ParamType::kF32, "isfinite"},
BuiltinData{BuiltinType::kIsInf, ParamType::kF32, "isinf"},
diff --git a/src/tint/writer/spirv/builder.cc b/src/tint/writer/spirv/builder.cc
index 3080b8a..f3eff71 100644
--- a/src/tint/writer/spirv/builder.cc
+++ b/src/tint/writer/spirv/builder.cc
@@ -267,6 +267,7 @@
transform::BuiltinPolyfill::Level::kClampParameters;
polyfills.first_leading_bit = true;
polyfills.first_trailing_bit = true;
+ polyfills.insert_bits = transform::BuiltinPolyfill::Level::kClampParameters;
data.Add<transform::BuiltinPolyfill::Config>(polyfills);
manager.Add<transform::BuiltinPolyfill>();
}
@@ -2520,6 +2521,9 @@
case BuiltinType::kFwidthFine:
op = spv::Op::OpFwidthFine;
break;
+ case BuiltinType::kInsertBits:
+ op = spv::Op::OpBitFieldInsert;
+ break;
case BuiltinType::kIsInf:
op = spv::Op::OpIsInf;
break;
diff --git a/src/tint/writer/spirv/builder_builtin_test.cc b/src/tint/writer/spirv/builder_builtin_test.cc
index 700b714..4718e44 100644
--- a/src/tint/writer/spirv/builder_builtin_test.cc
+++ b/src/tint/writer/spirv/builder_builtin_test.cc
@@ -2708,6 +2708,176 @@
)");
}
+TEST_F(BuiltinBuilderTest, Call_InsertBits_i32) {
+ auto* v = Var("v", ty.i32());
+ auto* n = Var("n", ty.i32());
+ auto* offset = Var("offset", ty.u32());
+ auto* count = Var("count", ty.u32());
+ auto* call = Call("insertBits", v, n, offset, count);
+ auto* func = WrapInFunction(v, n, offset, count, call);
+
+ spirv::Builder& b = Build();
+
+ ASSERT_TRUE(b.GenerateFunction(func)) << b.error();
+
+ EXPECT_EQ(DumpBuilder(b), R"(OpEntryPoint GLCompute %3 "test_function"
+OpExecutionMode %3 LocalSize 1 1 1
+OpName %3 "test_function"
+OpName %5 "v"
+OpName %9 "n"
+OpName %10 "offset"
+OpName %14 "count"
+%2 = OpTypeVoid
+%1 = OpTypeFunction %2
+%7 = OpTypeInt 32 1
+%6 = OpTypePointer Function %7
+%8 = OpConstantNull %7
+%12 = OpTypeInt 32 0
+%11 = OpTypePointer Function %12
+%13 = OpConstantNull %12
+%3 = OpFunction %2 None %1
+%4 = OpLabel
+%5 = OpVariable %6 Function %8
+%9 = OpVariable %6 Function %8
+%10 = OpVariable %11 Function %13
+%14 = OpVariable %11 Function %13
+%16 = OpLoad %7 %5
+%17 = OpLoad %7 %9
+%18 = OpLoad %12 %10
+%19 = OpLoad %12 %14
+%15 = OpBitFieldInsert %7 %16 %17 %18 %19
+OpReturn
+OpFunctionEnd
+)");
+}
+
+TEST_F(BuiltinBuilderTest, Call_InsertBits_u32) {
+ auto* v = Var("v", ty.u32());
+ auto* n = Var("n", ty.u32());
+ auto* offset = Var("offset", ty.u32());
+ auto* count = Var("count", ty.u32());
+ auto* call = Call("insertBits", v, n, offset, count);
+ auto* func = WrapInFunction(v, n, offset, count, call);
+
+ spirv::Builder& b = Build();
+
+ ASSERT_TRUE(b.GenerateFunction(func)) << b.error();
+
+ EXPECT_EQ(DumpBuilder(b), R"(OpEntryPoint GLCompute %3 "test_function"
+OpExecutionMode %3 LocalSize 1 1 1
+OpName %3 "test_function"
+OpName %5 "v"
+OpName %9 "n"
+OpName %10 "offset"
+OpName %11 "count"
+%2 = OpTypeVoid
+%1 = OpTypeFunction %2
+%7 = OpTypeInt 32 0
+%6 = OpTypePointer Function %7
+%8 = OpConstantNull %7
+%3 = OpFunction %2 None %1
+%4 = OpLabel
+%5 = OpVariable %6 Function %8
+%9 = OpVariable %6 Function %8
+%10 = OpVariable %6 Function %8
+%11 = OpVariable %6 Function %8
+%13 = OpLoad %7 %5
+%14 = OpLoad %7 %9
+%15 = OpLoad %7 %10
+%16 = OpLoad %7 %11
+%12 = OpBitFieldInsert %7 %13 %14 %15 %16
+OpReturn
+OpFunctionEnd
+)");
+}
+
+TEST_F(BuiltinBuilderTest, Call_InsertBits_vec3_i32) {
+ auto* v = Var("v", ty.vec3<i32>());
+ auto* n = Var("n", ty.vec3<i32>());
+ auto* offset = Var("offset", ty.u32());
+ auto* count = Var("count", ty.u32());
+ auto* call = Call("insertBits", v, n, offset, count);
+ auto* func = WrapInFunction(v, n, offset, count, call);
+
+ spirv::Builder& b = Build();
+
+ ASSERT_TRUE(b.GenerateFunction(func)) << b.error();
+
+ EXPECT_EQ(DumpBuilder(b), R"(OpEntryPoint GLCompute %3 "test_function"
+OpExecutionMode %3 LocalSize 1 1 1
+OpName %3 "test_function"
+OpName %5 "v"
+OpName %10 "n"
+OpName %11 "offset"
+OpName %15 "count"
+%2 = OpTypeVoid
+%1 = OpTypeFunction %2
+%8 = OpTypeInt 32 1
+%7 = OpTypeVector %8 3
+%6 = OpTypePointer Function %7
+%9 = OpConstantNull %7
+%13 = OpTypeInt 32 0
+%12 = OpTypePointer Function %13
+%14 = OpConstantNull %13
+%3 = OpFunction %2 None %1
+%4 = OpLabel
+%5 = OpVariable %6 Function %9
+%10 = OpVariable %6 Function %9
+%11 = OpVariable %12 Function %14
+%15 = OpVariable %12 Function %14
+%17 = OpLoad %7 %5
+%18 = OpLoad %7 %10
+%19 = OpLoad %13 %11
+%20 = OpLoad %13 %15
+%16 = OpBitFieldInsert %7 %17 %18 %19 %20
+OpReturn
+OpFunctionEnd
+)");
+}
+
+TEST_F(BuiltinBuilderTest, Call_InsertBits_vec3_u32) {
+ auto* v = Var("v", ty.vec3<u32>());
+ auto* n = Var("n", ty.vec3<u32>());
+ auto* offset = Var("offset", ty.u32());
+ auto* count = Var("count", ty.u32());
+ auto* call = Call("insertBits", v, n, offset, count);
+ auto* func = WrapInFunction(v, n, offset, count, call);
+
+ spirv::Builder& b = Build();
+
+ ASSERT_TRUE(b.GenerateFunction(func)) << b.error();
+
+ EXPECT_EQ(DumpBuilder(b), R"(OpEntryPoint GLCompute %3 "test_function"
+OpExecutionMode %3 LocalSize 1 1 1
+OpName %3 "test_function"
+OpName %5 "v"
+OpName %10 "n"
+OpName %11 "offset"
+OpName %14 "count"
+%2 = OpTypeVoid
+%1 = OpTypeFunction %2
+%8 = OpTypeInt 32 0
+%7 = OpTypeVector %8 3
+%6 = OpTypePointer Function %7
+%9 = OpConstantNull %7
+%12 = OpTypePointer Function %8
+%13 = OpConstantNull %8
+%3 = OpFunction %2 None %1
+%4 = OpLabel
+%5 = OpVariable %6 Function %9
+%10 = OpVariable %6 Function %9
+%11 = OpVariable %12 Function %13
+%14 = OpVariable %12 Function %13
+%16 = OpLoad %7 %5
+%17 = OpLoad %7 %10
+%18 = OpLoad %8 %11
+%19 = OpLoad %8 %14
+%15 = OpBitFieldInsert %7 %16 %17 %18 %19
+OpReturn
+OpFunctionEnd
+)");
+}
+
} // namespace
} // namespace spirv
} // namespace writer
diff --git a/test/tint/builtins/gen/insertBits/3c7ba5.wgsl b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl
new file mode 100644
index 0000000..d643261
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/3c7ba5.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 insertBits(vec<2, u32>, vec<2, u32>, u32, u32) -> vec<2, u32>
+fn insertBits_3c7ba5() {
+ var res: vec2<u32> = insertBits(vec2<u32>(), vec2<u32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_3c7ba5();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_3c7ba5();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_3c7ba5();
+}
diff --git a/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.glsl b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.glsl
new file mode 100644
index 0000000..5a68ba6
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.glsl
@@ -0,0 +1,66 @@
+#version 310 es
+
+uvec2 tint_insert_bits(uvec2 v, uvec2 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_3c7ba5() {
+ uvec2 res = tint_insert_bits(uvec2(0u, 0u), uvec2(0u, 0u), 1u, 1u);
+}
+
+vec4 vertex_main() {
+ insertBits_3c7ba5();
+ 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_insert_bits(uvec2 v, uvec2 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_3c7ba5() {
+ uvec2 res = tint_insert_bits(uvec2(0u, 0u), uvec2(0u, 0u), 1u, 1u);
+}
+
+void fragment_main() {
+ insertBits_3c7ba5();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+uvec2 tint_insert_bits(uvec2 v, uvec2 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_3c7ba5() {
+ uvec2 res = tint_insert_bits(uvec2(0u, 0u), uvec2(0u, 0u), 1u, 1u);
+}
+
+void compute_main() {
+ insertBits_3c7ba5();
+}
+
+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/insertBits/3c7ba5.wgsl.expected.hlsl b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.hlsl
new file mode 100644
index 0000000..8cf5a7c
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.hlsl
@@ -0,0 +1,37 @@
+uint2 tint_insert_bits(uint2 v, uint2 n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << uint2((s).xx)) & uint2((mask).xx)) | (v & uint2((~(mask)).xx)));
+}
+
+void insertBits_3c7ba5() {
+ uint2 res = tint_insert_bits(uint2(0u, 0u), uint2(0u, 0u), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ insertBits_3c7ba5();
+ 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() {
+ insertBits_3c7ba5();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ insertBits_3c7ba5();
+ return;
+}
diff --git a/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.msl b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.msl
new file mode 100644
index 0000000..7f7805a
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.msl
@@ -0,0 +1,39 @@
+#include <metal_stdlib>
+
+using namespace metal;
+uint2 tint_insert_bits(uint2 v, uint2 n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void insertBits_3c7ba5() {
+ uint2 res = tint_insert_bits(uint2(), uint2(), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ insertBits_3c7ba5();
+ 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() {
+ insertBits_3c7ba5();
+ return;
+}
+
+kernel void compute_main() {
+ insertBits_3c7ba5();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.spvasm b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.spvasm
new file mode 100644
index 0000000..bd5c7b9
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.spvasm
@@ -0,0 +1,89 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 48
+; Schema: 0
+ OpCapability Shader
+ %19 = OpExtInstImport "GLSL.std.450"
+ 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_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %insertBits_3c7ba5 "insertBits_3c7ba5"
+ 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 %v2uint %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %25 = OpTypeFunction %void
+ %30 = OpConstantNull %v2uint
+ %uint_1 = OpConstant %uint 1
+%_ptr_Function_v2uint = OpTypePointer Function %v2uint
+ %34 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_insert_bits = OpFunction %v2uint None %9
+ %v = OpFunctionParameter %v2uint
+ %n = OpFunctionParameter %v2uint
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %17 = OpLabel
+ %18 = OpExtInst %uint %19 UMin %offset %uint_32
+ %22 = OpIAdd %uint %18 %count
+ %21 = OpExtInst %uint %19 UMin %uint_32 %22
+ %24 = OpISub %uint %21 %18
+ %23 = OpBitFieldInsert %v2uint %v %n %18 %24
+ OpReturnValue %23
+ OpFunctionEnd
+%insertBits_3c7ba5 = OpFunction %void None %25
+ %28 = OpLabel
+ %res = OpVariable %_ptr_Function_v2uint Function %30
+ %29 = OpFunctionCall %v2uint %tint_insert_bits %30 %30 %uint_1 %uint_1
+ OpStore %res %29
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %34
+ %36 = OpLabel
+ %37 = OpFunctionCall %void %insertBits_3c7ba5
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %25
+ %39 = OpLabel
+ %40 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %40
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %25
+ %43 = OpLabel
+ %44 = OpFunctionCall %void %insertBits_3c7ba5
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %25
+ %46 = OpLabel
+ %47 = OpFunctionCall %void %insertBits_3c7ba5
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.wgsl b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.wgsl
new file mode 100644
index 0000000..eee06b5
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/3c7ba5.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn insertBits_3c7ba5() {
+ var res : vec2<u32> = insertBits(vec2<u32>(), vec2<u32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_3c7ba5();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_3c7ba5();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_3c7ba5();
+}
diff --git a/test/tint/builtins/gen/insertBits/428b0b.wgsl b/test/tint/builtins/gen/insertBits/428b0b.wgsl
new file mode 100644
index 0000000..e85f914
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/428b0b.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 insertBits(vec<3, i32>, vec<3, i32>, u32, u32) -> vec<3, i32>
+fn insertBits_428b0b() {
+ var res: vec3<i32> = insertBits(vec3<i32>(), vec3<i32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_428b0b();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_428b0b();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_428b0b();
+}
diff --git a/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.glsl b/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.glsl
new file mode 100644
index 0000000..58ccf36
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.glsl
@@ -0,0 +1,66 @@
+#version 310 es
+
+ivec3 tint_insert_bits(ivec3 v, ivec3 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_428b0b() {
+ ivec3 res = tint_insert_bits(ivec3(0, 0, 0), ivec3(0, 0, 0), 1u, 1u);
+}
+
+vec4 vertex_main() {
+ insertBits_428b0b();
+ 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_insert_bits(ivec3 v, ivec3 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_428b0b() {
+ ivec3 res = tint_insert_bits(ivec3(0, 0, 0), ivec3(0, 0, 0), 1u, 1u);
+}
+
+void fragment_main() {
+ insertBits_428b0b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+ivec3 tint_insert_bits(ivec3 v, ivec3 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_428b0b() {
+ ivec3 res = tint_insert_bits(ivec3(0, 0, 0), ivec3(0, 0, 0), 1u, 1u);
+}
+
+void compute_main() {
+ insertBits_428b0b();
+}
+
+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/insertBits/428b0b.wgsl.expected.hlsl b/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.hlsl
new file mode 100644
index 0000000..5d92f4b
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.hlsl
@@ -0,0 +1,37 @@
+int3 tint_insert_bits(int3 v, int3 n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << uint3((s).xxx)) & int3((int(mask)).xxx)) | (v & int3((int(~(mask))).xxx)));
+}
+
+void insertBits_428b0b() {
+ int3 res = tint_insert_bits(int3(0, 0, 0), int3(0, 0, 0), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ insertBits_428b0b();
+ 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() {
+ insertBits_428b0b();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ insertBits_428b0b();
+ return;
+}
diff --git a/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.msl b/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.msl
new file mode 100644
index 0000000..41ff998
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.msl
@@ -0,0 +1,39 @@
+#include <metal_stdlib>
+
+using namespace metal;
+int3 tint_insert_bits(int3 v, int3 n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void insertBits_428b0b() {
+ int3 res = tint_insert_bits(int3(), int3(), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ insertBits_428b0b();
+ 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() {
+ insertBits_428b0b();
+ return;
+}
+
+kernel void compute_main() {
+ insertBits_428b0b();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.spvasm b/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.spvasm
new file mode 100644
index 0000000..14ffcb4
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 49
+; Schema: 0
+ OpCapability Shader
+ %20 = OpExtInstImport "GLSL.std.450"
+ 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_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %insertBits_428b0b "insertBits_428b0b"
+ 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
+ %uint = OpTypeInt 32 0
+ %9 = OpTypeFunction %v3int %v3int %v3int %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %26 = OpTypeFunction %void
+ %31 = OpConstantNull %v3int
+ %uint_1 = OpConstant %uint 1
+%_ptr_Function_v3int = OpTypePointer Function %v3int
+ %35 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_insert_bits = OpFunction %v3int None %9
+ %v = OpFunctionParameter %v3int
+ %n = OpFunctionParameter %v3int
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %18 = OpLabel
+ %19 = OpExtInst %uint %20 UMin %offset %uint_32
+ %23 = OpIAdd %uint %19 %count
+ %22 = OpExtInst %uint %20 UMin %uint_32 %23
+ %25 = OpISub %uint %22 %19
+ %24 = OpBitFieldInsert %v3int %v %n %19 %25
+ OpReturnValue %24
+ OpFunctionEnd
+%insertBits_428b0b = OpFunction %void None %26
+ %29 = OpLabel
+ %res = OpVariable %_ptr_Function_v3int Function %31
+ %30 = OpFunctionCall %v3int %tint_insert_bits %31 %31 %uint_1 %uint_1
+ OpStore %res %30
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %35
+ %37 = OpLabel
+ %38 = OpFunctionCall %void %insertBits_428b0b
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %26
+ %40 = OpLabel
+ %41 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %41
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %26
+ %44 = OpLabel
+ %45 = OpFunctionCall %void %insertBits_428b0b
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %26
+ %47 = OpLabel
+ %48 = OpFunctionCall %void %insertBits_428b0b
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.wgsl b/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.wgsl
new file mode 100644
index 0000000..58e0a5a
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/428b0b.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn insertBits_428b0b() {
+ var res : vec3<i32> = insertBits(vec3<i32>(), vec3<i32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_428b0b();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_428b0b();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_428b0b();
+}
diff --git a/test/tint/builtins/gen/insertBits/51ede1.wgsl b/test/tint/builtins/gen/insertBits/51ede1.wgsl
new file mode 100644
index 0000000..eee6f01
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/51ede1.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 insertBits(vec<4, u32>, vec<4, u32>, u32, u32) -> vec<4, u32>
+fn insertBits_51ede1() {
+ var res: vec4<u32> = insertBits(vec4<u32>(), vec4<u32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_51ede1();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_51ede1();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_51ede1();
+}
diff --git a/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.glsl b/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.glsl
new file mode 100644
index 0000000..a2a5b07
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.glsl
@@ -0,0 +1,66 @@
+#version 310 es
+
+uvec4 tint_insert_bits(uvec4 v, uvec4 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_51ede1() {
+ uvec4 res = tint_insert_bits(uvec4(0u, 0u, 0u, 0u), uvec4(0u, 0u, 0u, 0u), 1u, 1u);
+}
+
+vec4 vertex_main() {
+ insertBits_51ede1();
+ 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_insert_bits(uvec4 v, uvec4 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_51ede1() {
+ uvec4 res = tint_insert_bits(uvec4(0u, 0u, 0u, 0u), uvec4(0u, 0u, 0u, 0u), 1u, 1u);
+}
+
+void fragment_main() {
+ insertBits_51ede1();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+uvec4 tint_insert_bits(uvec4 v, uvec4 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_51ede1() {
+ uvec4 res = tint_insert_bits(uvec4(0u, 0u, 0u, 0u), uvec4(0u, 0u, 0u, 0u), 1u, 1u);
+}
+
+void compute_main() {
+ insertBits_51ede1();
+}
+
+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/insertBits/51ede1.wgsl.expected.hlsl b/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.hlsl
new file mode 100644
index 0000000..b6c6bec
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.hlsl
@@ -0,0 +1,37 @@
+uint4 tint_insert_bits(uint4 v, uint4 n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << uint4((s).xxxx)) & uint4((mask).xxxx)) | (v & uint4((~(mask)).xxxx)));
+}
+
+void insertBits_51ede1() {
+ uint4 res = tint_insert_bits(uint4(0u, 0u, 0u, 0u), uint4(0u, 0u, 0u, 0u), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ insertBits_51ede1();
+ 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() {
+ insertBits_51ede1();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ insertBits_51ede1();
+ return;
+}
diff --git a/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.msl b/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.msl
new file mode 100644
index 0000000..6aebbe5
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.msl
@@ -0,0 +1,39 @@
+#include <metal_stdlib>
+
+using namespace metal;
+uint4 tint_insert_bits(uint4 v, uint4 n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void insertBits_51ede1() {
+ uint4 res = tint_insert_bits(uint4(), uint4(), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ insertBits_51ede1();
+ 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() {
+ insertBits_51ede1();
+ return;
+}
+
+kernel void compute_main() {
+ insertBits_51ede1();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.spvasm b/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.spvasm
new file mode 100644
index 0000000..b5e9f62
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.spvasm
@@ -0,0 +1,89 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 48
+; Schema: 0
+ OpCapability Shader
+ %19 = OpExtInstImport "GLSL.std.450"
+ 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_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %insertBits_51ede1 "insertBits_51ede1"
+ 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 %v4uint %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %25 = OpTypeFunction %void
+ %30 = OpConstantNull %v4uint
+ %uint_1 = OpConstant %uint 1
+%_ptr_Function_v4uint = OpTypePointer Function %v4uint
+ %34 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_insert_bits = OpFunction %v4uint None %9
+ %v = OpFunctionParameter %v4uint
+ %n = OpFunctionParameter %v4uint
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %17 = OpLabel
+ %18 = OpExtInst %uint %19 UMin %offset %uint_32
+ %22 = OpIAdd %uint %18 %count
+ %21 = OpExtInst %uint %19 UMin %uint_32 %22
+ %24 = OpISub %uint %21 %18
+ %23 = OpBitFieldInsert %v4uint %v %n %18 %24
+ OpReturnValue %23
+ OpFunctionEnd
+%insertBits_51ede1 = OpFunction %void None %25
+ %28 = OpLabel
+ %res = OpVariable %_ptr_Function_v4uint Function %30
+ %29 = OpFunctionCall %v4uint %tint_insert_bits %30 %30 %uint_1 %uint_1
+ OpStore %res %29
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %34
+ %36 = OpLabel
+ %37 = OpFunctionCall %void %insertBits_51ede1
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %25
+ %39 = OpLabel
+ %40 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %40
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %25
+ %43 = OpLabel
+ %44 = OpFunctionCall %void %insertBits_51ede1
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %25
+ %46 = OpLabel
+ %47 = OpFunctionCall %void %insertBits_51ede1
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.wgsl b/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.wgsl
new file mode 100644
index 0000000..0b7461b
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/51ede1.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn insertBits_51ede1() {
+ var res : vec4<u32> = insertBits(vec4<u32>(), vec4<u32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_51ede1();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_51ede1();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_51ede1();
+}
diff --git a/test/tint/builtins/gen/insertBits/65468b.wgsl b/test/tint/builtins/gen/insertBits/65468b.wgsl
new file mode 100644
index 0000000..8c21d58
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/65468b.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 insertBits(i32, i32, u32, u32) -> i32
+fn insertBits_65468b() {
+ var res: i32 = insertBits(1, 1, 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_65468b();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_65468b();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_65468b();
+}
diff --git a/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.glsl b/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.glsl
new file mode 100644
index 0000000..5db1157
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.glsl
@@ -0,0 +1,66 @@
+#version 310 es
+
+int tint_insert_bits(int v, int n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_65468b() {
+ int res = tint_insert_bits(1, 1, 1u, 1u);
+}
+
+vec4 vertex_main() {
+ insertBits_65468b();
+ 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_insert_bits(int v, int n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_65468b() {
+ int res = tint_insert_bits(1, 1, 1u, 1u);
+}
+
+void fragment_main() {
+ insertBits_65468b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+int tint_insert_bits(int v, int n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_65468b() {
+ int res = tint_insert_bits(1, 1, 1u, 1u);
+}
+
+void compute_main() {
+ insertBits_65468b();
+}
+
+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/insertBits/65468b.wgsl.expected.hlsl b/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.hlsl
new file mode 100644
index 0000000..c285500
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.hlsl
@@ -0,0 +1,37 @@
+int tint_insert_bits(int v, int n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << s) & int(mask)) | (v & int(~(mask))));
+}
+
+void insertBits_65468b() {
+ int res = tint_insert_bits(1, 1, 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ insertBits_65468b();
+ 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() {
+ insertBits_65468b();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ insertBits_65468b();
+ return;
+}
diff --git a/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.msl b/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.msl
new file mode 100644
index 0000000..d27a671
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.msl
@@ -0,0 +1,39 @@
+#include <metal_stdlib>
+
+using namespace metal;
+int tint_insert_bits(int v, int n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void insertBits_65468b() {
+ int res = tint_insert_bits(1, 1, 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ insertBits_65468b();
+ 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() {
+ insertBits_65468b();
+ return;
+}
+
+kernel void compute_main() {
+ insertBits_65468b();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.spvasm b/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.spvasm
new file mode 100644
index 0000000..411e289
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 49
+; Schema: 0
+ OpCapability Shader
+ %19 = OpExtInstImport "GLSL.std.450"
+ 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_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %insertBits_65468b "insertBits_65468b"
+ 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
+ %uint = OpTypeInt 32 0
+ %9 = OpTypeFunction %int %int %int %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %25 = OpTypeFunction %void
+ %int_1 = OpConstant %int 1
+ %uint_1 = OpConstant %uint 1
+%_ptr_Function_int = OpTypePointer Function %int
+ %34 = OpConstantNull %int
+ %35 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_insert_bits = OpFunction %int None %9
+ %v = OpFunctionParameter %int
+ %n = OpFunctionParameter %int
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %17 = OpLabel
+ %18 = OpExtInst %uint %19 UMin %offset %uint_32
+ %22 = OpIAdd %uint %18 %count
+ %21 = OpExtInst %uint %19 UMin %uint_32 %22
+ %24 = OpISub %uint %21 %18
+ %23 = OpBitFieldInsert %int %v %n %18 %24
+ OpReturnValue %23
+ OpFunctionEnd
+%insertBits_65468b = OpFunction %void None %25
+ %28 = OpLabel
+ %res = OpVariable %_ptr_Function_int Function %34
+ %29 = OpFunctionCall %int %tint_insert_bits %int_1 %int_1 %uint_1 %uint_1
+ OpStore %res %29
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %35
+ %37 = OpLabel
+ %38 = OpFunctionCall %void %insertBits_65468b
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %25
+ %40 = OpLabel
+ %41 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %41
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %25
+ %44 = OpLabel
+ %45 = OpFunctionCall %void %insertBits_65468b
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %25
+ %47 = OpLabel
+ %48 = OpFunctionCall %void %insertBits_65468b
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.wgsl b/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.wgsl
new file mode 100644
index 0000000..18c5ff8
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/65468b.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn insertBits_65468b() {
+ var res : i32 = insertBits(1, 1, 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_65468b();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_65468b();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_65468b();
+}
diff --git a/test/tint/builtins/gen/insertBits/87826b.wgsl b/test/tint/builtins/gen/insertBits/87826b.wgsl
new file mode 100644
index 0000000..dce9794
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/87826b.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 insertBits(vec<3, u32>, vec<3, u32>, u32, u32) -> vec<3, u32>
+fn insertBits_87826b() {
+ var res: vec3<u32> = insertBits(vec3<u32>(), vec3<u32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_87826b();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_87826b();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_87826b();
+}
diff --git a/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.glsl b/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.glsl
new file mode 100644
index 0000000..dc028b2
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.glsl
@@ -0,0 +1,66 @@
+#version 310 es
+
+uvec3 tint_insert_bits(uvec3 v, uvec3 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_87826b() {
+ uvec3 res = tint_insert_bits(uvec3(0u, 0u, 0u), uvec3(0u, 0u, 0u), 1u, 1u);
+}
+
+vec4 vertex_main() {
+ insertBits_87826b();
+ 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_insert_bits(uvec3 v, uvec3 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_87826b() {
+ uvec3 res = tint_insert_bits(uvec3(0u, 0u, 0u), uvec3(0u, 0u, 0u), 1u, 1u);
+}
+
+void fragment_main() {
+ insertBits_87826b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+uvec3 tint_insert_bits(uvec3 v, uvec3 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_87826b() {
+ uvec3 res = tint_insert_bits(uvec3(0u, 0u, 0u), uvec3(0u, 0u, 0u), 1u, 1u);
+}
+
+void compute_main() {
+ insertBits_87826b();
+}
+
+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/insertBits/87826b.wgsl.expected.hlsl b/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.hlsl
new file mode 100644
index 0000000..e43ffec
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.hlsl
@@ -0,0 +1,37 @@
+uint3 tint_insert_bits(uint3 v, uint3 n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << uint3((s).xxx)) & uint3((mask).xxx)) | (v & uint3((~(mask)).xxx)));
+}
+
+void insertBits_87826b() {
+ uint3 res = tint_insert_bits(uint3(0u, 0u, 0u), uint3(0u, 0u, 0u), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ insertBits_87826b();
+ 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() {
+ insertBits_87826b();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ insertBits_87826b();
+ return;
+}
diff --git a/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.msl b/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.msl
new file mode 100644
index 0000000..f2533b0
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.msl
@@ -0,0 +1,39 @@
+#include <metal_stdlib>
+
+using namespace metal;
+uint3 tint_insert_bits(uint3 v, uint3 n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void insertBits_87826b() {
+ uint3 res = tint_insert_bits(uint3(), uint3(), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ insertBits_87826b();
+ 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() {
+ insertBits_87826b();
+ return;
+}
+
+kernel void compute_main() {
+ insertBits_87826b();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.spvasm b/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.spvasm
new file mode 100644
index 0000000..cf3a5cb
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.spvasm
@@ -0,0 +1,89 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 48
+; Schema: 0
+ OpCapability Shader
+ %19 = OpExtInstImport "GLSL.std.450"
+ 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_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %insertBits_87826b "insertBits_87826b"
+ 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 %v3uint %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %25 = OpTypeFunction %void
+ %30 = OpConstantNull %v3uint
+ %uint_1 = OpConstant %uint 1
+%_ptr_Function_v3uint = OpTypePointer Function %v3uint
+ %34 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_insert_bits = OpFunction %v3uint None %9
+ %v = OpFunctionParameter %v3uint
+ %n = OpFunctionParameter %v3uint
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %17 = OpLabel
+ %18 = OpExtInst %uint %19 UMin %offset %uint_32
+ %22 = OpIAdd %uint %18 %count
+ %21 = OpExtInst %uint %19 UMin %uint_32 %22
+ %24 = OpISub %uint %21 %18
+ %23 = OpBitFieldInsert %v3uint %v %n %18 %24
+ OpReturnValue %23
+ OpFunctionEnd
+%insertBits_87826b = OpFunction %void None %25
+ %28 = OpLabel
+ %res = OpVariable %_ptr_Function_v3uint Function %30
+ %29 = OpFunctionCall %v3uint %tint_insert_bits %30 %30 %uint_1 %uint_1
+ OpStore %res %29
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %34
+ %36 = OpLabel
+ %37 = OpFunctionCall %void %insertBits_87826b
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %25
+ %39 = OpLabel
+ %40 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %40
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %25
+ %43 = OpLabel
+ %44 = OpFunctionCall %void %insertBits_87826b
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %25
+ %46 = OpLabel
+ %47 = OpFunctionCall %void %insertBits_87826b
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.wgsl b/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.wgsl
new file mode 100644
index 0000000..e71306f
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/87826b.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn insertBits_87826b() {
+ var res : vec3<u32> = insertBits(vec3<u32>(), vec3<u32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_87826b();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_87826b();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_87826b();
+}
diff --git a/test/tint/builtins/gen/insertBits/d86978.wgsl b/test/tint/builtins/gen/insertBits/d86978.wgsl
new file mode 100644
index 0000000..f6f27c8
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/d86978.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 insertBits(vec<4, i32>, vec<4, i32>, u32, u32) -> vec<4, i32>
+fn insertBits_d86978() {
+ var res: vec4<i32> = insertBits(vec4<i32>(), vec4<i32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_d86978();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_d86978();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_d86978();
+}
diff --git a/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.glsl b/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.glsl
new file mode 100644
index 0000000..e97d858
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.glsl
@@ -0,0 +1,66 @@
+#version 310 es
+
+ivec4 tint_insert_bits(ivec4 v, ivec4 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_d86978() {
+ ivec4 res = tint_insert_bits(ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), 1u, 1u);
+}
+
+vec4 vertex_main() {
+ insertBits_d86978();
+ 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_insert_bits(ivec4 v, ivec4 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_d86978() {
+ ivec4 res = tint_insert_bits(ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), 1u, 1u);
+}
+
+void fragment_main() {
+ insertBits_d86978();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+ivec4 tint_insert_bits(ivec4 v, ivec4 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_d86978() {
+ ivec4 res = tint_insert_bits(ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), 1u, 1u);
+}
+
+void compute_main() {
+ insertBits_d86978();
+}
+
+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/insertBits/d86978.wgsl.expected.hlsl b/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.hlsl
new file mode 100644
index 0000000..8f23490
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.hlsl
@@ -0,0 +1,37 @@
+int4 tint_insert_bits(int4 v, int4 n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << uint4((s).xxxx)) & int4((int(mask)).xxxx)) | (v & int4((int(~(mask))).xxxx)));
+}
+
+void insertBits_d86978() {
+ int4 res = tint_insert_bits(int4(0, 0, 0, 0), int4(0, 0, 0, 0), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ insertBits_d86978();
+ 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() {
+ insertBits_d86978();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ insertBits_d86978();
+ return;
+}
diff --git a/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.msl b/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.msl
new file mode 100644
index 0000000..fd49427
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.msl
@@ -0,0 +1,39 @@
+#include <metal_stdlib>
+
+using namespace metal;
+int4 tint_insert_bits(int4 v, int4 n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void insertBits_d86978() {
+ int4 res = tint_insert_bits(int4(), int4(), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ insertBits_d86978();
+ 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() {
+ insertBits_d86978();
+ return;
+}
+
+kernel void compute_main() {
+ insertBits_d86978();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.spvasm b/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.spvasm
new file mode 100644
index 0000000..e7cf507
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 49
+; Schema: 0
+ OpCapability Shader
+ %20 = OpExtInstImport "GLSL.std.450"
+ 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_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %insertBits_d86978 "insertBits_d86978"
+ 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
+ %uint = OpTypeInt 32 0
+ %9 = OpTypeFunction %v4int %v4int %v4int %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %26 = OpTypeFunction %void
+ %31 = OpConstantNull %v4int
+ %uint_1 = OpConstant %uint 1
+%_ptr_Function_v4int = OpTypePointer Function %v4int
+ %35 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_insert_bits = OpFunction %v4int None %9
+ %v = OpFunctionParameter %v4int
+ %n = OpFunctionParameter %v4int
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %18 = OpLabel
+ %19 = OpExtInst %uint %20 UMin %offset %uint_32
+ %23 = OpIAdd %uint %19 %count
+ %22 = OpExtInst %uint %20 UMin %uint_32 %23
+ %25 = OpISub %uint %22 %19
+ %24 = OpBitFieldInsert %v4int %v %n %19 %25
+ OpReturnValue %24
+ OpFunctionEnd
+%insertBits_d86978 = OpFunction %void None %26
+ %29 = OpLabel
+ %res = OpVariable %_ptr_Function_v4int Function %31
+ %30 = OpFunctionCall %v4int %tint_insert_bits %31 %31 %uint_1 %uint_1
+ OpStore %res %30
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %35
+ %37 = OpLabel
+ %38 = OpFunctionCall %void %insertBits_d86978
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %26
+ %40 = OpLabel
+ %41 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %41
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %26
+ %44 = OpLabel
+ %45 = OpFunctionCall %void %insertBits_d86978
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %26
+ %47 = OpLabel
+ %48 = OpFunctionCall %void %insertBits_d86978
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.wgsl b/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.wgsl
new file mode 100644
index 0000000..531dc5f
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/d86978.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn insertBits_d86978() {
+ var res : vec4<i32> = insertBits(vec4<i32>(), vec4<i32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_d86978();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_d86978();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_d86978();
+}
diff --git a/test/tint/builtins/gen/insertBits/e3e3a2.wgsl b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl
new file mode 100644
index 0000000..61635d7
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/e3e3a2.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 insertBits(u32, u32, u32, u32) -> u32
+fn insertBits_e3e3a2() {
+ var res: u32 = insertBits(1u, 1u, 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_e3e3a2();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_e3e3a2();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_e3e3a2();
+}
diff --git a/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.glsl b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.glsl
new file mode 100644
index 0000000..cbc976b
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.glsl
@@ -0,0 +1,66 @@
+#version 310 es
+
+uint tint_insert_bits(uint v, uint n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_e3e3a2() {
+ uint res = tint_insert_bits(1u, 1u, 1u, 1u);
+}
+
+vec4 vertex_main() {
+ insertBits_e3e3a2();
+ 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_insert_bits(uint v, uint n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_e3e3a2() {
+ uint res = tint_insert_bits(1u, 1u, 1u, 1u);
+}
+
+void fragment_main() {
+ insertBits_e3e3a2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+uint tint_insert_bits(uint v, uint n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_e3e3a2() {
+ uint res = tint_insert_bits(1u, 1u, 1u, 1u);
+}
+
+void compute_main() {
+ insertBits_e3e3a2();
+}
+
+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/insertBits/e3e3a2.wgsl.expected.hlsl b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.hlsl
new file mode 100644
index 0000000..4f226ff
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.hlsl
@@ -0,0 +1,37 @@
+uint tint_insert_bits(uint v, uint n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << s) & mask) | (v & ~(mask)));
+}
+
+void insertBits_e3e3a2() {
+ uint res = tint_insert_bits(1u, 1u, 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ insertBits_e3e3a2();
+ 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() {
+ insertBits_e3e3a2();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ insertBits_e3e3a2();
+ return;
+}
diff --git a/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.msl b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.msl
new file mode 100644
index 0000000..ebe78e8
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.msl
@@ -0,0 +1,39 @@
+#include <metal_stdlib>
+
+using namespace metal;
+uint tint_insert_bits(uint v, uint n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void insertBits_e3e3a2() {
+ uint res = tint_insert_bits(1u, 1u, 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ insertBits_e3e3a2();
+ 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() {
+ insertBits_e3e3a2();
+ return;
+}
+
+kernel void compute_main() {
+ insertBits_e3e3a2();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.spvasm b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.spvasm
new file mode 100644
index 0000000..bde4e39
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.spvasm
@@ -0,0 +1,88 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 47
+; Schema: 0
+ OpCapability Shader
+ %18 = OpExtInstImport "GLSL.std.450"
+ 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_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %insertBits_e3e3a2 "insertBits_e3e3a2"
+ 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 %uint %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %24 = OpTypeFunction %void
+ %uint_1 = OpConstant %uint 1
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %32 = OpConstantNull %uint
+ %33 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_insert_bits = OpFunction %uint None %9
+ %v = OpFunctionParameter %uint
+ %n = OpFunctionParameter %uint
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %16 = OpLabel
+ %17 = OpExtInst %uint %18 UMin %offset %uint_32
+ %21 = OpIAdd %uint %17 %count
+ %20 = OpExtInst %uint %18 UMin %uint_32 %21
+ %23 = OpISub %uint %20 %17
+ %22 = OpBitFieldInsert %uint %v %n %17 %23
+ OpReturnValue %22
+ OpFunctionEnd
+%insertBits_e3e3a2 = OpFunction %void None %24
+ %27 = OpLabel
+ %res = OpVariable %_ptr_Function_uint Function %32
+ %28 = OpFunctionCall %uint %tint_insert_bits %uint_1 %uint_1 %uint_1 %uint_1
+ OpStore %res %28
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %33
+ %35 = OpLabel
+ %36 = OpFunctionCall %void %insertBits_e3e3a2
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %24
+ %38 = OpLabel
+ %39 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %39
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %24
+ %42 = OpLabel
+ %43 = OpFunctionCall %void %insertBits_e3e3a2
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %24
+ %45 = OpLabel
+ %46 = OpFunctionCall %void %insertBits_e3e3a2
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.wgsl b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.wgsl
new file mode 100644
index 0000000..b6abcbc
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/e3e3a2.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn insertBits_e3e3a2() {
+ var res : u32 = insertBits(1u, 1u, 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_e3e3a2();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_e3e3a2();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_e3e3a2();
+}
diff --git a/test/tint/builtins/gen/insertBits/fe6ba6.wgsl b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl
new file mode 100644
index 0000000..45ffca7
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/fe6ba6.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 insertBits(vec<2, i32>, vec<2, i32>, u32, u32) -> vec<2, i32>
+fn insertBits_fe6ba6() {
+ var res: vec2<i32> = insertBits(vec2<i32>(), vec2<i32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_fe6ba6();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_fe6ba6();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_fe6ba6();
+}
diff --git a/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.glsl b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.glsl
new file mode 100644
index 0000000..d7433eb
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.glsl
@@ -0,0 +1,66 @@
+#version 310 es
+
+ivec2 tint_insert_bits(ivec2 v, ivec2 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_fe6ba6() {
+ ivec2 res = tint_insert_bits(ivec2(0, 0), ivec2(0, 0), 1u, 1u);
+}
+
+vec4 vertex_main() {
+ insertBits_fe6ba6();
+ 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_insert_bits(ivec2 v, ivec2 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_fe6ba6() {
+ ivec2 res = tint_insert_bits(ivec2(0, 0), ivec2(0, 0), 1u, 1u);
+}
+
+void fragment_main() {
+ insertBits_fe6ba6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+#version 310 es
+
+ivec2 tint_insert_bits(ivec2 v, ivec2 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void insertBits_fe6ba6() {
+ ivec2 res = tint_insert_bits(ivec2(0, 0), ivec2(0, 0), 1u, 1u);
+}
+
+void compute_main() {
+ insertBits_fe6ba6();
+}
+
+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/insertBits/fe6ba6.wgsl.expected.hlsl b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.hlsl
new file mode 100644
index 0000000..20235d6
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.hlsl
@@ -0,0 +1,37 @@
+int2 tint_insert_bits(int2 v, int2 n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << uint2((s).xx)) & int2((int(mask)).xx)) | (v & int2((int(~(mask))).xx)));
+}
+
+void insertBits_fe6ba6() {
+ int2 res = tint_insert_bits(int2(0, 0), int2(0, 0), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ insertBits_fe6ba6();
+ 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() {
+ insertBits_fe6ba6();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ insertBits_fe6ba6();
+ return;
+}
diff --git a/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.msl b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.msl
new file mode 100644
index 0000000..ced3cb3
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.msl
@@ -0,0 +1,39 @@
+#include <metal_stdlib>
+
+using namespace metal;
+int2 tint_insert_bits(int2 v, int2 n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void insertBits_fe6ba6() {
+ int2 res = tint_insert_bits(int2(), int2(), 1u, 1u);
+}
+
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+float4 vertex_main_inner() {
+ insertBits_fe6ba6();
+ 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() {
+ insertBits_fe6ba6();
+ return;
+}
+
+kernel void compute_main() {
+ insertBits_fe6ba6();
+ return;
+}
+
diff --git a/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.spvasm b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.spvasm
new file mode 100644
index 0000000..b5e7271
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 49
+; Schema: 0
+ OpCapability Shader
+ %20 = OpExtInstImport "GLSL.std.450"
+ 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_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %insertBits_fe6ba6 "insertBits_fe6ba6"
+ 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
+ %uint = OpTypeInt 32 0
+ %9 = OpTypeFunction %v2int %v2int %v2int %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %26 = OpTypeFunction %void
+ %31 = OpConstantNull %v2int
+ %uint_1 = OpConstant %uint 1
+%_ptr_Function_v2int = OpTypePointer Function %v2int
+ %35 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%tint_insert_bits = OpFunction %v2int None %9
+ %v = OpFunctionParameter %v2int
+ %n = OpFunctionParameter %v2int
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %18 = OpLabel
+ %19 = OpExtInst %uint %20 UMin %offset %uint_32
+ %23 = OpIAdd %uint %19 %count
+ %22 = OpExtInst %uint %20 UMin %uint_32 %23
+ %25 = OpISub %uint %22 %19
+ %24 = OpBitFieldInsert %v2int %v %n %19 %25
+ OpReturnValue %24
+ OpFunctionEnd
+%insertBits_fe6ba6 = OpFunction %void None %26
+ %29 = OpLabel
+ %res = OpVariable %_ptr_Function_v2int Function %31
+ %30 = OpFunctionCall %v2int %tint_insert_bits %31 %31 %uint_1 %uint_1
+ OpStore %res %30
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %35
+ %37 = OpLabel
+ %38 = OpFunctionCall %void %insertBits_fe6ba6
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %26
+ %40 = OpLabel
+ %41 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %41
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %26
+ %44 = OpLabel
+ %45 = OpFunctionCall %void %insertBits_fe6ba6
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %26
+ %47 = OpLabel
+ %48 = OpFunctionCall %void %insertBits_fe6ba6
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.wgsl b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.wgsl
new file mode 100644
index 0000000..3e88486
--- /dev/null
+++ b/test/tint/builtins/gen/insertBits/fe6ba6.wgsl.expected.wgsl
@@ -0,0 +1,19 @@
+fn insertBits_fe6ba6() {
+ var res : vec2<i32> = insertBits(vec2<i32>(), vec2<i32>(), 1u, 1u);
+}
+
+@stage(vertex)
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ insertBits_fe6ba6();
+ return vec4<f32>();
+}
+
+@stage(fragment)
+fn fragment_main() {
+ insertBits_fe6ba6();
+}
+
+@stage(compute) @workgroup_size(1)
+fn compute_main() {
+ insertBits_fe6ba6();
+}
diff --git a/test/tint/builtins/insertBits/scalar/i32.spvasm b/test/tint/builtins/insertBits/scalar/i32.spvasm
new file mode 100644
index 0000000..381607f
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/i32.spvasm
@@ -0,0 +1,33 @@
+ OpCapability Shader
+ %16 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %f "f"
+ OpExecutionMode %f LocalSize 1 1 1
+ OpName %f "f"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ %void = OpTypeVoid
+ %1 = OpTypeFunction %void
+ %int = OpTypeInt 32 1
+ %_ptr_Function_int = OpTypePointer Function %int
+ %8 = OpConstantNull %int
+ %uint = OpTypeInt 32 0
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %13 = OpConstantNull %uint
+ %uint_31 = OpConstant %uint 31
+ %uint_32 = OpConstant %uint 32
+ %f = OpFunction %void None %1
+ %4 = OpLabel
+ %v = OpVariable %_ptr_Function_int Function %8
+ %n = OpVariable %_ptr_Function_int Function %8
+ %offset = OpVariable %_ptr_Function_uint Function %13
+ %count = OpVariable %_ptr_Function_uint Function %13
+ %17 = OpLoad %int %v
+ %18 = OpLoad %int %n
+ %19 = OpLoad %uint %offset
+ %20 = OpLoad %uint %count
+ %15 = OpBitFieldInsert %int %17 %18 %19 %20
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.glsl b/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.glsl
new file mode 100644
index 0000000..049dbe1
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.glsl
@@ -0,0 +1,26 @@
+#version 310 es
+
+int tint_insert_bits(int v, int n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void f_1() {
+ int v = 0;
+ int n = 0;
+ uint offset_1 = 0u;
+ uint count = 0u;
+ int x_15 = tint_insert_bits(v, n, offset_1, count);
+ return;
+}
+
+void f() {
+ f_1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ f();
+ return;
+}
diff --git a/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.hlsl b/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.hlsl
new file mode 100644
index 0000000..8819221
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.hlsl
@@ -0,0 +1,21 @@
+int tint_insert_bits(int v, int n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << s) & int(mask)) | (v & int(~(mask))));
+}
+
+void f_1() {
+ int v = 0;
+ int n = 0;
+ uint offset_1 = 0u;
+ uint count = 0u;
+ const int x_15 = tint_insert_bits(v, n, offset_1, count);
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void f() {
+ f_1();
+ return;
+}
diff --git a/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.msl b/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.msl
new file mode 100644
index 0000000..7928f3d
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.msl
@@ -0,0 +1,27 @@
+#include <metal_stdlib>
+
+using namespace metal;
+int tint_insert_bits(int v, int n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void f_1() {
+ int v = 0;
+ int n = 0;
+ uint offset_1 = 0u;
+ uint count = 0u;
+ int const x_17 = v;
+ int const x_18 = n;
+ uint const x_19 = offset_1;
+ uint const x_20 = count;
+ int const x_15 = tint_insert_bits(x_17, x_18, x_19, x_20);
+ return;
+}
+
+kernel void f() {
+ f_1();
+ return;
+}
+
diff --git a/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.spvasm b/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.spvasm
new file mode 100644
index 0000000..b8aa1b6
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.spvasm
@@ -0,0 +1,68 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 39
+; Schema: 0
+ OpCapability Shader
+ %11 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %f "f"
+ OpExecutionMode %f LocalSize 1 1 1
+ OpName %tint_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %f_1 "f_1"
+ OpName %v_0 "v"
+ OpName %n_0 "n"
+ OpName %offset_1 "offset_1"
+ OpName %count_0 "count"
+ OpName %f "f"
+ %int = OpTypeInt 32 1
+ %uint = OpTypeInt 32 0
+ %1 = OpTypeFunction %int %int %int %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %17 = OpTypeFunction %void
+ %int_0 = OpConstant %int 0
+%_ptr_Function_int = OpTypePointer Function %int
+ %24 = OpConstantNull %int
+ %uint_0 = OpConstant %uint 0
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %29 = OpConstantNull %uint
+%tint_insert_bits = OpFunction %int None %1
+ %v = OpFunctionParameter %int
+ %n = OpFunctionParameter %int
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %9 = OpLabel
+ %10 = OpExtInst %uint %11 UMin %offset %uint_32
+ %14 = OpIAdd %uint %10 %count
+ %13 = OpExtInst %uint %11 UMin %uint_32 %14
+ %16 = OpISub %uint %13 %10
+ %15 = OpBitFieldInsert %int %v %n %10 %16
+ OpReturnValue %15
+ OpFunctionEnd
+ %f_1 = OpFunction %void None %17
+ %20 = OpLabel
+ %v_0 = OpVariable %_ptr_Function_int Function %24
+ %n_0 = OpVariable %_ptr_Function_int Function %24
+ %offset_1 = OpVariable %_ptr_Function_uint Function %29
+ %count_0 = OpVariable %_ptr_Function_uint Function %29
+ OpStore %v_0 %int_0
+ OpStore %n_0 %int_0
+ OpStore %offset_1 %uint_0
+ OpStore %count_0 %uint_0
+ %31 = OpLoad %int %v_0
+ %32 = OpLoad %int %n_0
+ %33 = OpLoad %uint %offset_1
+ %34 = OpLoad %uint %count_0
+ %35 = OpFunctionCall %int %tint_insert_bits %31 %32 %33 %34
+ OpReturn
+ OpFunctionEnd
+ %f = OpFunction %void None %17
+ %37 = OpLabel
+ %38 = OpFunctionCall %void %f_1
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.wgsl b/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.wgsl
new file mode 100644
index 0000000..65de288
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/i32.spvasm.expected.wgsl
@@ -0,0 +1,17 @@
+fn f_1() {
+ var v : i32 = 0;
+ var n : i32 = 0;
+ var offset_1 : u32 = 0u;
+ var count : u32 = 0u;
+ let x_17 : i32 = v;
+ let x_18 : i32 = n;
+ let x_19 : u32 = offset_1;
+ let x_20 : u32 = count;
+ let x_15 : i32 = insertBits(x_17, x_18, x_19, x_20);
+ return;
+}
+
+@stage(compute) @workgroup_size(1, 1, 1)
+fn f() {
+ f_1();
+}
diff --git a/test/tint/builtins/insertBits/scalar/u32.spvasm b/test/tint/builtins/insertBits/scalar/u32.spvasm
new file mode 100644
index 0000000..46fb5a4
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/u32.spvasm
@@ -0,0 +1,30 @@
+ OpCapability Shader
+ %13 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %f "f"
+ OpExecutionMode %f LocalSize 1 1 1
+ OpName %f "f"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ %void = OpTypeVoid
+ %1 = OpTypeFunction %void
+ %uint = OpTypeInt 32 0
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %8 = OpConstantNull %uint
+ %uint_31 = OpConstant %uint 31
+ %uint_32 = OpConstant %uint 32
+ %f = OpFunction %void None %1
+ %4 = OpLabel
+ %v = OpVariable %_ptr_Function_uint Function %8
+ %n = OpVariable %_ptr_Function_uint Function %8
+ %offset = OpVariable %_ptr_Function_uint Function %8
+ %count = OpVariable %_ptr_Function_uint Function %8
+ %14 = OpLoad %uint %v
+ %15 = OpLoad %uint %n
+ %16 = OpLoad %uint %offset
+ %17 = OpLoad %uint %count
+ %12 = OpBitFieldInsert %uint %14 %15 %16 %17
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.glsl b/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.glsl
new file mode 100644
index 0000000..a69f516
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.glsl
@@ -0,0 +1,26 @@
+#version 310 es
+
+uint tint_insert_bits(uint v, uint n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void f_1() {
+ uint v = 0u;
+ uint n = 0u;
+ uint offset_1 = 0u;
+ uint count = 0u;
+ uint x_12 = tint_insert_bits(v, n, offset_1, count);
+ return;
+}
+
+void f() {
+ f_1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ f();
+ return;
+}
diff --git a/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.hlsl b/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.hlsl
new file mode 100644
index 0000000..3d759c7
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.hlsl
@@ -0,0 +1,21 @@
+uint tint_insert_bits(uint v, uint n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << s) & mask) | (v & ~(mask)));
+}
+
+void f_1() {
+ uint v = 0u;
+ uint n = 0u;
+ uint offset_1 = 0u;
+ uint count = 0u;
+ const uint x_12 = tint_insert_bits(v, n, offset_1, count);
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void f() {
+ f_1();
+ return;
+}
diff --git a/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.msl b/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.msl
new file mode 100644
index 0000000..6acc55d
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.msl
@@ -0,0 +1,27 @@
+#include <metal_stdlib>
+
+using namespace metal;
+uint tint_insert_bits(uint v, uint n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void f_1() {
+ uint v = 0u;
+ uint n = 0u;
+ uint offset_1 = 0u;
+ uint count = 0u;
+ uint const x_14 = v;
+ uint const x_15 = n;
+ uint const x_16 = offset_1;
+ uint const x_17 = count;
+ uint const x_12 = tint_insert_bits(x_14, x_15, x_16, x_17);
+ return;
+}
+
+kernel void f() {
+ f_1();
+ return;
+}
+
diff --git a/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.spvasm b/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.spvasm
new file mode 100644
index 0000000..a44f9da
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.spvasm
@@ -0,0 +1,64 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 35
+; Schema: 0
+ OpCapability Shader
+ %10 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %f "f"
+ OpExecutionMode %f LocalSize 1 1 1
+ OpName %tint_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %f_1 "f_1"
+ OpName %v_0 "v"
+ OpName %n_0 "n"
+ OpName %offset_1 "offset_1"
+ OpName %count_0 "count"
+ OpName %f "f"
+ %uint = OpTypeInt 32 0
+ %1 = OpTypeFunction %uint %uint %uint %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %16 = OpTypeFunction %void
+ %uint_0 = OpConstant %uint 0
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %23 = OpConstantNull %uint
+%tint_insert_bits = OpFunction %uint None %1
+ %v = OpFunctionParameter %uint
+ %n = OpFunctionParameter %uint
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %8 = OpLabel
+ %9 = OpExtInst %uint %10 UMin %offset %uint_32
+ %13 = OpIAdd %uint %9 %count
+ %12 = OpExtInst %uint %10 UMin %uint_32 %13
+ %15 = OpISub %uint %12 %9
+ %14 = OpBitFieldInsert %uint %v %n %9 %15
+ OpReturnValue %14
+ OpFunctionEnd
+ %f_1 = OpFunction %void None %16
+ %19 = OpLabel
+ %v_0 = OpVariable %_ptr_Function_uint Function %23
+ %n_0 = OpVariable %_ptr_Function_uint Function %23
+ %offset_1 = OpVariable %_ptr_Function_uint Function %23
+ %count_0 = OpVariable %_ptr_Function_uint Function %23
+ OpStore %v_0 %uint_0
+ OpStore %n_0 %uint_0
+ OpStore %offset_1 %uint_0
+ OpStore %count_0 %uint_0
+ %27 = OpLoad %uint %v_0
+ %28 = OpLoad %uint %n_0
+ %29 = OpLoad %uint %offset_1
+ %30 = OpLoad %uint %count_0
+ %31 = OpFunctionCall %uint %tint_insert_bits %27 %28 %29 %30
+ OpReturn
+ OpFunctionEnd
+ %f = OpFunction %void None %16
+ %33 = OpLabel
+ %34 = OpFunctionCall %void %f_1
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.wgsl b/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.wgsl
new file mode 100644
index 0000000..aab307f
--- /dev/null
+++ b/test/tint/builtins/insertBits/scalar/u32.spvasm.expected.wgsl
@@ -0,0 +1,17 @@
+fn f_1() {
+ var v : u32 = 0u;
+ var n : u32 = 0u;
+ var offset_1 : u32 = 0u;
+ var count : u32 = 0u;
+ let x_14 : u32 = v;
+ let x_15 : u32 = n;
+ let x_16 : u32 = offset_1;
+ let x_17 : u32 = count;
+ let x_12 : u32 = insertBits(x_14, x_15, x_16, x_17);
+ return;
+}
+
+@stage(compute) @workgroup_size(1, 1, 1)
+fn f() {
+ f_1();
+}
diff --git a/test/tint/builtins/insertBits/vec3/i32.spvasm b/test/tint/builtins/insertBits/vec3/i32.spvasm
new file mode 100644
index 0000000..04fd309
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/i32.spvasm
@@ -0,0 +1,34 @@
+ OpCapability Shader
+ %17 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %f "f"
+ OpExecutionMode %f LocalSize 1 1 1
+ OpName %f "f"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ %void = OpTypeVoid
+ %1 = OpTypeFunction %void
+ %int = OpTypeInt 32 1
+ %v3int = OpTypeVector %int 3
+%_ptr_Function_v3int = OpTypePointer Function %v3int
+ %9 = OpConstantNull %v3int
+ %uint = OpTypeInt 32 0
+ %_ptr_Function_uint = OpTypePointer Function %uint
+ %14 = OpConstantNull %uint
+ %uint_31 = OpConstant %uint 31
+ %uint_32 = OpConstant %uint 32
+ %f = OpFunction %void None %1
+ %4 = OpLabel
+ %v = OpVariable %_ptr_Function_v3int Function %9
+ %n = OpVariable %_ptr_Function_v3int Function %9
+ %offset = OpVariable %_ptr_Function_uint Function %14
+ %count = OpVariable %_ptr_Function_uint Function %14
+ %18 = OpLoad %v3int %v
+ %19 = OpLoad %v3int %n
+ %20 = OpLoad %uint %offset
+ %21 = OpLoad %uint %count
+ %16 = OpBitFieldInsert %v3int %18 %19 %20 %21
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.glsl b/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.glsl
new file mode 100644
index 0000000..1befc7d
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.glsl
@@ -0,0 +1,26 @@
+#version 310 es
+
+ivec3 tint_insert_bits(ivec3 v, ivec3 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void f_1() {
+ ivec3 v = ivec3(0, 0, 0);
+ ivec3 n = ivec3(0, 0, 0);
+ uint offset_1 = 0u;
+ uint count = 0u;
+ ivec3 x_16 = tint_insert_bits(v, n, offset_1, count);
+ return;
+}
+
+void f() {
+ f_1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ f();
+ return;
+}
diff --git a/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.hlsl b/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.hlsl
new file mode 100644
index 0000000..617fce0
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.hlsl
@@ -0,0 +1,21 @@
+int3 tint_insert_bits(int3 v, int3 n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << uint3((s).xxx)) & int3((int(mask)).xxx)) | (v & int3((int(~(mask))).xxx)));
+}
+
+void f_1() {
+ int3 v = int3(0, 0, 0);
+ int3 n = int3(0, 0, 0);
+ uint offset_1 = 0u;
+ uint count = 0u;
+ const int3 x_16 = tint_insert_bits(v, n, offset_1, count);
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void f() {
+ f_1();
+ return;
+}
diff --git a/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.msl b/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.msl
new file mode 100644
index 0000000..af5112b
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.msl
@@ -0,0 +1,27 @@
+#include <metal_stdlib>
+
+using namespace metal;
+int3 tint_insert_bits(int3 v, int3 n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void f_1() {
+ int3 v = int3();
+ int3 n = int3();
+ uint offset_1 = 0u;
+ uint count = 0u;
+ int3 const x_18 = v;
+ int3 const x_19 = n;
+ uint const x_20 = offset_1;
+ uint const x_21 = count;
+ int3 const x_16 = tint_insert_bits(x_18, x_19, x_20, x_21);
+ return;
+}
+
+kernel void f() {
+ f_1();
+ return;
+}
+
diff --git a/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.spvasm b/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.spvasm
new file mode 100644
index 0000000..b595d27
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.spvasm
@@ -0,0 +1,68 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 39
+; Schema: 0
+ OpCapability Shader
+ %12 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %f "f"
+ OpExecutionMode %f LocalSize 1 1 1
+ OpName %tint_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %f_1 "f_1"
+ OpName %v_0 "v"
+ OpName %n_0 "n"
+ OpName %offset_1 "offset_1"
+ OpName %count_0 "count"
+ OpName %f "f"
+ %int = OpTypeInt 32 1
+ %v3int = OpTypeVector %int 3
+ %uint = OpTypeInt 32 0
+ %1 = OpTypeFunction %v3int %v3int %v3int %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %18 = OpTypeFunction %void
+ %22 = OpConstantNull %v3int
+%_ptr_Function_v3int = OpTypePointer Function %v3int
+ %uint_0 = OpConstant %uint 0
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %29 = OpConstantNull %uint
+%tint_insert_bits = OpFunction %v3int None %1
+ %v = OpFunctionParameter %v3int
+ %n = OpFunctionParameter %v3int
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %10 = OpLabel
+ %11 = OpExtInst %uint %12 UMin %offset %uint_32
+ %15 = OpIAdd %uint %11 %count
+ %14 = OpExtInst %uint %12 UMin %uint_32 %15
+ %17 = OpISub %uint %14 %11
+ %16 = OpBitFieldInsert %v3int %v %n %11 %17
+ OpReturnValue %16
+ OpFunctionEnd
+ %f_1 = OpFunction %void None %18
+ %21 = OpLabel
+ %v_0 = OpVariable %_ptr_Function_v3int Function %22
+ %n_0 = OpVariable %_ptr_Function_v3int Function %22
+ %offset_1 = OpVariable %_ptr_Function_uint Function %29
+ %count_0 = OpVariable %_ptr_Function_uint Function %29
+ OpStore %v_0 %22
+ OpStore %n_0 %22
+ OpStore %offset_1 %uint_0
+ OpStore %count_0 %uint_0
+ %31 = OpLoad %v3int %v_0
+ %32 = OpLoad %v3int %n_0
+ %33 = OpLoad %uint %offset_1
+ %34 = OpLoad %uint %count_0
+ %35 = OpFunctionCall %v3int %tint_insert_bits %31 %32 %33 %34
+ OpReturn
+ OpFunctionEnd
+ %f = OpFunction %void None %18
+ %37 = OpLabel
+ %38 = OpFunctionCall %void %f_1
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.wgsl b/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.wgsl
new file mode 100644
index 0000000..0360918
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/i32.spvasm.expected.wgsl
@@ -0,0 +1,17 @@
+fn f_1() {
+ var v : vec3<i32> = vec3<i32>();
+ var n : vec3<i32> = vec3<i32>();
+ var offset_1 : u32 = 0u;
+ var count : u32 = 0u;
+ let x_18 : vec3<i32> = v;
+ let x_19 : vec3<i32> = n;
+ let x_20 : u32 = offset_1;
+ let x_21 : u32 = count;
+ let x_16 : vec3<i32> = insertBits(x_18, x_19, x_20, x_21);
+ return;
+}
+
+@stage(compute) @workgroup_size(1, 1, 1)
+fn f() {
+ f_1();
+}
diff --git a/test/tint/builtins/insertBits/vec3/u32.spvasm b/test/tint/builtins/insertBits/vec3/u32.spvasm
new file mode 100644
index 0000000..5f81ab3
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/u32.spvasm
@@ -0,0 +1,33 @@
+ OpCapability Shader
+ %16 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %f "f"
+ OpExecutionMode %f LocalSize 1 1 1
+ OpName %f "f"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ %void = OpTypeVoid
+ %1 = OpTypeFunction %void
+ %uint = OpTypeInt 32 0
+ %v3uint = OpTypeVector %uint 3
+%_ptr_Function_v3uint = OpTypePointer Function %v3uint
+ %9 = OpConstantNull %v3uint
+ %_ptr_Function_uint = OpTypePointer Function %uint
+ %13 = OpConstantNull %uint
+ %uint_31 = OpConstant %uint 31
+ %uint_32 = OpConstant %uint 32
+ %f = OpFunction %void None %1
+ %4 = OpLabel
+ %v = OpVariable %_ptr_Function_v3uint Function %9
+ %n = OpVariable %_ptr_Function_v3uint Function %9
+ %offset = OpVariable %_ptr_Function_uint Function %13
+ %count = OpVariable %_ptr_Function_uint Function %13
+ %17 = OpLoad %v3uint %v
+ %18 = OpLoad %v3uint %n
+ %19 = OpLoad %uint %offset
+ %20 = OpLoad %uint %count
+ %15 = OpBitFieldInsert %v3uint %17 %18 %19 %20
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.glsl b/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.glsl
new file mode 100644
index 0000000..f42aebd
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.glsl
@@ -0,0 +1,26 @@
+#version 310 es
+
+uvec3 tint_insert_bits(uvec3 v, uvec3 n, uint offset, uint count) {
+ uint s = min(offset, 32u);
+ uint e = min(32u, (s + count));
+ return bitfieldInsert(v, n, int(s), int((e - s)));
+}
+
+void f_1() {
+ uvec3 v = uvec3(0u, 0u, 0u);
+ uvec3 n = uvec3(0u, 0u, 0u);
+ uint offset_1 = 0u;
+ uint count = 0u;
+ uvec3 x_15 = tint_insert_bits(v, n, offset_1, count);
+ return;
+}
+
+void f() {
+ f_1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ f();
+ return;
+}
diff --git a/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.hlsl b/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.hlsl
new file mode 100644
index 0000000..9972d6a
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.hlsl
@@ -0,0 +1,21 @@
+uint3 tint_insert_bits(uint3 v, uint3 n, uint offset, uint count) {
+ const uint s = min(offset, 32u);
+ const uint e = min(32u, (s + count));
+ const uint mask = (((1u << s) - 1u) ^ ((1u << e) - 1u));
+ return (((n << uint3((s).xxx)) & uint3((mask).xxx)) | (v & uint3((~(mask)).xxx)));
+}
+
+void f_1() {
+ uint3 v = uint3(0u, 0u, 0u);
+ uint3 n = uint3(0u, 0u, 0u);
+ uint offset_1 = 0u;
+ uint count = 0u;
+ const uint3 x_15 = tint_insert_bits(v, n, offset_1, count);
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void f() {
+ f_1();
+ return;
+}
diff --git a/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.msl b/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.msl
new file mode 100644
index 0000000..62eb987
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.msl
@@ -0,0 +1,27 @@
+#include <metal_stdlib>
+
+using namespace metal;
+uint3 tint_insert_bits(uint3 v, uint3 n, uint offset, uint count) {
+ uint const s = min(offset, 32u);
+ uint const e = min(32u, (s + count));
+ return insert_bits(v, n, s, (e - s));
+}
+
+void f_1() {
+ uint3 v = uint3();
+ uint3 n = uint3();
+ uint offset_1 = 0u;
+ uint count = 0u;
+ uint3 const x_17 = v;
+ uint3 const x_18 = n;
+ uint const x_19 = offset_1;
+ uint const x_20 = count;
+ uint3 const x_15 = tint_insert_bits(x_17, x_18, x_19, x_20);
+ return;
+}
+
+kernel void f() {
+ f_1();
+ return;
+}
+
diff --git a/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.spvasm b/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.spvasm
new file mode 100644
index 0000000..688e140
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.spvasm
@@ -0,0 +1,67 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 38
+; Schema: 0
+ OpCapability Shader
+ %11 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %f "f"
+ OpExecutionMode %f LocalSize 1 1 1
+ OpName %tint_insert_bits "tint_insert_bits"
+ OpName %v "v"
+ OpName %n "n"
+ OpName %offset "offset"
+ OpName %count "count"
+ OpName %f_1 "f_1"
+ OpName %v_0 "v"
+ OpName %n_0 "n"
+ OpName %offset_1 "offset_1"
+ OpName %count_0 "count"
+ OpName %f "f"
+ %uint = OpTypeInt 32 0
+ %v3uint = OpTypeVector %uint 3
+ %1 = OpTypeFunction %v3uint %v3uint %v3uint %uint %uint
+ %uint_32 = OpConstant %uint 32
+ %void = OpTypeVoid
+ %17 = OpTypeFunction %void
+ %21 = OpConstantNull %v3uint
+%_ptr_Function_v3uint = OpTypePointer Function %v3uint
+ %uint_0 = OpConstant %uint 0
+%_ptr_Function_uint = OpTypePointer Function %uint
+ %28 = OpConstantNull %uint
+%tint_insert_bits = OpFunction %v3uint None %1
+ %v = OpFunctionParameter %v3uint
+ %n = OpFunctionParameter %v3uint
+ %offset = OpFunctionParameter %uint
+ %count = OpFunctionParameter %uint
+ %9 = OpLabel
+ %10 = OpExtInst %uint %11 UMin %offset %uint_32
+ %14 = OpIAdd %uint %10 %count
+ %13 = OpExtInst %uint %11 UMin %uint_32 %14
+ %16 = OpISub %uint %13 %10
+ %15 = OpBitFieldInsert %v3uint %v %n %10 %16
+ OpReturnValue %15
+ OpFunctionEnd
+ %f_1 = OpFunction %void None %17
+ %20 = OpLabel
+ %v_0 = OpVariable %_ptr_Function_v3uint Function %21
+ %n_0 = OpVariable %_ptr_Function_v3uint Function %21
+ %offset_1 = OpVariable %_ptr_Function_uint Function %28
+ %count_0 = OpVariable %_ptr_Function_uint Function %28
+ OpStore %v_0 %21
+ OpStore %n_0 %21
+ OpStore %offset_1 %uint_0
+ OpStore %count_0 %uint_0
+ %30 = OpLoad %v3uint %v_0
+ %31 = OpLoad %v3uint %n_0
+ %32 = OpLoad %uint %offset_1
+ %33 = OpLoad %uint %count_0
+ %34 = OpFunctionCall %v3uint %tint_insert_bits %30 %31 %32 %33
+ OpReturn
+ OpFunctionEnd
+ %f = OpFunction %void None %17
+ %36 = OpLabel
+ %37 = OpFunctionCall %void %f_1
+ OpReturn
+ OpFunctionEnd
diff --git a/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.wgsl b/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.wgsl
new file mode 100644
index 0000000..beac322
--- /dev/null
+++ b/test/tint/builtins/insertBits/vec3/u32.spvasm.expected.wgsl
@@ -0,0 +1,17 @@
+fn f_1() {
+ var v : vec3<u32> = vec3<u32>();
+ var n : vec3<u32> = vec3<u32>();
+ var offset_1 : u32 = 0u;
+ var count : u32 = 0u;
+ let x_17 : vec3<u32> = v;
+ let x_18 : vec3<u32> = n;
+ let x_19 : u32 = offset_1;
+ let x_20 : u32 = count;
+ let x_15 : vec3<u32> = insertBits(x_17, x_18, x_19, x_20);
+ return;
+}
+
+@stage(compute) @workgroup_size(1, 1, 1)
+fn f() {
+ f_1();
+}