Implement textureGather, textureGatherCompare
All writers implemented, along with resolving and validation.
TODO: SPIR-V Reader.
Bug: tint:1330
Change-Id: I8ba2f6023749474f80efb8a5422ac187e6c73a69
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/71820
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
diff --git a/docs/origin-trial-changes.md b/docs/origin-trial-changes.md
index 8ba5154..09f66a3 100644
--- a/docs/origin-trial-changes.md
+++ b/docs/origin-trial-changes.md
@@ -14,6 +14,7 @@
### New Features
+* New texture gather builtins: `textureGather()` and `textureGatherCompare()`. [tint:1330](https://crbug.com/tint/1330)
* Shadowing is now fully supported. [tint:819](https://crbug.com/tint/819)
* The `dot()` builtin now supports integer vector types.
* Identifiers can now start with a single leading underscore. [tint:1292](https://crbug.com/tint/1292)
diff --git a/src/ast/intrinsic_texture_helper_test.cc b/src/ast/intrinsic_texture_helper_test.cc
index 04c3ee0..76c9a73 100644
--- a/src/ast/intrinsic_texture_helper_test.cc
+++ b/src/ast/intrinsic_texture_helper_test.cc
@@ -127,7 +127,7 @@
out << "<unused>";
}
out << "\n";
- out << "access: " << data.access << "\n";
+ out << "access: " << data.access << "\n";
out << "image_format: " << data.image_format << "\n";
out << "texture_dimension: " << data.texture_dimension << "\n";
out << "texture_data_type: " << data.texture_data_type << "\n";
@@ -461,6 +461,349 @@
"textureDimensions",
[](ProgramBuilder* b) { return b->ExprList("texture"); },
},
+
+ {
+ ValidTextureOverload::kGather2dF32,
+ "textureGather(component : i32,\n"
+ " t : texture_2d<T>,\n"
+ " s : sampler,\n"
+ " coords : vec2<f32>) -> vec4<T>",
+ TextureKind::kRegular,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::k2d,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList(0, // component
+ "texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f)); // coords
+ },
+ },
+ {
+ ValidTextureOverload::kGather2dOffsetF32,
+ "textureGather(component : i32,\n"
+ " t : texture_2d<T>,\n"
+ " s : sampler,\n"
+ " coords : vec2<f32>,\n"
+ " offset : vec2<i32>) -> vec4<T>",
+ TextureKind::kRegular,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::k2d,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList(0, // component
+ "texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<i32>(3, 4)); // offset
+ },
+ },
+ {
+ ValidTextureOverload::kGather2dArrayF32,
+ "textureGather(component : i32,\n"
+ " t : texture_2d_array<T>,\n"
+ " s : sampler,\n"
+ " coords : vec2<f32>,\n"
+ " array_index : i32) -> vec4<T>",
+ TextureKind::kRegular,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::k2dArray,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList(0, // component
+ "texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f), // coords
+ 3); // array index
+ },
+ },
+ {
+ ValidTextureOverload::kGather2dArrayOffsetF32,
+ "textureGather(component : i32,\n"
+ " t : texture_2d_array<T>,\n"
+ " s : sampler,\n"
+ " coords : vec2<f32>,\n"
+ " array_index : i32,\n"
+ " offset : vec2<i32>) -> vec4<T>",
+ TextureKind::kRegular,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::k2dArray,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList(0, // component
+ "texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f), // coords
+ 3, // array_index
+ b->vec2<i32>(4, 5)); // offset
+ },
+ },
+ {
+ ValidTextureOverload::kGatherCubeF32,
+ "textureGather(component : i32,\n"
+ " t : texture_cube<T>,\n"
+ " s : sampler,\n"
+ " coords : vec3<f32>) -> vec4<T>",
+ TextureKind::kRegular,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::kCube,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList(0, // component
+ "texture", // t
+ "sampler", // s
+ b->vec3<f32>(1.f, 2.f, 3.f)); // coords
+ },
+ },
+ {
+ ValidTextureOverload::kGatherCubeArrayF32,
+ "textureGather(component : i32,\n"
+ " t : texture_cube_array<T>,\n"
+ " s : sampler,\n"
+ " coords : vec3<f32>,\n"
+ " array_index : i32) -> vec4<T>",
+ TextureKind::kRegular,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::kCubeArray,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList(0, // component
+ "texture", // t
+ "sampler", // s
+ b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ 4); // array_index
+ },
+ },
+ {
+ ValidTextureOverload::kGatherDepth2dF32,
+ "textureGather(t : texture_depth_2d,\n"
+ " s : sampler,\n"
+ " coords : vec2<f32>) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::k2d,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f)); // coords
+ },
+ },
+ {
+ ValidTextureOverload::kGatherDepth2dOffsetF32,
+ "textureGather(t : texture_depth_2d,\n"
+ " s : sampler,\n"
+ " coords : vec2<f32>,\n"
+ " offset : vec2<i32>) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::k2d,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f), // coords
+ b->vec2<i32>(3, 4)); // offset
+ },
+ },
+ {
+ ValidTextureOverload::kGatherDepth2dArrayF32,
+ "textureGather(t : texture_depth_2d_array,\n"
+ " s : sampler,\n"
+ " coords : vec2<f32>,\n"
+ " array_index : i32) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::k2dArray,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f), // coords
+ 3); // array_index
+ },
+ },
+ {
+ ValidTextureOverload::kGatherDepth2dArrayOffsetF32,
+ "textureGather(t : texture_depth_2d_array,\n"
+ " s : sampler,\n"
+ " coords : vec2<f32>,\n"
+ " array_index : i32,\n"
+ " offset : vec2<i32>) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::k2dArray,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f), // coords
+ 3, // array_index
+ b->vec2<i32>(4, 5)); // offset
+ },
+ },
+ {
+ ValidTextureOverload::kGatherDepthCubeF32,
+ "textureGather(t : texture_depth_cube,\n"
+ " s : sampler,\n"
+ " coords : vec3<f32>) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::kCube,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec3<f32>(1.f, 2.f, 3.f)); // coords
+ },
+ },
+ {
+ ValidTextureOverload::kGatherDepthCubeArrayF32,
+ "textureGather(t : texture_depth_cube_array,\n"
+ " s : sampler,\n"
+ " coords : vec3<f32>,\n"
+ " array_index : i32) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::kCubeArray,
+ TextureDataType::kF32,
+ "textureGather",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ 4); // array_index
+ },
+ },
+ {
+ ValidTextureOverload::kGatherCompareDepth2dF32,
+ "textureGatherCompare(t : texture_depth_2d,\n"
+ " s : sampler_comparison,\n"
+ " coords : vec2<f32>,\n"
+ " depth_ref : f32) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kComparisonSampler,
+ ast::TextureDimension::k2d,
+ TextureDataType::kF32,
+ "textureGatherCompare",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f), // coords
+ 3.f); // depth_ref
+ },
+ },
+ {
+ ValidTextureOverload::kGatherCompareDepth2dOffsetF32,
+ "textureGatherCompare(t : texture_depth_2d,\n"
+ " s : sampler_comparison,\n"
+ " coords : vec2<f32>,\n"
+ " depth_ref : f32,\n"
+ " offset : vec2<i32>) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kComparisonSampler,
+ ast::TextureDimension::k2d,
+ TextureDataType::kF32,
+ "textureGatherCompare",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f), // coords
+ 3.f, // depth_ref
+ b->vec2<i32>(4, 5)); // offset
+ },
+ },
+ {
+ ValidTextureOverload::kGatherCompareDepth2dArrayF32,
+ "textureGatherCompare(t : texture_depth_2d_array,\n"
+ " s : sampler_comparison,\n"
+ " coords : vec2<f32>,\n"
+ " array_index : i32,\n"
+ " depth_ref : f32) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kComparisonSampler,
+ ast::TextureDimension::k2dArray,
+ TextureDataType::kF32,
+ "textureGatherCompare",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f), // coords
+ 3, // array_index
+ 4.f); // depth_ref
+ },
+ },
+ {
+ ValidTextureOverload::kGatherCompareDepth2dArrayOffsetF32,
+ "textureGatherCompare(t : texture_depth_2d_array,\n"
+ " s : sampler_comparison,\n"
+ " coords : vec2<f32>,\n"
+ " array_index : i32,\n"
+ " depth_ref : f32,\n"
+ " offset : vec2<i32>) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kComparisonSampler,
+ ast::TextureDimension::k2dArray,
+ TextureDataType::kF32,
+ "textureGatherCompare",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec2<f32>(1.f, 2.f), // coords
+ 3, // array_index
+ 4.f, // depth_ref
+ b->vec2<i32>(5, 6)); // offset
+ },
+ },
+ {
+ ValidTextureOverload::kGatherCompareDepthCubeF32,
+ "textureGatherCompare(t : texture_depth_cube,\n"
+ " s : sampler_comparison,\n"
+ " coords : vec3<f32>,\n"
+ " depth_ref : f32) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kComparisonSampler,
+ ast::TextureDimension::kCube,
+ TextureDataType::kF32,
+ "textureGatherCompare",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ 4.f); // depth_ref
+ },
+ },
+ {
+ ValidTextureOverload::kGatherCompareDepthCubeArrayF32,
+ "textureGatherCompare(t : texture_depth_cube_array,\n"
+ " s : sampler_comparison,\n"
+ " coords : vec3<f32>,\n"
+ " array_index : i32,\n"
+ " depth_ref : f32) -> vec4<f32>",
+ TextureKind::kDepth,
+ ast::SamplerKind::kComparisonSampler,
+ ast::TextureDimension::kCubeArray,
+ TextureDataType::kF32,
+ "textureGatherCompare",
+ [](ProgramBuilder* b) {
+ return b->ExprList("texture", // t
+ "sampler", // s
+ b->vec3<f32>(1.f, 2.f, 3.f), // coords
+ 4, // array_index
+ 5.f); // depth_ref
+ },
+ },
{
ValidTextureOverload::kNumLayers2dArray,
"textureNumLayers(t : texture_2d_array<f32>) -> i32",
diff --git a/src/ast/intrinsic_texture_helper_test.h b/src/ast/intrinsic_texture_helper_test.h
index ee517a1..64b995a 100644
--- a/src/ast/intrinsic_texture_helper_test.h
+++ b/src/ast/intrinsic_texture_helper_test.h
@@ -65,6 +65,24 @@
kDimensionsStorageWO2d,
kDimensionsStorageWO2dArray,
kDimensionsStorageWO3d,
+ kGather2dF32,
+ kGather2dOffsetF32,
+ kGather2dArrayF32,
+ kGather2dArrayOffsetF32,
+ kGatherCubeF32,
+ kGatherCubeArrayF32,
+ kGatherDepth2dF32,
+ kGatherDepth2dOffsetF32,
+ kGatherDepth2dArrayF32,
+ kGatherDepth2dArrayOffsetF32,
+ kGatherDepthCubeF32,
+ kGatherDepthCubeArrayF32,
+ kGatherCompareDepth2dF32,
+ kGatherCompareDepth2dOffsetF32,
+ kGatherCompareDepth2dArrayF32,
+ kGatherCompareDepth2dArrayOffsetF32,
+ kGatherCompareDepthCubeF32,
+ kGatherCompareDepthCubeArrayF32,
kNumLayers2dArray,
kNumLayersCubeArray,
kNumLayersDepth2dArray,
diff --git a/src/intrinsic_table.inl b/src/intrinsic_table.inl
index ea72274..1981296 100644
--- a/src/intrinsic_table.inl
+++ b/src/intrinsic_table.inl
@@ -1669,18 +1669,18 @@
/* [27] */ 29,
/* [28] */ 0,
/* [29] */ 1,
- /* [30] */ 30,
+ /* [30] */ 8,
/* [31] */ 0,
- /* [32] */ 1,
- /* [33] */ 28,
+ /* [32] */ 0,
+ /* [33] */ 30,
/* [34] */ 0,
/* [35] */ 1,
- /* [36] */ 27,
+ /* [36] */ 28,
/* [37] */ 0,
/* [38] */ 1,
- /* [39] */ 8,
+ /* [39] */ 27,
/* [40] */ 0,
- /* [41] */ 0,
+ /* [41] */ 1,
/* [42] */ 30,
/* [43] */ 4,
/* [44] */ 9,
@@ -1720,62 +1720,62 @@
/* [78] */ 8,
/* [79] */ 0,
/* [80] */ 3,
- /* [81] */ 7,
- /* [82] */ 2,
- /* [83] */ 18,
+ /* [81] */ 15,
+ /* [82] */ 0,
+ /* [83] */ 6,
/* [84] */ 2,
- /* [85] */ 5,
- /* [86] */ 3,
- /* [87] */ 6,
+ /* [85] */ 18,
+ /* [86] */ 2,
+ /* [87] */ 7,
/* [88] */ 2,
/* [89] */ 5,
- /* [90] */ 2,
- /* [91] */ 17,
+ /* [90] */ 3,
+ /* [91] */ 5,
/* [92] */ 2,
- /* [93] */ 6,
- /* [94] */ 3,
- /* [95] */ 19,
- /* [96] */ 2,
- /* [97] */ 16,
+ /* [93] */ 17,
+ /* [94] */ 2,
+ /* [95] */ 6,
+ /* [96] */ 3,
+ /* [97] */ 19,
/* [98] */ 2,
- /* [99] */ 20,
+ /* [99] */ 16,
/* [100] */ 2,
- /* [101] */ 33,
- /* [102] */ 0,
- /* [103] */ 35,
+ /* [101] */ 20,
+ /* [102] */ 2,
+ /* [103] */ 33,
/* [104] */ 0,
- /* [105] */ 7,
- /* [106] */ 3,
- /* [107] */ 7,
- /* [108] */ 4,
- /* [109] */ 15,
+ /* [105] */ 5,
+ /* [106] */ 0,
+ /* [107] */ 35,
+ /* [108] */ 0,
+ /* [109] */ 17,
/* [110] */ 0,
/* [111] */ 7,
- /* [112] */ 0,
- /* [113] */ 16,
- /* [114] */ 0,
- /* [115] */ 17,
+ /* [112] */ 3,
+ /* [113] */ 7,
+ /* [114] */ 4,
+ /* [115] */ 7,
/* [116] */ 0,
- /* [117] */ 18,
+ /* [117] */ 16,
/* [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] */ 13,
- /* [130] */ 22,
- /* [131] */ 23,
- /* [132] */ 26,
- /* [133] */ 24,
- /* [134] */ 25,
- /* [135] */ 31,
- /* [136] */ 14,
+ /* [125] */ 20,
+ /* [126] */ 0,
+ /* [127] */ 15,
+ /* [128] */ 2,
+ /* [129] */ 22,
+ /* [130] */ 23,
+ /* [131] */ 24,
+ /* [132] */ 25,
+ /* [133] */ 26,
+ /* [134] */ 13,
+ /* [135] */ 14,
+ /* [136] */ 31,
/* [137] */ 32,
/* [138] */ 34,
};
@@ -1790,17 +1790,17 @@
{
/* [0] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [1] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [2] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [3] */
@@ -1810,62 +1810,62 @@
{
/* [4] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [5] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [6] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [7] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [8] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [9] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [10] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [11] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [12] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [13] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [14] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [15] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [16] */
@@ -1874,28 +1874,28 @@
},
{
/* [17] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[89],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [18] */
- /* usage */ ParameterUsage::kDdy,
+ /* usage */ ParameterUsage::kOffset,
/* matcher indices */ &kMatcherIndices[89],
},
{
/* [19] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [20] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [21] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [22] */
@@ -1904,28 +1904,28 @@
},
{
/* [23] */
- /* usage */ ParameterUsage::kBias,
+ /* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [24] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [25] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[91],
+ /* matcher indices */ &kMatcherIndices[101],
},
{
/* [26] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [27] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [28] */
@@ -1934,118 +1934,118 @@
},
{
/* [29] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [30] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [31] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [32] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [33] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [34] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [35] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [35] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
/* [36] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [37] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [38] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [39] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [40] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [41] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [42] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [43] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[83],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [44] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [45] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [46] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [47] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [48] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [49] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [50] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [51] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [52] */
@@ -2060,22 +2060,22 @@
{
/* [54] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [55] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [56] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [57] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [58] */
@@ -2084,28 +2084,28 @@
},
{
/* [59] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [60] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [61] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[99],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [62] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [63] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [64] */
@@ -2114,983 +2114,983 @@
},
{
/* [65] */
- /* usage */ ParameterUsage::kBias,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [66] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
- },
- {
- /* [67] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [68] */
- /* usage */ ParameterUsage::kCoords,
+ /* usage */ ParameterUsage::kOffset,
/* matcher indices */ &kMatcherIndices[89],
},
{
+ /* [67] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[93],
+ },
+ {
+ /* [68] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
/* [69] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [70] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [71] */
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [72] */
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [73] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [74] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [75] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [76] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [77] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [78] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[99],
},
{
- /* [72] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [73] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [74] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [75] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [76] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
- },
- {
- /* [77] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [78] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
/* [79] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [80] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [81] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [82] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [83] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [84] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [85] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [86] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[83],
- },
- {
- /* [87] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [88] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [89] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [90] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [91] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [92] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [93] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [94] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [95] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [96] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
- },
- {
- /* [97] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
- },
- {
- /* [98] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [99] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [100] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [101] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [102] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
- },
- {
- /* [103] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [104] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [105] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [106] */
- /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[134],
},
{
- /* [107] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [108] */
+ /* [80] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [109] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [110] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [111] */
- /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[91],
},
{
- /* [112] */
- /* usage */ ParameterUsage::kSampler,
+ /* [81] */
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [82] */
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [83] */
+ /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[129],
},
{
- /* [113] */
+ /* [84] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [85] */
/* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [86] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [87] */
+ /* usage */ ParameterUsage::kOffset,
/* matcher indices */ &kMatcherIndices[89],
},
{
- /* [114] */
+ /* [88] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [89] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [90] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [91] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [115] */
+ /* [92] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [93] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [94] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [95] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [96] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [97] */
/* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [98] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
+ },
+ {
+ /* [99] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [100] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [101] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [102] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [103] */
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [104] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
+ },
+ {
+ /* [105] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [106] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [107] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [108] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
+ },
+ {
+ /* [109] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [110] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [111] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [112] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [113] */
+ /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[85],
},
{
+ /* [114] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [115] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
/* [116] */
- /* usage */ ParameterUsage::kTexture,
+ /* usage */ ParameterUsage::kDdx,
/* matcher indices */ &kMatcherIndices[83],
},
{
/* [117] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [118] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [119] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [120] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [121] */
- /* usage */ ParameterUsage::kTexture,
+ /* usage */ ParameterUsage::kDdy,
/* matcher indices */ &kMatcherIndices[83],
},
{
- /* [122] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [123] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [124] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [125] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [126] */
+ /* [118] */
/* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[93],
+ },
+ {
+ /* [119] */
+ /* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[134],
},
{
- /* [127] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
- },
- {
- /* [128] */
+ /* [120] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [129] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [130] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [131] */
- /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[91],
},
{
- /* [132] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [133] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [134] */
+ /* [121] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [135] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
+ /* [122] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
- /* [136] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[95],
- },
- {
- /* [137] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [138] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [139] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [140] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [141] */
+ /* [123] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[130],
},
{
- /* [142] */
+ /* [124] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
- /* [143] */
+ /* [125] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [144] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [145] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [146] */
- /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[91],
},
{
- /* [147] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [148] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [149] */
+ /* [126] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [150] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [151] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [152] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
- },
- {
- /* [153] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [154] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [155] */
+ /* [127] */
/* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
- /* [156] */
+ /* [128] */
/* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[97],
+ },
+ {
+ /* [129] */
+ /* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[134],
},
{
- /* [157] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
- },
- {
- /* [158] */
+ /* [130] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
- /* [159] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [160] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [161] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
- },
- {
- /* [162] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [163] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [164] */
+ /* [131] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
- /* [165] */
+ /* [132] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
- /* [166] */
+ /* [133] */
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [134] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[109],
},
{
- /* [167] */
+ /* [135] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
- /* [168] */
+ /* [136] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
- /* [169] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [170] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [171] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[57],
- },
- {
- /* [172] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [173] */
+ /* [137] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [174] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[105],
- },
- {
- /* [175] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
- },
- {
- /* [176] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
- },
- {
- /* [177] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [178] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [179] */
+ /* [138] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[99],
},
{
- /* [180] */
+ /* [139] */
/* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [140] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [141] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [142] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [143] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[93],
+ },
+ {
+ /* [144] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [145] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [146] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [147] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [148] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [149] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [150] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [151] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [152] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [153] */
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [154] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
+ },
+ {
+ /* [155] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [156] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [157] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [158] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [159] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [160] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [161] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [162] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [163] */
+ /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[129],
},
{
- /* [181] */
+ /* [164] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [165] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [166] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [167] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [168] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
+ /* [169] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [170] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [171] */
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [172] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [173] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[93],
+ },
+ {
+ /* [174] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [175] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [176] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [177] */
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [178] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
+ },
+ {
+ /* [179] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [180] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [181] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [182] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [183] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [184] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [185] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [186] */
- /* usage */ ParameterUsage::kDepthRef,
+ /* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[12],
},
{
/* [187] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [188] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [189] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [190] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [191] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
- },
- {
- /* [192] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [193] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [194] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [195] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [196] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [197] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [198] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [199] */
+ /* [192] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [193] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[101],
+ },
+ {
+ /* [194] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [195] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [196] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [197] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [198] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[101],
+ },
+ {
+ /* [199] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [200] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [201] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [202] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [203] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [204] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [205] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [206] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
/* [207] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[95],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [208] */
- /* usage */ ParameterUsage::kSampler,
+ /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[129],
},
{
/* [209] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [210] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [211] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[83],
- },
- {
- /* [212] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [213] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [214] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [215] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
- },
- {
- /* [216] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [217] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [218] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [219] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
+ /* [212] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
- /* [220] */
+ /* [213] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [214] */
/* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [215] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [216] */
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [217] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[95],
+ },
+ {
+ /* [218] */
+ /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[129],
},
{
- /* [221] */
+ /* [219] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [220] */
/* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [221] */
+ /* usage */ ParameterUsage::kOffset,
/* matcher indices */ &kMatcherIndices[89],
},
{
/* [222] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [223] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
- },
- {
- /* [224] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [225] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [226] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [227] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[95],
- },
- {
- /* [228] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [229] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [230] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [231] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[131],
},
{
- /* [232] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [233] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [234] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [235] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[83],
- },
- {
- /* [236] */
+ /* [223] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [237] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [238] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [239] */
- /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[134],
},
{
- /* [240] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [241] */
+ /* [224] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [242] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [243] */
- /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[83],
},
{
- /* [244] */
- /* usage */ ParameterUsage::kSampler,
+ /* [225] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [226] */
+ /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[129],
},
{
- /* [245] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
- },
- {
- /* [246] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [247] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
- },
- {
- /* [248] */
+ /* [227] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[136],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
- /* [249] */
+ /* [228] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
- /* [250] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[12],
+ /* [229] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
- /* [251] */
+ /* [230] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[97],
},
{
- /* [252] */
+ /* [231] */
/* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [232] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [233] */
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [234] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[97],
+ },
+ {
+ /* [235] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [236] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [237] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [238] */
+ /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[129],
},
{
- /* [253] */
+ /* [239] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [240] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [254] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [255] */
- /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[91],
},
{
- /* [256] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* [241] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
- /* [257] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
- },
- {
- /* [258] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [259] */
+ /* [242] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[69],
},
{
+ /* [243] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [244] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [245] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[87],
+ },
+ {
+ /* [246] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[85],
+ },
+ {
+ /* [247] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [248] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [249] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [250] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[57],
+ },
+ {
+ /* [251] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [252] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [253] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[111],
+ },
+ {
+ /* [254] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
+ /* [255] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [256] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [257] */
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [258] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
+ },
+ {
+ /* [259] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
/* [260] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [261] */
@@ -3099,18 +3099,18 @@
},
{
/* [262] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [263] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[45],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [264] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [265] */
@@ -3119,428 +3119,428 @@
},
{
/* [266] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[107],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [267] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [268] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [269] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [270] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [271] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [272] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [273] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[75],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [274] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[101],
},
{
/* [275] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [276] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[72],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [277] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [278] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [279] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[66],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [280] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [281] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [282] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* matcher indices */ &kMatcherIndices[45],
},
{
/* [283] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [284] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[89],
},
{
+ /* [284] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
/* [285] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[60],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [286] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[93],
},
{
/* [287] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[105],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [288] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [289] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [290] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [291] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [292] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [293] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [294] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [295] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [296] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [297] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [298] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [299] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
- },
- {
- /* [300] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[54],
- },
- {
- /* [301] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [302] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[105],
- },
- {
- /* [303] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[51],
- },
- {
- /* [304] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [305] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[107],
- },
- {
- /* [306] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[48],
- },
- {
- /* [307] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [308] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[107],
- },
- {
- /* [309] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
- },
- {
- /* [310] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [311] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [312] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[42],
- },
- {
- /* [313] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [314] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[107],
- },
- {
- /* [315] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[109],
},
{
- /* [316] */
+ /* [295] */
/* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [296] */
+ /* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [317] */
+ /* [297] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [318] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [319] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [320] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [321] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [322] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [323] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [324] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [325] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [326] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [327] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
- },
- {
- /* [328] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [329] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [330] */
+ /* [298] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
- },
- {
- /* [331] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[93],
- },
- {
- /* [332] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [333] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[95],
- },
- {
- /* [334] */
- /* usage */ ParameterUsage::kSampler,
/* matcher indices */ &kMatcherIndices[129],
},
{
- /* [335] */
+ /* [299] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [300] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[91],
},
{
- /* [336] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
- },
- {
- /* [337] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
- },
- {
- /* [338] */
- /* usage */ ParameterUsage::kSampleIndex,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [339] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [340] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [341] */
- /* usage */ ParameterUsage::kNone,
+ /* [301] */
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[12],
},
{
- /* [342] */
+ /* [302] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[132],
},
{
- /* [343] */
+ /* [303] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [304] */
/* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [305] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [306] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [307] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [308] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [309] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [310] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [311] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [312] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [313] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [314] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
+ },
+ {
+ /* [315] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [316] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [317] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [318] */
+ /* usage */ ParameterUsage::kComponent,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [319] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[123],
+ },
+ {
+ /* [320] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [321] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [322] */
+ /* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[85],
},
{
- /* [344] */
- /* usage */ ParameterUsage::kSampleIndex,
+ /* [323] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [324] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [325] */
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [326] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
+ },
+ {
+ /* [327] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [328] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [329] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [330] */
+ /* usage */ ParameterUsage::kComponent,
/* matcher indices */ &kMatcherIndices[55],
},
{
+ /* [331] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
+ },
+ {
+ /* [332] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [333] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [334] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [335] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[135],
+ },
+ {
+ /* [336] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
+ },
+ {
+ /* [337] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [338] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[99],
+ },
+ {
+ /* [339] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
+ },
+ {
+ /* [340] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [341] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [342] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [343] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [344] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
/* [345] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[75],
},
{
/* [346] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [347] */
- /* usage */ ParameterUsage::kCoords,
+ /* usage */ ParameterUsage::kValue,
/* matcher indices */ &kMatcherIndices[87],
},
{
/* [348] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[83],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [349] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [350] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [351] */
@@ -3574,138 +3574,138 @@
},
{
/* [357] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [358] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [359] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [360] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [361] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [362] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [363] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[97],
+ /* matcher indices */ &kMatcherIndices[72],
},
{
/* [364] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
- },
- {
- /* [365] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[89],
},
{
+ /* [365] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[87],
+ },
+ {
/* [366] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [367] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[129],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [368] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kSampleIndex,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [369] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[60],
},
{
/* [370] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [371] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [372] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[63],
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [373] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[55],
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [374] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[105],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [375] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [376] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [377] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [378] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [379] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [380] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [381] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [382] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [383] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [384] */
@@ -3720,12 +3720,12 @@
{
/* [386] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [387] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [388] */
@@ -3739,183 +3739,183 @@
},
{
/* [390] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[66],
},
{
/* [391] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[78],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [392] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[87],
},
{
/* [393] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[63],
+ },
+ {
+ /* [394] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [395] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[111],
+ },
+ {
+ /* [396] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[121],
+ },
+ {
+ /* [397] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [398] */
+ /* usage */ ParameterUsage::kSampleIndex,
+ /* matcher indices */ &kMatcherIndices[55],
+ },
+ {
+ /* [399] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[119],
+ },
+ {
+ /* [400] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[95],
+ },
+ {
+ /* [401] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[55],
},
{
- /* [394] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [395] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[55],
- },
- {
- /* [396] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
- },
- {
- /* [397] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
- },
- {
- /* [398] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [399] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
- },
- {
- /* [400] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [401] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
/* [402] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [403] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [404] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[87],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [405] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[87],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [406] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [407] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [408] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [409] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [410] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [411] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[85],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [412] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [413] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [414] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[127],
},
{
/* [415] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [416] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [417] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[99],
},
{
/* [418] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [419] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [420] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [421] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [422] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [423] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[54],
},
{
/* [424] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [425] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[111],
},
{
/* [426] */
@@ -3930,637 +3930,637 @@
{
/* [428] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [429] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [430] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [431] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[91],
},
{
/* [432] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[51],
},
{
/* [433] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[55],
},
{
/* [434] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [435] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [436] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [437] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [438] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [439] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [440] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [441] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [442] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [443] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [444] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* matcher indices */ &kMatcherIndices[97],
},
{
/* [445] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [446] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [447] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[48],
},
{
/* [448] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [449] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[55],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [450] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[85],
},
{
/* [451] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[134],
},
{
/* [452] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [453] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[42],
},
{
/* [454] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[95],
},
{
/* [455] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [456] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [457] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [458] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [459] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [460] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [461] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[43],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [462] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [463] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [464] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [465] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [466] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [467] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [468] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[13],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [469] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [470] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [471] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [472] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [473] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[134],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [474] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [475] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [476] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[36],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [477] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[33],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [478] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[27],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [479] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[30],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [480] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [481] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [482] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [483] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [484] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[134],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [485] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[27],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [486] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[109],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [487] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [488] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[115],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [489] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[117],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [490] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[121],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
},
{
/* [491] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[123],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [492] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[130],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [493] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [494] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[133],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [495] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[134],
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [496] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[89],
},
{
/* [497] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[132],
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [498] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [499] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [500] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [501] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [502] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [503] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [504] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [505] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [506] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [507] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [508] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [509] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [510] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[81],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [511] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[81],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [512] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[89],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [513] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [514] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[78],
},
{
/* [515] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [516] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [517] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [518] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [519] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [520] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [521] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [522] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [523] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [524] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [525] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [526] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[1],
},
{
/* [527] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [528] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [529] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [530] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[55],
},
{
/* [531] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [532] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
- },
- {
- /* [533] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
- },
- {
- /* [534] */
- /* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[1],
},
{
+ /* [533] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
+ },
+ {
+ /* [534] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
/* [535] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [536] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [537] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [538] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [539] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[39],
},
{
/* [540] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[36],
},
{
/* [541] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[27],
},
{
/* [542] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[33],
},
{
/* [543] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[136],
},
{
/* [544] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [545] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [546] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [547] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [548] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [549] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [550] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [551] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [552] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [553] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [554] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[43],
},
{
/* [555] */
@@ -4575,146 +4575,551 @@
{
/* [557] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[13],
},
{
/* [558] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [559] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [560] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [561] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [562] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [563] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[17],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [564] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [565] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[1],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [566] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[27],
},
{
/* [567] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[81],
},
{
/* [568] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[117],
},
{
/* [569] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[109],
},
{
/* [570] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [571] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[123],
},
{
/* [572] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [573] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[129],
},
{
/* [574] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[130],
},
{
/* [575] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [576] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[4],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[132],
},
{
/* [577] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[0],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[121],
},
{
/* [578] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [579] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [580] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [581] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [582] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[21],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [583] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[12],
+ /* matcher indices */ &kMatcherIndices[21],
},
{
/* [584] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[39],
+ /* matcher indices */ &kMatcherIndices[12],
},
{
/* [585] */
/* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [586] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [587] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [588] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [589] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
+ },
+ {
+ /* [590] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [591] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[87],
+ },
+ {
+ /* [592] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[87],
+ },
+ {
+ /* [593] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [594] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [595] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[91],
+ },
+ {
+ /* [596] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [597] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [598] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [599] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [600] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [601] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [602] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [603] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [604] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [605] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [606] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [607] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [608] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [609] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [610] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [611] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [612] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [613] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [614] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [615] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [616] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [617] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [618] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [619] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [620] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [621] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [622] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [623] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [624] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [625] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [626] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [627] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [628] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [629] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [630] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [631] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [632] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [633] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [634] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [635] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [636] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [637] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [638] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [639] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [640] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [641] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [642] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [643] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [644] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[17],
+ },
+ {
+ /* [645] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
+ },
+ {
+ /* [646] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[1],
+ },
+ {
+ /* [647] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [648] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [649] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [650] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [651] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [652] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [653] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [654] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [655] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [656] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [657] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[4],
+ },
+ {
+ /* [658] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[0],
+ },
+ {
+ /* [659] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
+ /* [660] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [661] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[24],
+ },
+ {
+ /* [662] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [663] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[21],
+ },
+ {
+ /* [664] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[12],
+ },
+ {
+ /* [665] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[30],
+ },
+ {
+ /* [666] */
+ /* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[1],
},
};
@@ -4723,17 +5128,17 @@
{
/* [0] */
/* name */ "T",
- /* matcher index */ kNoMatcher,
+ /* matcher index */ 36,
},
{
/* [1] */
/* name */ "T",
- /* matcher index */ 36,
+ /* matcher index */ 37,
},
{
/* [2] */
/* name */ "T",
- /* matcher index */ 37,
+ /* matcher index */ kNoMatcher,
},
{
/* [3] */
@@ -4781,9 +5186,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[454],
+ /* parameters */ &kParameters[549],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -4793,9 +5198,9 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[392],
+ /* parameters */ &kParameters[503],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -4805,10 +5210,10 @@
/* 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[456],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[548],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4817,10 +5222,10 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[448],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[507],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4829,10 +5234,10 @@
/* 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[458],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[547],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4841,10 +5246,10 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[446],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[511],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4853,10 +5258,10 @@
/* 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[460],
- /* return matcher indices */ &kMatcherIndices[93],
+ /* parameters */ &kParameters[546],
+ /* return matcher indices */ &kMatcherIndices[95],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4865,10 +5270,10 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[444],
- /* return matcher indices */ &kMatcherIndices[93],
+ /* parameters */ &kParameters[515],
+ /* return matcher indices */ &kMatcherIndices[95],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4877,10 +5282,10 @@
/* 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[462],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[545],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4889,10 +5294,10 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[442],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[519],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4901,10 +5306,10 @@
/* 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[464],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[533],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4913,10 +5318,10 @@
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[440],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[523],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4925,10 +5330,10 @@
/* 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[466],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[544],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4939,8 +5344,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[467],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[537],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4951,8 +5356,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[438],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[529],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4963,8 +5368,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[469],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[535],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4975,8 +5380,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[436],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[497],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4987,8 +5392,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[471],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[534],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -4999,8 +5404,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[434],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[461],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5011,8 +5416,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[473],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[536],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5023,8 +5428,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[432],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[527],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5035,8 +5440,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[475],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[538],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5047,7 +5452,7 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[476],
+ /* parameters */ &kParameters[539],
/* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5059,8 +5464,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[477],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[540],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5071,8 +5476,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[478],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[541],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5083,8 +5488,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[479],
- /* return matcher indices */ &kMatcherIndices[93],
+ /* parameters */ &kParameters[542],
+ /* return matcher indices */ &kMatcherIndices[95],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5095,8 +5500,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[480],
- /* return matcher indices */ &kMatcherIndices[85],
+ /* parameters */ &kParameters[543],
+ /* return matcher indices */ &kMatcherIndices[89],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5107,8 +5512,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[219],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* parameters */ &kParameters[270],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5119,8 +5524,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[166],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* parameters */ &kParameters[138],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5131,8 +5536,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[131],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* parameters */ &kParameters[143],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5143,8 +5548,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[25],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* parameters */ &kParameters[19],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5155,8 +5560,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[235],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* parameters */ &kParameters[246],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5167,8 +5572,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[86],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* parameters */ &kParameters[183],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5179,8 +5584,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[227],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* parameters */ &kParameters[234],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5191,8 +5596,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[71],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* parameters */ &kParameters[193],
+ /* return matcher indices */ &kMatcherIndices[87],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5203,7 +5608,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[215],
+ /* parameters */ &kParameters[226],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5215,7 +5620,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[76],
+ /* parameters */ &kParameters[208],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5227,7 +5632,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[81],
+ /* parameters */ &kParameters[73],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5239,1147 +5644,1147 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[43],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [39] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[222],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [40] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[203],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [41] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[357],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [42] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[414],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [43] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[417],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [44] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[338],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [45] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[286],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [46] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[118],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [47] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[450],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [48] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[278],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [49] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[444],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [50] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[274],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [51] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[429],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [52] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[266],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [53] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[262],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [54] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[148],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [55] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[405],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [56] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[258],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [57] */
+ /* num parameters */ 4,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[330],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [58] */
+ /* num parameters */ 5,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[153],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [59] */
+ /* num parameters */ 5,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[133],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [60] */
+ /* num parameters */ 6,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[31],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [61] */
+ /* num parameters */ 4,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[318],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [62] */
+ /* num parameters */ 5,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[103],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [63] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[360],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [64] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[218],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [65] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[314],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [66] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[93],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [67] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[375],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [68] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[302],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [69] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[345],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [70] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[363],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [71] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[242],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [72] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[390],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [73] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[393],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [74] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[369],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [75] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[250],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [76] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[423],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [77] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[432],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [78] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[447],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [79] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[282],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [80] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[453],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [81] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[567],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [82] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[568],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [83] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[569],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [84] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[570],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [85] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[571],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [86] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[572],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [87] */
+ /* 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[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [88] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[574],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [89] */
+ /* 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[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [90] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[576],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [91] */
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[456],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [92] */
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[411],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [93] */
+ /* num parameters */ 4,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[294],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [94] */
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[399],
+ /* return matcher indices */ &kMatcherIndices[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [95] */
+ /* 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[115],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [96] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[372],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [97] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[306],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [98] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[366],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [99] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[495],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [100] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[78],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [101] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[7],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [102] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[67],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [103] */
+ /* num parameters */ 7,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[0],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [104] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[113],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [105] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[37],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [106] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[128],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [107] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[25],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [108] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[254],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [109] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[168],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [110] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[173],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [111] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[13],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [112] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[322],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [113] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[213],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [114] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[230],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [115] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[198],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [116] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[298],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [117] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[83],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [118] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[88],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [119] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[61],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [120] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[290],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [121] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[108],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [122] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[238],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [123] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[163],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [124] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[158],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [125] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[49],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [126] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[334],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [127] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[188],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [128] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[326],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [129] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[178],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [130] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[123],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [131] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[55],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [39] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[199],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [40] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[106],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [41] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[270],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [42] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[366],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [43] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[363],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [44] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[251],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [45] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[255],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [46] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[111],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [47] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[348],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [48] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[211],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [49] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[333],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [50] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[179],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [51] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[282],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [52] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[191],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [53] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[195],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [54] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[91],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [55] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[345],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [56] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[239],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [57] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[273],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [58] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[276],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [59] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[259],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [60] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[279],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [61] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[372],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [62] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[285],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [63] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[171],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [64] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[300],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [65] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[303],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [66] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[306],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [67] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[263],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [68] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[312],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [69] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[486],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [70] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[487],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [71] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[488],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [72] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[489],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [73] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[490],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [74] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[491],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [75] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[492],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [76] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[493],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [77] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[494],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [78] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[495],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [79] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[315],
- /* return matcher indices */ &kMatcherIndices[111],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [80] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[267],
- /* return matcher indices */ &kMatcherIndices[111],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [81] */
- /* num parameters */ 4,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[203],
- /* return matcher indices */ &kMatcherIndices[111],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [82] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[330],
- /* return matcher indices */ &kMatcherIndices[111],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [83] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[336],
- /* return matcher indices */ &kMatcherIndices[111],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [84] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[309],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [85] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[231],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [86] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[342],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [87] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[410],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [88] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[223],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [89] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[66],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [90] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[146],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [91] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[19],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [92] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[243],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [93] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[116],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [94] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[207],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [95] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[61],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [96] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[161],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [97] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[7],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [98] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[13],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [99] */
- /* num parameters */ 7,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[0],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [100] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[121],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [101] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[43],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [102] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[136],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [103] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[31],
- /* return matcher indices */ &kMatcherIndices[81],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [104] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[183],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [105] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[141],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [106] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[151],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [107] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[49],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [108] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[175],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [109] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[156],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [110] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[247],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [111] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[96],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [112] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[101],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [113] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[37],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [114] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[187],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [115] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[126],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [116] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[481],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [117] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[482],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [118] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[483],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [119] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[484],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [120] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 2,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[485],
- /* return matcher indices */ &kMatcherIndices[55],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [121] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[351],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [122] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[354],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [123] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[357],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [124] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[288],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [125] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[291],
- /* return matcher indices */ &kMatcherIndices[39],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [126] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[297],
- /* return matcher indices */ &kMatcherIndices[39],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [127] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[571],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [128] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[570],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [129] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[565],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [130] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[564],
- /* return matcher indices */ &kMatcherIndices[39],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [131] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[402],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
/* [132] */
- /* num parameters */ 2,
+ /* num parameters */ 4,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[400],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[310],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [133] */
- /* num parameters */ 1,
+ /* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[498],
+ /* parameters */ &kParameters[98],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6387,37 +6792,37 @@
{
/* [134] */
/* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[474],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[562],
+ /* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [135] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[562],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[563],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [136] */
/* 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[561],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[564],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6427,93 +6832,93 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[560],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[565],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [138] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[559],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* open numbers */ &kOpenNumbers[0],
+ /* parameters */ &kParameters[566],
+ /* return matcher indices */ &kMatcherIndices[55],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [139] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[558],
+ /* parameters */ &kParameters[378],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [140] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[557],
+ /* parameters */ &kParameters[381],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [141] */
- /* 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[556],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[384],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [142] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[555],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[3],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[435],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [143] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[554],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[3],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[438],
+ /* return matcher indices */ &kMatcherIndices[30],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [144] */
- /* num parameters */ 1,
- /* num open types */ 0,
+ /* num parameters */ 3,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[553],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[441],
+ /* return matcher indices */ &kMatcherIndices[30],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6523,9 +6928,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[552],
+ /* parameters */ &kParameters[652],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6535,9 +6940,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[551],
+ /* parameters */ &kParameters[651],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6547,7 +6952,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[550],
+ /* parameters */ &kParameters[561],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6559,7 +6964,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[549],
+ /* parameters */ &kParameters[560],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6571,9 +6976,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[548],
+ /* parameters */ &kParameters[643],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6583,9 +6988,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[547],
+ /* parameters */ &kParameters[642],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6595,9 +7000,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[567],
+ /* parameters */ &kParameters[641],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6607,9 +7012,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[566],
+ /* parameters */ &kParameters[640],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6619,9 +7024,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[546],
+ /* parameters */ &kParameters[639],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6631,33 +7036,33 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[545],
+ /* parameters */ &kParameters[638],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [155] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[294],
+ /* parameters */ &kParameters[637],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [156] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[369],
+ /* parameters */ &kParameters[636],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6667,9 +7072,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[544],
+ /* parameters */ &kParameters[635],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6679,9 +7084,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[543],
+ /* parameters */ &kParameters[634],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6691,9 +7096,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[542],
- /* return matcher indices */ &kMatcherIndices[138],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[633],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6703,9 +7108,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[541],
- /* return matcher indices */ &kMatcherIndices[103],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[632],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6715,9 +7120,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[540],
+ /* parameters */ &kParameters[631],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6727,9 +7132,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[539],
+ /* parameters */ &kParameters[630],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6739,9 +7144,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[538],
+ /* parameters */ &kParameters[629],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6751,33 +7156,33 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[537],
+ /* parameters */ &kParameters[628],
/* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [165] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[536],
+ /* parameters */ &kParameters[477],
/* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [166] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[535],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[479],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6787,7 +7192,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[569],
+ /* parameters */ &kParameters[627],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6799,31 +7204,31 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[568],
+ /* parameters */ &kParameters[626],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [169] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[533],
+ /* parameters */ &kParameters[351],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [170] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[532],
+ /* parameters */ &kParameters[348],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6835,10 +7240,10 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[531],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[625],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* is_deprecated */ false,
},
{
/* [172] */
@@ -6847,10 +7252,10 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[530],
- /* return matcher indices */ &kMatcherIndices[24],
+ /* parameters */ &kParameters[624],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* is_deprecated */ false,
},
{
/* [173] */
@@ -6859,10 +7264,10 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[529],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[623],
+ /* return matcher indices */ &kMatcherIndices[138],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* is_deprecated */ false,
},
{
/* [174] */
@@ -6871,10 +7276,10 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[528],
- /* return matcher indices */ &kMatcherIndices[24],
+ /* parameters */ &kParameters[622],
+ /* return matcher indices */ &kMatcherIndices[107],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* is_deprecated */ false,
},
{
/* [175] */
@@ -6883,10 +7288,10 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[527],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* parameters */ &kParameters[621],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
},
{
/* [176] */
@@ -6895,10 +7300,10 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[526],
- /* return matcher indices */ &kMatcherIndices[24],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* parameters */ &kParameters[620],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
},
{
/* [177] */
@@ -6907,10 +7312,10 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[525],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* parameters */ &kParameters[619],
+ /* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
},
{
/* [178] */
@@ -6919,56 +7324,56 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[524],
- /* return matcher indices */ &kMatcherIndices[24],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* parameters */ &kParameters[618],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
},
{
/* [179] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[394],
- /* return matcher indices */ &kMatcherIndices[12],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [180] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[390],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [181] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[523],
+ /* parameters */ &kParameters[617],
/* return matcher indices */ &kMatcherIndices[12],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [180] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[616],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [181] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[646],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [182] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[522],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[645],
+ /* return matcher indices */ &kMatcherIndices[30],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6979,7 +7384,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[521],
+ /* parameters */ &kParameters[614],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6991,7 +7396,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[520],
+ /* parameters */ &kParameters[613],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7003,10 +7408,10 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[519],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[612],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
+ /* is_deprecated */ true,
},
{
/* [186] */
@@ -7015,151 +7420,151 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[518],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[611],
+ /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
+ /* is_deprecated */ true,
},
{
/* [187] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[388],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [188] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[380],
- /* return matcher indices */ &kMatcherIndices[39],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [189] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[414],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [190] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[450],
- /* return matcher indices */ &kMatcherIndices[39],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [191] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[324],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [192] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[321],
- /* return matcher indices */ &kMatcherIndices[39],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* 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[517],
- /* return matcher indices */ &kMatcherIndices[137],
+ /* parameters */ &kParameters[610],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [188] */
+ /* 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[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [189] */
+ /* 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[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [190] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[607],
+ /* return matcher indices */ &kMatcherIndices[24],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [191] */
+ /* 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,
+ },
+ {
+ /* [192] */
+ /* 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,
+ },
+ {
+ /* [193] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[487],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [194] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[516],
- /* return matcher indices */ &kMatcherIndices[101],
+ /* parameters */ &kParameters[513],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [195] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[408],
+ /* parameters */ &kParameters[604],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [196] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[406],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[603],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [197] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[424],
+ /* parameters */ &kParameters[602],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [198] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[426],
+ /* parameters */ &kParameters[601],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7171,7 +7576,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[502],
+ /* parameters */ &kParameters[600],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7183,56 +7588,56 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[501],
+ /* parameters */ &kParameters[599],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [201] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[496],
- /* return matcher indices */ &kMatcherIndices[55],
+ /* parameters */ &kParameters[493],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [202] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[497],
- /* return matcher indices */ &kMatcherIndices[55],
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[459],
+ /* return matcher indices */ &kMatcherIndices[30],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [203] */
- /* num parameters */ 1,
- /* num open types */ 0,
+ /* num parameters */ 2,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[573],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[491],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [204] */
- /* num parameters */ 1,
- /* num open types */ 0,
+ /* num parameters */ 2,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[572],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[489],
+ /* return matcher indices */ &kMatcherIndices[30],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7243,7 +7648,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[575],
+ /* parameters */ &kParameters[648],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7255,32 +7660,32 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[574],
+ /* parameters */ &kParameters[647],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [207] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[382],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[598],
+ /* return matcher indices */ &kMatcherIndices[137],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [208] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[384],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[597],
+ /* return matcher indices */ &kMatcherIndices[103],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7291,8 +7696,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[579],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[650],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7303,44 +7708,44 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[578],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[649],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [211] */
- /* num parameters */ 1,
- /* num open types */ 0,
+ /* num parameters */ 3,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[465],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[402],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [212] */
- /* num parameters */ 1,
- /* num open types */ 0,
+ /* num parameters */ 3,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[463],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[408],
+ /* return matcher indices */ &kMatcherIndices[30],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [213] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[581],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[577],
+ /* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7348,34 +7753,34 @@
/* [214] */
/* 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[580],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[578],
+ /* return matcher indices */ &kMatcherIndices[55],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [215] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[508],
+ /* parameters */ &kParameters[485],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [216] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[507],
+ /* parameters */ &kParameters[483],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7387,7 +7792,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[583],
+ /* parameters */ &kParameters[654],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7399,7 +7804,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[582],
+ /* parameters */ &kParameters[653],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7411,7 +7816,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[506],
+ /* parameters */ &kParameters[656],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7423,31 +7828,31 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[505],
+ /* parameters */ &kParameters[655],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [221] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[504],
+ /* parameters */ &kParameters[475],
/* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [222] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[503],
+ /* parameters */ &kParameters[467],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7459,8 +7864,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[472],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[660],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7471,128 +7876,128 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[470],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[659],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [225] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[360],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[662],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [226] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[375],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[661],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [227] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[500],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* parameters */ &kParameters[590],
+ /* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [228] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[499],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* parameters */ &kParameters[589],
+ /* return matcher indices */ &kMatcherIndices[30],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [229] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[2],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[509],
- /* return matcher indices */ &kMatcherIndices[1],
+ /* parameters */ &kParameters[588],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [230] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[452],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* parameters */ &kParameters[587],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [231] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[585],
- /* return matcher indices */ &kMatcherIndices[1],
+ /* parameters */ &kParameters[664],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [232] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[584],
- /* return matcher indices */ &kMatcherIndices[39],
+ /* parameters */ &kParameters[663],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [233] */
- /* num parameters */ 0,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
/* parameters */ &kParameters[586],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
+ /* 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 */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[513],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[585],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7600,22 +8005,22 @@
/* [235] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 2,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
- /* parameters */ &kParameters[468],
- /* return matcher indices */ &kMatcherIndices[9],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[584],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [236] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[339],
+ /* parameters */ &kParameters[583],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7627,8 +8032,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[461],
- /* return matcher indices */ &kMatcherIndices[89],
+ /* parameters */ &kParameters[582],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7636,11 +8041,11 @@
/* [238] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[459],
- /* return matcher indices */ &kMatcherIndices[89],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[581],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7651,8 +8056,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[457],
- /* return matcher indices */ &kMatcherIndices[89],
+ /* parameters */ &kParameters[556],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7660,11 +8065,11 @@
/* [240] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[455],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[555],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7675,44 +8080,44 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[453],
- /* return matcher indices */ &kMatcherIndices[81],
+ /* parameters */ &kParameters[580],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [242] */
- /* num parameters */ 0,
+ /* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[586],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[579],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [243] */
/* num parameters */ 2,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[386],
- /* return matcher indices */ &kMatcherIndices[21],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[469],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [244] */
- /* 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[510],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[471],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7723,8 +8128,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[511],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* parameters */ &kParameters[559],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7732,34 +8137,34 @@
/* [246] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[512],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[558],
+ /* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [247] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[514],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* parameters */ &kParameters[342],
+ /* return matcher indices */ &kMatcherIndices[12],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [248] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[515],
+ /* parameters */ &kParameters[426],
/* return matcher indices */ &kMatcherIndices[21],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7771,203 +8176,419 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[0],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[534],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
- },
- {
- /* [250] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[318],
- /* return matcher indices */ &kMatcherIndices[21],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [251] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[398],
+ /* parameters */ &kParameters[666],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
+ /* [250] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[665],
+ /* return matcher indices */ &kMatcherIndices[30],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [251] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[2],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[615],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
/* [252] */
/* 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[563],
- /* return matcher indices */ &kMatcherIndices[12],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[593],
+ /* return matcher indices */ &kMatcherIndices[43],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [253] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[404],
- /* return matcher indices */ &kMatcherIndices[87],
+ /* parameters */ &kParameters[554],
+ /* return matcher indices */ &kMatcherIndices[91],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [254] */
/* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[4],
- /* parameters */ &kParameters[576],
- /* return matcher indices */ &kMatcherIndices[43],
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[553],
+ /* return matcher indices */ &kMatcherIndices[91],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [255] */
/* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[577],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[552],
+ /* return matcher indices */ &kMatcherIndices[91],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [256] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[412],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[551],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [257] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[378],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[550],
+ /* return matcher indices */ &kMatcherIndices[87],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [258] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[416],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num parameters */ 0,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[667],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [259] */
- /* num parameters */ 2,
+ /* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[418],
- /* return matcher indices */ &kMatcherIndices[1],
+ /* parameters */ &kParameters[387],
+ /* return matcher indices */ &kMatcherIndices[105],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [260] */
- /* num parameters */ 2,
- /* num open types */ 1,
+ /* num parameters */ 3,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[5],
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
/* parameters */ &kParameters[420],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [261] */
/* num parameters */ 2,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[422],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[465],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [262] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[430],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[591],
+ /* return matcher indices */ &kMatcherIndices[43],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [263] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[396],
- /* return matcher indices */ &kMatcherIndices[1],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[592],
+ /* return matcher indices */ &kMatcherIndices[43],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [264] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[594],
+ /* return matcher indices */ &kMatcherIndices[43],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [265] */
+ /* 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[43],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [266] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[596],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [267] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 2,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[2],
+ /* parameters */ &kParameters[557],
+ /* return matcher indices */ &kMatcherIndices[9],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [268] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[354],
+ /* return matcher indices */ &kMatcherIndices[21],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [269] */
/* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[481],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [270] */
+ /* 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],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [271] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[463],
+ /* return matcher indices */ &kMatcherIndices[83],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [272] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[2],
+ /* open numbers */ &kOpenNumbers[4],
+ /* parameters */ &kParameters[657],
+ /* return matcher indices */ &kMatcherIndices[43],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [273] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[428],
+ /* parameters */ &kParameters[658],
/* return matcher indices */ &kMatcherIndices[1],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [265] */
- /* num parameters */ 3,
+ /* [274] */
+ /* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[5],
- /* parameters */ &kParameters[327],
- /* return matcher indices */ &kMatcherIndices[127],
+ /* parameters */ &kParameters[501],
+ /* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
+ {
+ /* [275] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[505],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [276] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[509],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [277] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[531],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [278] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[517],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [279] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[521],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [280] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[525],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [281] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[499],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [282] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[5],
+ /* parameters */ &kParameters[473],
+ /* return matcher indices */ &kMatcherIndices[1],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [283] */
+ /* num parameters */ 0,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[667],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
};
constexpr IntrinsicInfo kIntrinsics[] = {
@@ -7976,309 +8597,309 @@
/* fn abs<T : fiu32>(T) -> T */
/* fn abs<N : num, T : fiu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[231],
+ /* overloads */ &kOverloads[249],
},
{
/* [1] */
/* fn acos(f32) -> f32 */
/* fn acos<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[217],
+ /* overloads */ &kOverloads[231],
},
{
/* [2] */
/* fn all(bool) -> bool */
/* fn all<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ &kOverloads[213],
+ /* overloads */ &kOverloads[225],
},
{
/* [3] */
/* fn any(bool) -> bool */
/* fn any<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ &kOverloads[209],
+ /* overloads */ &kOverloads[223],
},
{
/* [4] */
/* fn arrayLength<T, A : access>(ptr<storage, array<T>, A>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[254],
+ /* overloads */ &kOverloads[272],
},
{
/* [5] */
/* fn asin(f32) -> f32 */
/* fn asin<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[205],
+ /* overloads */ &kOverloads[219],
},
{
/* [6] */
/* fn atan(f32) -> f32 */
/* fn atan<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[203],
+ /* overloads */ &kOverloads[217],
},
{
/* [7] */
/* fn atan2(f32, f32) -> f32 */
/* fn atan2<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[195],
+ /* overloads */ &kOverloads[215],
},
{
/* [8] */
/* fn ceil(f32) -> f32 */
/* fn ceil<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[127],
+ /* overloads */ &kOverloads[145],
},
{
/* [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[191],
+ /* overloads */ &kOverloads[211],
},
{
/* [10] */
/* fn cos(f32) -> f32 */
/* fn cos<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[167],
+ /* overloads */ &kOverloads[209],
},
{
/* [11] */
/* fn cosh(f32) -> f32 */
/* fn cosh<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[151],
+ /* overloads */ &kOverloads[205],
},
{
/* [12] */
/* fn countOneBits<T : iu32>(T) -> T */
/* fn countOneBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[129],
+ /* overloads */ &kOverloads[181],
},
{
/* [13] */
/* fn cross(vec3<f32>, vec3<f32>) -> vec3<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[253],
+ /* overloads */ &kOverloads[271],
},
{
/* [14] */
/* fn determinant<N : num>(mat<N, N, f32>) -> f32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[252],
+ /* overloads */ &kOverloads[270],
},
{
/* [15] */
/* fn distance(f32, f32) -> f32 */
/* fn distance<N : num>(vec<N, f32>, vec<N, f32>) -> f32 */
/* num overloads */ 2,
- /* overloads */ &kOverloads[131],
+ /* overloads */ &kOverloads[165],
},
{
/* [16] */
/* fn dot<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[251],
+ /* overloads */ &kOverloads[269],
},
{
/* [17] */
/* fn dpdx(f32) -> f32 */
/* fn dpdx<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[135],
+ /* overloads */ &kOverloads[149],
},
{
/* [18] */
/* fn dpdxCoarse(f32) -> f32 */
/* fn dpdxCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[137],
+ /* overloads */ &kOverloads[151],
},
{
/* [19] */
/* fn dpdxFine(f32) -> f32 */
/* fn dpdxFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[139],
+ /* overloads */ &kOverloads[153],
},
{
/* [20] */
/* fn dpdy(f32) -> f32 */
/* fn dpdy<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[141],
+ /* overloads */ &kOverloads[155],
},
{
/* [21] */
/* fn dpdyCoarse(f32) -> f32 */
/* fn dpdyCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[143],
+ /* overloads */ &kOverloads[157],
},
{
/* [22] */
/* fn dpdyFine(f32) -> f32 */
/* fn dpdyFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[145],
+ /* overloads */ &kOverloads[159],
},
{
/* [23] */
/* fn exp(f32) -> f32 */
/* fn exp<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[147],
+ /* overloads */ &kOverloads[161],
},
{
/* [24] */
/* fn exp2(f32) -> f32 */
/* fn exp2<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[149],
+ /* overloads */ &kOverloads[163],
},
{
/* [25] */
/* fn faceForward<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[250],
+ /* overloads */ &kOverloads[268],
},
{
/* [26] */
/* fn floor(f32) -> f32 */
/* fn floor<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[153],
+ /* overloads */ &kOverloads[167],
},
{
/* [27] */
/* fn fma(f32, f32, f32) -> f32 */
/* fn fma<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[155],
+ /* overloads */ &kOverloads[169],
},
{
/* [28] */
/* fn fract(f32) -> f32 */
/* fn fract<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[157],
+ /* overloads */ &kOverloads[171],
},
{
/* [29] */
/* fn frexp(f32) -> __frexp_result */
/* fn frexp<N : num>(vec<N, f32>) -> __frexp_result_vec<N> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[159],
+ /* overloads */ &kOverloads[173],
},
{
/* [30] */
/* fn fwidth(f32) -> f32 */
/* fn fwidth<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[161],
+ /* overloads */ &kOverloads[175],
},
{
/* [31] */
/* fn fwidthCoarse(f32) -> f32 */
/* fn fwidthCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[163],
+ /* overloads */ &kOverloads[177],
},
{
/* [32] */
/* fn fwidthFine(f32) -> f32 */
/* fn fwidthFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[165],
+ /* overloads */ &kOverloads[179],
},
{
/* [33] */
/* fn ignore<T>(T) */
/* num overloads */ 1,
- /* overloads */ &kOverloads[249],
+ /* overloads */ &kOverloads[251],
},
{
/* [34] */
/* fn inverseSqrt(f32) -> f32 */
/* fn inverseSqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[169],
+ /* overloads */ &kOverloads[183],
},
{
/* [35] */
/* fn isFinite(f32) -> bool */
/* fn isFinite<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[171],
+ /* overloads */ &kOverloads[185],
},
{
/* [36] */
/* fn isInf(f32) -> bool */
/* fn isInf<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[173],
+ /* overloads */ &kOverloads[187],
},
{
/* [37] */
/* fn isNan(f32) -> bool */
/* fn isNan<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[175],
+ /* overloads */ &kOverloads[189],
},
{
/* [38] */
/* fn isNormal(f32) -> bool */
/* fn isNormal<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[177],
+ /* overloads */ &kOverloads[191],
},
{
/* [39] */
/* fn ldexp(f32, i32) -> f32 */
/* fn ldexp<N : num>(vec<N, f32>, vec<N, i32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[179],
+ /* overloads */ &kOverloads[193],
},
{
/* [40] */
/* fn length(f32) -> f32 */
/* fn length<N : num>(vec<N, f32>) -> f32 */
/* num overloads */ 2,
- /* overloads */ &kOverloads[181],
+ /* overloads */ &kOverloads[195],
},
{
/* [41] */
/* fn log(f32) -> f32 */
/* fn log<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[183],
+ /* overloads */ &kOverloads[197],
},
{
/* [42] */
/* fn log2(f32) -> f32 */
/* fn log2<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[185],
+ /* overloads */ &kOverloads[199],
},
{
/* [43] */
/* 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[187],
+ /* overloads */ &kOverloads[201],
},
{
/* [44] */
/* 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[189],
+ /* overloads */ &kOverloads[203],
},
{
/* [45] */
@@ -8286,83 +8907,83 @@
/* fn mix<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* fn mix<N : num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32> */
/* num overloads */ 3,
- /* overloads */ &kOverloads[121],
+ /* overloads */ &kOverloads[139],
},
{
/* [46] */
/* fn modf(f32) -> __modf_result */
/* fn modf<N : num>(vec<N, f32>) -> __modf_result_vec<N> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[193],
+ /* overloads */ &kOverloads[207],
},
{
/* [47] */
/* fn normalize<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[248],
+ /* overloads */ &kOverloads[266],
},
{
/* [48] */
/* fn pack2x16float(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[247],
+ /* overloads */ &kOverloads[265],
},
{
/* [49] */
/* fn pack2x16snorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[234],
+ /* overloads */ &kOverloads[264],
},
{
/* [50] */
/* fn pack2x16unorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[246],
+ /* overloads */ &kOverloads[252],
},
{
/* [51] */
/* fn pack4x8snorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[245],
+ /* overloads */ &kOverloads[263],
},
{
/* [52] */
/* fn pack4x8unorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[244],
+ /* overloads */ &kOverloads[262],
},
{
/* [53] */
/* fn pow(f32, f32) -> f32 */
/* fn pow<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[207],
+ /* overloads */ &kOverloads[221],
},
{
/* [54] */
/* fn reflect<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[243],
+ /* overloads */ &kOverloads[261],
},
{
/* [55] */
/* fn refract<N : num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[236],
+ /* overloads */ &kOverloads[260],
},
{
/* [56] */
/* fn reverseBits<T : iu32>(T) -> T */
/* fn reverseBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[229],
+ /* overloads */ &kOverloads[227],
},
{
/* [57] */
/* fn round(f32) -> f32 */
/* fn round<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[215],
+ /* overloads */ &kOverloads[229],
},
{
/* [58] */
@@ -8370,118 +8991,118 @@
/* fn select<T : scalar, N : num>(vec<N, T>, vec<N, T>, bool) -> vec<N, T> */
/* fn select<N : num, T : scalar>(vec<N, T>, vec<N, T>, vec<N, bool>) -> vec<N, T> */
/* num overloads */ 3,
- /* overloads */ &kOverloads[124],
+ /* overloads */ &kOverloads[142],
},
{
/* [59] */
/* fn sign(f32) -> f32 */
/* fn sign<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[219],
+ /* overloads */ &kOverloads[233],
},
{
/* [60] */
/* fn sin(f32) -> f32 */
/* fn sin<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[221],
+ /* overloads */ &kOverloads[235],
},
{
/* [61] */
/* fn sinh(f32) -> f32 */
/* fn sinh<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[199],
+ /* overloads */ &kOverloads[237],
},
{
/* [62] */
/* 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[225],
+ /* overloads */ &kOverloads[247],
},
{
/* [63] */
/* fn sqrt(f32) -> f32 */
/* fn sqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[227],
+ /* overloads */ &kOverloads[241],
},
{
/* [64] */
/* fn step(f32, f32) -> f32 */
/* fn step<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[197],
+ /* overloads */ &kOverloads[243],
},
{
/* [65] */
/* fn storageBarrier() */
/* num overloads */ 1,
- /* overloads */ &kOverloads[233],
+ /* overloads */ &kOverloads[283],
},
{
/* [66] */
/* fn tan(f32) -> f32 */
/* fn tan<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[133],
+ /* overloads */ &kOverloads[147],
},
{
/* [67] */
/* fn tanh(f32) -> f32 */
/* fn tanh<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[223],
+ /* overloads */ &kOverloads[245],
},
{
/* [68] */
/* fn transpose<M : num, N : num>(mat<M, N, f32>) -> mat<N, M, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[235],
+ /* overloads */ &kOverloads[267],
},
{
/* [69] */
/* fn trunc(f32) -> f32 */
/* fn trunc<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[211],
+ /* overloads */ &kOverloads[239],
},
{
/* [70] */
/* fn unpack2x16float(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[237],
+ /* overloads */ &kOverloads[253],
},
{
/* [71] */
/* fn unpack2x16snorm(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[238],
+ /* overloads */ &kOverloads[254],
},
{
/* [72] */
/* fn unpack2x16unorm(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[239],
+ /* overloads */ &kOverloads[255],
},
{
/* [73] */
/* fn unpack4x8snorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[240],
+ /* overloads */ &kOverloads[256],
},
{
/* [74] */
/* fn unpack4x8unorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[241],
+ /* overloads */ &kOverloads[257],
},
{
/* [75] */
/* fn workgroupBarrier() */
/* num overloads */ 1,
- /* overloads */ &kOverloads[242],
+ /* overloads */ &kOverloads[258],
},
{
/* [76] */
@@ -8517,16 +9138,44 @@
},
{
/* [77] */
+ /* 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> */
+ /* fn textureGather<T : fiu32>(component: i32, texture: texture_2d_array<T>, sampler: sampler, coords: vec2<f32>, array_index: i32, offset: vec2<i32>) -> vec4<T> */
+ /* fn textureGather<T : fiu32>(component: i32, texture: texture_cube<T>, sampler: sampler, coords: vec3<f32>) -> vec4<T> */
+ /* fn textureGather<T : fiu32>(component: i32, texture: texture_cube_array<T>, sampler: sampler, coords: vec3<f32>, array_index: i32) -> vec4<T> */
+ /* fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
+ /* fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>, offset: vec2<i32>) -> vec4<f32> */
+ /* fn textureGather(texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: i32) -> vec4<f32> */
+ /* fn textureGather(texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: i32, offset: vec2<i32>) -> vec4<f32> */
+ /* fn textureGather(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> vec4<f32> */
+ /* fn textureGather(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: i32) -> vec4<f32> */
+ /* num overloads */ 12,
+ /* overloads */ &kOverloads[57],
+ },
+ {
+ /* [78] */
+ /* 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> */
+ /* fn textureGatherCompare(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: i32, depth_ref: f32, offset: vec2<i32>) -> vec4<f32> */
+ /* fn textureGatherCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> vec4<f32> */
+ /* fn textureGatherCompare(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: i32, depth_ref: f32) -> vec4<f32> */
+ /* num overloads */ 6,
+ /* overloads */ &kOverloads[116],
+ },
+ {
+ /* [79] */
/* 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 */
/* fn textureNumLayers(texture: texture_depth_cube_array) -> i32 */
/* fn textureNumLayers<F : texel_format, A : write_only>(texture: texture_storage_2d_array<F, A>) -> i32 */
/* num overloads */ 5,
- /* overloads */ &kOverloads[116],
+ /* overloads */ &kOverloads[134],
},
{
- /* [78] */
+ /* [80] */
/* 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 */
@@ -8538,17 +9187,17 @@
/* fn textureNumLevels(texture: texture_depth_cube) -> i32 */
/* fn textureNumLevels(texture: texture_depth_cube_array) -> i32 */
/* num overloads */ 10,
- /* overloads */ &kOverloads[69],
+ /* overloads */ &kOverloads[81],
},
{
- /* [79] */
+ /* [81] */
/* fn textureNumSamples<T : fiu32>(texture: texture_multisampled_2d<T>) -> i32 */
/* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> i32 */
/* num overloads */ 2,
- /* overloads */ &kOverloads[201],
+ /* overloads */ &kOverloads[213],
},
{
- /* [80] */
+ /* [82] */
/* 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> */
@@ -8568,7 +9217,7 @@
/* overloads */ &kOverloads[42],
},
{
- /* [81] */
+ /* [83] */
/* 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> */
@@ -8578,10 +9227,10 @@
/* fn textureSampleBias(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, bias: f32) -> vec4<f32> */
/* fn textureSampleBias(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: i32, bias: f32) -> vec4<f32> */
/* num overloads */ 8,
- /* overloads */ &kOverloads[88],
+ /* overloads */ &kOverloads[108],
},
{
- /* [82] */
+ /* [84] */
/* 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 */
@@ -8589,10 +9238,10 @@
/* fn textureSampleCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompare(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: i32, depth_ref: f32) -> f32 */
/* num overloads */ 6,
- /* overloads */ &kOverloads[110],
+ /* overloads */ &kOverloads[122],
},
{
- /* [83] */
+ /* [85] */
/* 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 */
@@ -8600,10 +9249,10 @@
/* fn textureSampleCompareLevel(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompareLevel(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: i32, depth_ref: f32) -> f32 */
/* num overloads */ 6,
- /* overloads */ &kOverloads[104],
+ /* overloads */ &kOverloads[128],
},
{
- /* [84] */
+ /* [86] */
/* 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> */
@@ -8613,10 +9262,10 @@
/* fn textureSampleGrad(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
/* fn textureSampleGrad(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: i32, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
/* num overloads */ 8,
- /* overloads */ &kOverloads[96],
+ /* overloads */ &kOverloads[100],
},
{
- /* [85] */
+ /* [87] */
/* 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> */
@@ -8636,7 +9285,7 @@
/* overloads */ &kOverloads[27],
},
{
- /* [86] */
+ /* [88] */
/* 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>) */
@@ -8650,10 +9299,10 @@
/* fn textureStore(texture: texture_storage_2d_array<u32_texel_format, write>, coords: vec2<i32>, array_index: i32, value: vec4<u32>) */
/* fn textureStore(texture: texture_storage_3d<u32_texel_format, write>, coords: vec3<i32>, value: vec4<u32>) */
/* num overloads */ 12,
- /* overloads */ &kOverloads[57],
+ /* overloads */ &kOverloads[69],
},
{
- /* [87] */
+ /* [89] */
/* 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> */
@@ -8664,73 +9313,73 @@
/* fn textureLoad(texture: texture_depth_multisampled_2d, coords: vec2<i32>, sample_index: i32) -> f32 */
/* fn textureLoad(texture: texture_external, coords: vec2<i32>) -> vec4<f32> */
/* num overloads */ 9,
- /* overloads */ &kOverloads[79],
- },
- {
- /* [88] */
- /* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[255],
- },
- {
- /* [89] */
- /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[256],
+ /* overloads */ &kOverloads[91],
},
{
/* [90] */
- /* 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[257],
+ /* overloads */ &kOverloads[273],
},
{
/* [91] */
- /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
/* num overloads */ 1,
- /* overloads */ &kOverloads[258],
+ /* overloads */ &kOverloads[274],
},
{
/* [92] */
- /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[259],
+ /* overloads */ &kOverloads[275],
},
{
/* [93] */
- /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[260],
+ /* overloads */ &kOverloads[276],
},
{
/* [94] */
- /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[261],
+ /* overloads */ &kOverloads[277],
},
{
/* [95] */
- /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[262],
+ /* overloads */ &kOverloads[278],
},
{
/* [96] */
- /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[263],
+ /* overloads */ &kOverloads[279],
},
{
/* [97] */
- /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[264],
+ /* overloads */ &kOverloads[280],
},
{
/* [98] */
+ /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[281],
+ },
+ {
+ /* [99] */
+ /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
+ /* num overloads */ 1,
+ /* overloads */ &kOverloads[282],
+ },
+ {
+ /* [100] */
/* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> vec2<T> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[265],
+ /* overloads */ &kOverloads[259],
},
};
diff --git a/src/intrinsics.def b/src/intrinsics.def
index 0d436fe..bffcb28 100644
--- a/src/intrinsics.def
+++ b/src/intrinsics.def
@@ -423,6 +423,24 @@
fn textureDimensions<F: texel_format, A: write_only>(texture: texture_storage_2d_array<F, A>) -> vec2<i32>
fn textureDimensions<F: texel_format, A: write_only>(texture: texture_storage_3d<F, A>) -> vec3<i32>
fn textureDimensions(texture: texture_external) -> vec2<i32>
+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>
+fn textureGather<T: fiu32>(component: i32, texture: texture_2d_array<T>, sampler: sampler, coords: vec2<f32>, array_index: i32, offset: vec2<i32>) -> vec4<T>
+fn textureGather<T: fiu32>(component: i32, texture: texture_cube<T>, sampler: sampler, coords: vec3<f32>) -> vec4<T>
+fn textureGather<T: fiu32>(component: i32, texture: texture_cube_array<T>, sampler: sampler, coords: vec3<f32>, array_index: i32) -> vec4<T>
+fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>) -> vec4<f32>
+fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>, offset: vec2<i32>) -> vec4<f32>
+fn textureGather(texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: i32) -> vec4<f32>
+fn textureGather(texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: i32, offset: vec2<i32>) -> vec4<f32>
+fn textureGather(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> vec4<f32>
+fn textureGather(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: i32) -> vec4<f32>
+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>
+fn textureGatherCompare(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: i32, depth_ref: f32, offset: vec2<i32>) -> vec4<f32>
+fn textureGatherCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> vec4<f32>
+fn textureGatherCompare(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: i32, depth_ref: f32) -> vec4<f32>
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
diff --git a/src/resolver/intrinsic_test.cc b/src/resolver/intrinsic_test.cc
index a2f848a..c0ba99d 100644
--- a/src/resolver/intrinsic_test.cc
+++ b/src/resolver/intrinsic_test.cc
@@ -1744,6 +1744,42 @@
case ValidTextureOverload::kDimensionsStorageWO2dArray:
case ValidTextureOverload::kDimensionsStorageWO3d:
return R"(textureDimensions(texture))";
+ case ValidTextureOverload::kGather2dF32:
+ return R"(textureGather(component, texture, sampler, coords))";
+ case ValidTextureOverload::kGather2dOffsetF32:
+ return R"(textureGather(component, texture, sampler, coords, offset))";
+ case ValidTextureOverload::kGather2dArrayF32:
+ return R"(textureGather(component, texture, sampler, coords, array_index))";
+ case ValidTextureOverload::kGather2dArrayOffsetF32:
+ return R"(textureGather(component, texture, sampler, coords, array_index, offset))";
+ case ValidTextureOverload::kGatherCubeF32:
+ return R"(textureGather(component, texture, sampler, coords))";
+ case ValidTextureOverload::kGatherCubeArrayF32:
+ return R"(textureGather(component, texture, sampler, coords, array_index))";
+ case ValidTextureOverload::kGatherDepth2dF32:
+ return R"(textureGather(texture, sampler, coords))";
+ case ValidTextureOverload::kGatherDepth2dOffsetF32:
+ return R"(textureGather(texture, sampler, coords, offset))";
+ case ValidTextureOverload::kGatherDepth2dArrayF32:
+ return R"(textureGather(texture, sampler, coords, array_index))";
+ case ValidTextureOverload::kGatherDepth2dArrayOffsetF32:
+ return R"(textureGather(texture, sampler, coords, array_index, offset))";
+ case ValidTextureOverload::kGatherDepthCubeF32:
+ return R"(textureGather(texture, sampler, coords))";
+ case ValidTextureOverload::kGatherDepthCubeArrayF32:
+ return R"(textureGather(texture, sampler, coords, array_index))";
+ case ValidTextureOverload::kGatherCompareDepth2dF32:
+ return R"(textureGatherCompare(texture, sampler, coords, depth_ref))";
+ case ValidTextureOverload::kGatherCompareDepth2dOffsetF32:
+ return R"(textureGatherCompare(texture, sampler, coords, depth_ref, offset))";
+ case ValidTextureOverload::kGatherCompareDepth2dArrayF32:
+ return R"(textureGatherCompare(texture, sampler, coords, array_index, depth_ref))";
+ case ValidTextureOverload::kGatherCompareDepth2dArrayOffsetF32:
+ return R"(textureGatherCompare(texture, sampler, coords, array_index, depth_ref, offset))";
+ case ValidTextureOverload::kGatherCompareDepthCubeF32:
+ return R"(textureGatherCompare(texture, sampler, coords, depth_ref))";
+ case ValidTextureOverload::kGatherCompareDepthCubeArrayF32:
+ return R"(textureGatherCompare(texture, sampler, coords, array_index, depth_ref))";
case ValidTextureOverload::kNumLayers2dArray:
case ValidTextureOverload::kNumLayersCubeArray:
case ValidTextureOverload::kNumLayersDepth2dArray:
@@ -1965,6 +2001,26 @@
EXPECT_TRUE(TypeOf(call)->Is<sem::I32>());
} else if (std::string(param.function) == "textureStore") {
EXPECT_TRUE(TypeOf(call)->Is<sem::Void>());
+ } else if (std::string(param.function) == "textureGather") {
+ auto* vec = As<sem::Vector>(TypeOf(call));
+ ASSERT_NE(vec, nullptr);
+ EXPECT_EQ(vec->Width(), 4u);
+ switch (param.texture_data_type) {
+ case ast::intrinsic::test::TextureDataType::kF32:
+ EXPECT_TRUE(vec->type()->Is<sem::F32>());
+ break;
+ case ast::intrinsic::test::TextureDataType::kU32:
+ EXPECT_TRUE(vec->type()->Is<sem::U32>());
+ break;
+ case ast::intrinsic::test::TextureDataType::kI32:
+ EXPECT_TRUE(vec->type()->Is<sem::I32>());
+ break;
+ }
+ } else if (std::string(param.function) == "textureGatherCompare") {
+ auto* vec = As<sem::Vector>(TypeOf(call));
+ ASSERT_NE(vec, nullptr);
+ EXPECT_EQ(vec->Width(), 4u);
+ EXPECT_TRUE(vec->type()->Is<sem::F32>());
} else {
switch (param.texture_kind) {
case ast::intrinsic::test::TextureKind::kRegular:
diff --git a/src/resolver/intrinsic_validation_test.cc b/src/resolver/intrinsic_validation_test.cc
index 49cfb07..edae91f 100644
--- a/src/resolver/intrinsic_validation_test.cc
+++ b/src/resolver/intrinsic_validation_test.cc
@@ -121,7 +121,7 @@
R"(12:34 error: 'mix' is a builtin and cannot be redeclared as a struct)");
}
-namespace TextureSamplerOffset {
+namespace texture_constexpr_args {
using TextureOverloadCase = ast::intrinsic::test::TextureOverloadCase;
using ValidTextureOverload = ast::intrinsic::test::ValidTextureOverload;
@@ -131,194 +131,272 @@
using i32 = ProgramBuilder::i32;
using f32 = ProgramBuilder::f32;
-static std::vector<TextureOverloadCase> ValidCases() {
+static std::vector<TextureOverloadCase> TextureCases(
+ std::unordered_set<ValidTextureOverload> overloads) {
std::vector<TextureOverloadCase> cases;
for (auto c : TextureOverloadCase::ValidCases()) {
- if (std::string(c.function).find("textureSample") == 0) {
- if (std::string(c.description).find("offset ") != std::string::npos) {
- cases.push_back(c);
- }
+ if (overloads.count(c.overload)) {
+ cases.push_back(c);
}
}
return cases;
}
-struct OffsetCase {
- bool is_valid;
- int32_t x;
- int32_t y;
- int32_t z;
- int32_t illegal_value = 0;
+enum class Position {
+ kFirst,
+ kLast,
};
-static std::vector<OffsetCase> OffsetCases() {
- return {
- {true, 0, 1, 2}, //
- {true, 7, -8, 7}, //
- {false, 10, 10, 20, 10}, //
- {false, -9, 0, 0, -9}, //
- {false, 0, 8, 0, 8}, //
+struct Parameter {
+ const char* const name;
+ const Position position;
+ int min;
+ int max;
+};
+
+class Constexpr {
+ public:
+ enum class Kind {
+ kScalar,
+ kVec2,
+ kVec3,
+ kVec3_Scalar_Vec2,
+ kVec3_Vec2_Scalar,
+ kEmptyVec2,
+ kEmptyVec3,
};
-}
-using IntrinsicTextureSamplerValidationTest =
- ResolverTestWithParam<std::tuple<TextureOverloadCase, // texture info
- OffsetCase // offset info
- >>;
-TEST_P(IntrinsicTextureSamplerValidationTest, ConstExpr) {
- auto& p = GetParam();
- auto param = std::get<0>(p);
- auto offset = std::get<1>(p);
- param.BuildTextureVariable(this);
- param.BuildSamplerVariable(this);
+ Constexpr(int32_t invalid_idx,
+ Kind k,
+ int32_t x = 0,
+ int32_t y = 0,
+ int32_t z = 0)
+ : invalid_index(invalid_idx), kind(k), values{x, y, z} {}
- auto args = param.args(this);
- // Make Resolver visit the Node about to be removed
- WrapInFunction(args.back());
- args.pop_back();
- if (NumCoordinateAxes(param.texture_dimension) == 2) {
- args.push_back(
- Construct(Source{{12, 34}}, ty.vec2<i32>(), offset.x, offset.y));
- } else if (NumCoordinateAxes(param.texture_dimension) == 3) {
- args.push_back(Construct(Source{{12, 34}}, ty.vec3<i32>(), offset.x,
- offset.y, offset.z));
+ const ast::Expression* operator()(Source src, ProgramBuilder& b) {
+ switch (kind) {
+ case Kind::kScalar:
+ return b.Expr(src, values[0]);
+ case Kind::kVec2:
+ return b.Construct(src, b.ty.vec2<i32>(), values[0], values[1]);
+ case Kind::kVec3:
+ return b.Construct(src, b.ty.vec3<i32>(), values[0], values[1],
+ values[2]);
+ case Kind::kVec3_Scalar_Vec2:
+ return b.Construct(src, b.ty.vec3<i32>(), values[0],
+ b.vec2<i32>(values[1], values[2]));
+ case Kind::kVec3_Vec2_Scalar:
+ return b.Construct(src, b.ty.vec3<i32>(),
+ b.vec2<i32>(values[0], values[1]), values[2]);
+ case Kind::kEmptyVec2:
+ return b.Construct(src, b.ty.vec2<i32>());
+ case Kind::kEmptyVec3:
+ return b.Construct(src, b.ty.vec3<i32>());
+ }
+ return nullptr;
}
- auto* call = Call(param.function, args);
- Func("func", {}, ty.void_(), {CallStmt(call)},
- {create<ast::StageDecoration>(ast::PipelineStage::kFragment)});
+ static const constexpr int32_t kValid = -1;
+ const int32_t invalid_index; // Expected error value, or kValid
+ const Kind kind;
+ const std::array<int32_t, 3> values;
+};
- if (offset.is_valid) {
+static std::ostream& operator<<(std::ostream& out, Parameter param) {
+ return out << param.name;
+}
+
+static std::ostream& operator<<(std::ostream& out, Constexpr expr) {
+ switch (expr.kind) {
+ case Constexpr::Kind::kScalar:
+ return out << expr.values[0];
+ case Constexpr::Kind::kVec2:
+ return out << "vec2(" << expr.values[0] << ", " << expr.values[1] << ")";
+ case Constexpr::Kind::kVec3:
+ return out << "vec3(" << expr.values[0] << ", " << expr.values[1] << ", "
+ << expr.values[2] << ")";
+ case Constexpr::Kind::kVec3_Scalar_Vec2:
+ return out << "vec3(" << expr.values[0] << ", vec2(" << expr.values[1]
+ << ", " << expr.values[2] << "))";
+ case Constexpr::Kind::kVec3_Vec2_Scalar:
+ return out << "vec3(vec2(" << expr.values[0] << ", " << expr.values[1]
+ << "), " << expr.values[2] << ")";
+ case Constexpr::Kind::kEmptyVec2:
+ return out << "vec2()";
+ case Constexpr::Kind::kEmptyVec3:
+ return out << "vec3()";
+ }
+ return out;
+}
+
+using IntrinsicTextureConstExprArgValidationTest = ResolverTestWithParam<
+ std::tuple<TextureOverloadCase, Parameter, Constexpr>>;
+
+TEST_P(IntrinsicTextureConstExprArgValidationTest, Immediate) {
+ auto& p = GetParam();
+ auto overload = std::get<0>(p);
+ auto param = std::get<1>(p);
+ auto expr = std::get<2>(p);
+
+ overload.BuildTextureVariable(this);
+ overload.BuildSamplerVariable(this);
+
+ auto args = overload.args(this);
+ auto*& arg_to_replace =
+ (param.position == Position::kFirst) ? args.front() : args.back();
+
+ // BuildTextureVariable() uses a Literal for scalars, and a CallExpression for
+ // a vector constructor.
+ bool is_vector = arg_to_replace->Is<ast::CallExpression>();
+
+ // Make the expression to be replaced, reachable. This keeps the resolver
+ // happy.
+ WrapInFunction(arg_to_replace);
+
+ arg_to_replace = expr(Source{{12, 34}}, *this);
+
+ // Call the intrinsic with the constexpr argument replaced
+ Func("func", {}, ty.void_(), {CallStmt(Call(overload.function, args))},
+ {Stage(ast::PipelineStage::kFragment)});
+
+ if (expr.invalid_index == Constexpr::kValid) {
EXPECT_TRUE(r()->Resolve()) << r()->error();
} else {
EXPECT_FALSE(r()->Resolve());
std::stringstream err;
- err << "12:34 error: each offset component of '" << param.function
- << "' must be at least -8 and at most 7. found: '"
- << std::to_string(offset.illegal_value) << "'";
+ if (is_vector) {
+ err << "12:34 error: each component of the " << param.name
+ << " argument must be at least " << param.min << " and at most "
+ << param.max << ". " << param.name << " component "
+ << expr.invalid_index << " is "
+ << std::to_string(expr.values[expr.invalid_index]);
+ } else {
+ err << "12:34 error: the " << param.name << " argument must be at least "
+ << param.min << " and at most " << param.max << ". " << param.name
+ << " is " << std::to_string(expr.values[expr.invalid_index]);
+ }
EXPECT_EQ(r()->error(), err.str());
}
}
-TEST_P(IntrinsicTextureSamplerValidationTest, ConstExprOfConstExpr) {
+TEST_P(IntrinsicTextureConstExprArgValidationTest, GlobalConst) {
auto& p = GetParam();
- auto param = std::get<0>(p);
- auto offset = std::get<1>(p);
- param.BuildTextureVariable(this);
- param.BuildSamplerVariable(this);
+ auto overload = std::get<0>(p);
+ auto param = std::get<1>(p);
+ auto expr = std::get<2>(p);
- auto args = param.args(this);
- // Make Resolver visit the Node about to be removed
- WrapInFunction(args.back());
- args.pop_back();
- if (NumCoordinateAxes(param.texture_dimension) == 2) {
- args.push_back(Construct(Source{{12, 34}}, ty.vec2<i32>(),
- Construct(ty.i32(), offset.x), offset.y));
- } else if (NumCoordinateAxes(param.texture_dimension) == 3) {
- args.push_back(Construct(Source{{12, 34}}, ty.vec3<i32>(), offset.x,
- Construct(ty.vec2<i32>(), offset.y, offset.z)));
- }
- auto* call = Call(param.function, args);
- Func("func", {}, ty.void_(), {CallStmt(call)},
- {create<ast::StageDecoration>(ast::PipelineStage::kFragment)});
- if (offset.is_valid) {
- EXPECT_TRUE(r()->Resolve()) << r()->error();
- } else {
- EXPECT_FALSE(r()->Resolve());
- std::stringstream err;
- err << "12:34 error: each offset component of '" << param.function
- << "' must be at least -8 and at most 7. found: '"
- << std::to_string(offset.illegal_value) << "'";
- EXPECT_EQ(r()->error(), err.str());
- }
-}
+ // Build the global texture and sampler variables
+ overload.BuildTextureVariable(this);
+ overload.BuildSamplerVariable(this);
-TEST_P(IntrinsicTextureSamplerValidationTest, EmptyVectorConstructor) {
- auto& p = GetParam();
- auto param = std::get<0>(p);
- param.BuildTextureVariable(this);
- param.BuildSamplerVariable(this);
+ // Build the module-scope let 'G' with the offset value
+ GlobalConst("G", nullptr, expr({}, *this));
- auto args = param.args(this);
- // Make Resolver visit the Node about to be removed
- WrapInFunction(args.back());
- args.pop_back();
- if (NumCoordinateAxes(param.texture_dimension) == 2) {
- args.push_back(Construct(Source{{12, 34}}, ty.vec2<i32>()));
- } else if (NumCoordinateAxes(param.texture_dimension) == 3) {
- args.push_back(Construct(Source{{12, 34}}, ty.vec3<i32>()));
- }
+ auto args = overload.args(this);
+ auto*& arg_to_replace =
+ (param.position == Position::kFirst) ? args.front() : args.back();
- auto* call = Call(param.function, args);
- Func("func", {}, ty.void_(), {CallStmt(call)},
- {create<ast::StageDecoration>(ast::PipelineStage::kFragment)});
- EXPECT_TRUE(r()->Resolve()) << r()->error();
-}
+ // Make the expression to be replaced, reachable. This keeps the resolver
+ // happy.
+ WrapInFunction(arg_to_replace);
-TEST_P(IntrinsicTextureSamplerValidationTest, GlobalConst) {
- auto& p = GetParam();
- auto param = std::get<0>(p);
- auto offset = std::get<1>(p);
- param.BuildTextureVariable(this);
- param.BuildSamplerVariable(this);
+ arg_to_replace = Expr(Source{{12, 34}}, "G");
- auto args = param.args(this);
- // Make Resolver visit the Node about to be removed
- WrapInFunction(args.back());
- args.pop_back();
- GlobalConst("offset_2d", ty.vec2<i32>(), vec2<i32>(offset.x, offset.y));
- GlobalConst("offset_3d", ty.vec3<i32>(),
- vec3<i32>(offset.x, offset.y, offset.z));
- if (NumCoordinateAxes(param.texture_dimension) == 2) {
- args.push_back(Expr(Source{{12, 34}}, "offset_2d"));
- } else if (NumCoordinateAxes(param.texture_dimension) == 3) {
- args.push_back(Expr(Source{{12, 34}}, "offset_3d"));
- }
+ // Call the intrinsic with the constexpr argument replaced
+ Func("func", {}, ty.void_(), {CallStmt(Call(overload.function, args))},
+ {Stage(ast::PipelineStage::kFragment)});
- auto* call = Call(param.function, args);
- Func("func", {}, ty.void_(), {CallStmt(call)},
- {create<ast::StageDecoration>(ast::PipelineStage::kFragment)});
EXPECT_FALSE(r()->Resolve());
std::stringstream err;
- err << "12:34 error: '" << param.function
- << "' offset parameter must be a const_expression";
+ err << "12:34 error: the " << param.name
+ << " argument must be a const_expression";
EXPECT_EQ(r()->error(), err.str());
}
-TEST_P(IntrinsicTextureSamplerValidationTest, ScalarConst) {
- auto& p = GetParam();
- auto param = std::get<0>(p);
- auto offset = std::get<1>(p);
- param.BuildTextureVariable(this);
- param.BuildSamplerVariable(this);
- auto* x = Const("x", ty.i32(), Construct(ty.i32(), offset.x));
+INSTANTIATE_TEST_SUITE_P(
+ Offset2D,
+ IntrinsicTextureConstExprArgValidationTest,
+ testing::Combine(
+ testing::ValuesIn(TextureCases({
+ ValidTextureOverload::kSample2dOffsetF32,
+ ValidTextureOverload::kSample2dArrayOffsetF32,
+ ValidTextureOverload::kSampleDepth2dOffsetF32,
+ ValidTextureOverload::kSampleDepth2dArrayOffsetF32,
+ ValidTextureOverload::kSampleBias2dOffsetF32,
+ ValidTextureOverload::kSampleBias2dArrayOffsetF32,
+ ValidTextureOverload::kSampleLevel2dOffsetF32,
+ ValidTextureOverload::kSampleLevel2dArrayOffsetF32,
+ ValidTextureOverload::kSampleLevelDepth2dOffsetF32,
+ ValidTextureOverload::kSampleLevelDepth2dArrayOffsetF32,
+ ValidTextureOverload::kSampleGrad2dOffsetF32,
+ ValidTextureOverload::kSampleGrad2dArrayOffsetF32,
+ ValidTextureOverload::kSampleCompareDepth2dOffsetF32,
+ ValidTextureOverload::kSampleCompareDepth2dArrayOffsetF32,
+ ValidTextureOverload::kSampleCompareLevelDepth2dOffsetF32,
+ ValidTextureOverload::kSampleCompareLevelDepth2dArrayOffsetF32,
+ })),
+ testing::Values(Parameter{"offset", Position::kLast, -8, 7}),
+ testing::Values(
+ Constexpr{Constexpr::kValid, Constexpr::Kind::kEmptyVec2},
+ Constexpr{Constexpr::kValid, Constexpr::Kind::kVec2, -1, 1},
+ Constexpr{Constexpr::kValid, Constexpr::Kind::kVec2, 7, -8},
+ Constexpr{0, Constexpr::Kind::kVec2, 8, 0},
+ Constexpr{1, Constexpr::Kind::kVec2, 0, 8},
+ Constexpr{0, Constexpr::Kind::kVec2, -9, 0},
+ Constexpr{1, Constexpr::Kind::kVec2, 0, -9},
+ Constexpr{0, Constexpr::Kind::kVec2, 8, 8},
+ Constexpr{0, Constexpr::Kind::kVec2, -9, -9})));
- auto args = param.args(this);
- // Make Resolver visit the Node about to be removed
- WrapInFunction(args.back());
- args.pop_back();
- if (NumCoordinateAxes(param.texture_dimension) == 2) {
- args.push_back(Construct(Source{{12, 34}}, ty.vec2<i32>(), x, offset.y));
- } else if (NumCoordinateAxes(param.texture_dimension) == 3) {
- args.push_back(
- Construct(Source{{12, 34}}, ty.vec3<i32>(), x, offset.y, offset.z));
- }
+INSTANTIATE_TEST_SUITE_P(
+ Offset3D,
+ IntrinsicTextureConstExprArgValidationTest,
+ testing::Combine(
+ testing::ValuesIn(TextureCases({
+ ValidTextureOverload::kSample3dOffsetF32,
+ ValidTextureOverload::kSampleBias3dOffsetF32,
+ ValidTextureOverload::kSampleLevel3dOffsetF32,
+ ValidTextureOverload::kSampleGrad3dOffsetF32,
+ })),
+ testing::Values(Parameter{"offset", Position::kLast, -8, 7}),
+ testing::Values(
+ Constexpr{Constexpr::kValid, Constexpr::Kind::kEmptyVec3},
+ Constexpr{Constexpr::kValid, Constexpr::Kind::kVec3, 0, 0, 0},
+ Constexpr{Constexpr::kValid, Constexpr::Kind::kVec3, 7, -8, 7},
+ Constexpr{0, Constexpr::Kind::kVec3, 10, 0, 0},
+ Constexpr{1, Constexpr::Kind::kVec3, 0, 10, 0},
+ Constexpr{2, Constexpr::Kind::kVec3, 0, 0, 10},
+ Constexpr{0, Constexpr::Kind::kVec3, 10, 11, 12},
+ Constexpr{0, Constexpr::Kind::kVec3_Scalar_Vec2, 10, 0, 0},
+ Constexpr{1, Constexpr::Kind::kVec3_Scalar_Vec2, 0, 10, 0},
+ Constexpr{2, Constexpr::Kind::kVec3_Scalar_Vec2, 0, 0, 10},
+ Constexpr{0, Constexpr::Kind::kVec3_Scalar_Vec2, 10, 11, 12},
+ Constexpr{0, Constexpr::Kind::kVec3_Vec2_Scalar, 10, 0, 0},
+ Constexpr{1, Constexpr::Kind::kVec3_Vec2_Scalar, 0, 10, 0},
+ Constexpr{2, Constexpr::Kind::kVec3_Vec2_Scalar, 0, 0, 10},
+ Constexpr{0, Constexpr::Kind::kVec3_Vec2_Scalar, 10, 11, 12})));
- auto* call = Call(param.function, args);
- Func("func", {}, ty.void_(), {Decl(x), CallStmt(call)},
- {create<ast::StageDecoration>(ast::PipelineStage::kFragment)});
- EXPECT_FALSE(r()->Resolve());
- std::stringstream err;
- err << "12:34 error: '" << param.function
- << "' offset parameter must be a const_expression";
- EXPECT_EQ(r()->error(), err.str());
-}
+INSTANTIATE_TEST_SUITE_P(
+ Component,
+ IntrinsicTextureConstExprArgValidationTest,
+ testing::Combine(
+ testing::ValuesIn(
+ TextureCases({ValidTextureOverload::kGather2dF32,
+ ValidTextureOverload::kGather2dOffsetF32,
+ ValidTextureOverload::kGather2dArrayF32,
+ ValidTextureOverload::kGather2dArrayOffsetF32,
+ ValidTextureOverload::kGatherCubeF32,
+ ValidTextureOverload::kGatherCubeArrayF32})),
+ testing::Values(Parameter{"component", Position::kFirst, 0, 3}),
+ testing::Values(
+ Constexpr{Constexpr::kValid, Constexpr::Kind::kScalar, 0},
+ Constexpr{Constexpr::kValid, Constexpr::Kind::kScalar, 1},
+ Constexpr{Constexpr::kValid, Constexpr::Kind::kScalar, 2},
+ Constexpr{Constexpr::kValid, Constexpr::Kind::kScalar, 3},
+ Constexpr{0, Constexpr::Kind::kScalar, 4},
+ Constexpr{0, Constexpr::Kind::kScalar, 123},
+ Constexpr{0, Constexpr::Kind::kScalar, -1})));
-INSTANTIATE_TEST_SUITE_P(IntrinsicTextureSamplerValidationTest,
- IntrinsicTextureSamplerValidationTest,
- testing::Combine(testing::ValuesIn(ValidCases()),
- testing::ValuesIn(OffsetCases())));
-} // namespace TextureSamplerOffset
+} // namespace texture_constexpr_args
} // namespace
} // namespace resolver
diff --git a/src/resolver/resolver.h b/src/resolver/resolver.h
index e7f6deb..ff4cf96 100644
--- a/src/resolver/resolver.h
+++ b/src/resolver/resolver.h
@@ -45,7 +45,6 @@
class CallExpression;
class CallStatement;
class CaseStatement;
-class ConstructorExpression;
class ForLoopStatement;
class Function;
class IdentifierExpression;
diff --git a/src/resolver/resolver_validation.cc b/src/resolver/resolver_validation.cc
index 7c6afef..b15aaf5 100644
--- a/src/resolver/resolver_validation.cc
+++ b/src/resolver/resolver_validation.cc
@@ -1505,22 +1505,30 @@
if (!intrinsic) {
return false;
}
+
std::string func_name = intrinsic->str();
auto& signature = intrinsic->Signature();
- auto index = signature.IndexOf(sem::ParameterUsage::kOffset);
- if (index > -1) {
+
+ auto check_arg_is_constexpr = [&](sem::ParameterUsage usage, int min,
+ int max) {
+ auto index = signature.IndexOf(usage);
+ if (index < 0) {
+ return true;
+ }
+ std::string name = sem::str(usage);
auto* arg = call->Arguments()[index];
if (auto values = arg->ConstantValue()) {
// Assert that the constant values are of the expected type.
- if (!values.Type()->Is<sem::Vector>() ||
+ if (!values.Type()->IsAnyOf<sem::I32, sem::Vector>() ||
!values.ElementType()->Is<sem::I32>()) {
TINT_ICE(Resolver, diagnostics_)
- << "failed to resolve '" + func_name + "' offset parameter type";
+ << "failed to resolve '" + func_name + "' " << name
+ << " parameter type";
return false;
}
// Currently const_expr is restricted to literals and type constructors.
- // Check that that's all we have for the offset parameter.
+ // Check that that's all we have for the parameter.
bool is_const_expr = true;
ast::TraverseExpressions(
arg->Declaration(), diagnostics_, [&](const ast::Expression* e) {
@@ -1531,25 +1539,37 @@
return ast::TraverseAction::Stop;
});
if (is_const_expr) {
- for (auto offset : values.Elements()) {
- auto offset_value = offset.i32;
- if (offset_value < -8 || offset_value > 7) {
- AddError("each offset component of '" + func_name +
- "' must be at least -8 and at most 7. "
- "found: '" +
- std::to_string(offset_value) + "'",
- arg->Declaration()->source);
+ auto vector = intrinsic->Parameters()[index]->Type()->Is<sem::Vector>();
+ for (size_t i = 0; i < values.Elements().size(); i++) {
+ auto value = values.Elements()[i].i32;
+ if (value < min || value > max) {
+ if (vector) {
+ AddError("each component of the " + name +
+ " argument must be at least " + std::to_string(min) +
+ " and at most " + std::to_string(max) + ". " + name +
+ " component " + std::to_string(i) + " is " +
+ std::to_string(value),
+ arg->Declaration()->source);
+ } else {
+ AddError("the " + name + " argument must be at least " +
+ std::to_string(min) + " and at most " +
+ std::to_string(max) + ". " + name + " is " +
+ std::to_string(value),
+ arg->Declaration()->source);
+ }
return false;
}
}
return true;
}
}
- AddError("'" + func_name + "' offset parameter must be a const_expression",
+ AddError("the " + name + " argument must be a const_expression",
arg->Declaration()->source);
return false;
- }
- return true;
+ };
+
+ return check_arg_is_constexpr(sem::ParameterUsage::kOffset, -8, 7) &&
+ check_arg_is_constexpr(sem::ParameterUsage::kComponent, 0, 3);
}
bool Resolver::ValidateFunctionCall(const sem::Call* call) {
diff --git a/src/sem/intrinsic.cc b/src/sem/intrinsic.cc
index 13ccd21..bc90549 100644
--- a/src/sem/intrinsic.cc
+++ b/src/sem/intrinsic.cc
@@ -50,6 +50,8 @@
bool IsTextureIntrinsic(IntrinsicType i) {
return IsImageQueryIntrinsic(i) || i == IntrinsicType::kTextureLoad ||
+ i == IntrinsicType::kTextureGather ||
+ i == IntrinsicType::kTextureGatherCompare ||
i == IntrinsicType::kTextureSample ||
i == IntrinsicType::kTextureSampleLevel ||
i == IntrinsicType::kTextureSampleBias ||
diff --git a/src/sem/intrinsic_type.cc b/src/sem/intrinsic_type.cc
index 417494d..76208f6 100644
--- a/src/sem/intrinsic_type.cc
+++ b/src/sem/intrinsic_type.cc
@@ -261,6 +261,12 @@
if (name == "textureDimensions") {
return IntrinsicType::kTextureDimensions;
}
+ if (name == "textureGather") {
+ return IntrinsicType::kTextureGather;
+ }
+ if (name == "textureGatherCompare") {
+ return IntrinsicType::kTextureGatherCompare;
+ }
if (name == "textureNumLayers") {
return IntrinsicType::kTextureNumLayers;
}
@@ -488,6 +494,10 @@
return "workgroupBarrier";
case IntrinsicType::kTextureDimensions:
return "textureDimensions";
+ case IntrinsicType::kTextureGather:
+ return "textureGather";
+ case IntrinsicType::kTextureGatherCompare:
+ return "textureGatherCompare";
case IntrinsicType::kTextureNumLayers:
return "textureNumLayers";
case IntrinsicType::kTextureNumLevels:
diff --git a/src/sem/intrinsic_type.h b/src/sem/intrinsic_type.h
index 3274be3..3ef2fe3 100644
--- a/src/sem/intrinsic_type.h
+++ b/src/sem/intrinsic_type.h
@@ -111,6 +111,8 @@
kUnpack4x8unorm,
kWorkgroupBarrier,
kTextureDimensions,
+ kTextureGather,
+ kTextureGatherCompare,
kTextureNumLayers,
kTextureNumLevels,
kTextureNumSamples,
diff --git a/src/sem/parameter_usage.cc b/src/sem/parameter_usage.cc
index 74b32b6..753283b 100644
--- a/src/sem/parameter_usage.cc
+++ b/src/sem/parameter_usage.cc
@@ -35,6 +35,8 @@
return "array_index";
case ParameterUsage::kBias:
return "bias";
+ case ParameterUsage::kComponent:
+ return "component";
case ParameterUsage::kCoords:
return "coords";
case ParameterUsage::kDdx:
diff --git a/src/sem/parameter_usage.h b/src/sem/parameter_usage.h
index 79ab693..c6dbf39 100644
--- a/src/sem/parameter_usage.h
+++ b/src/sem/parameter_usage.h
@@ -34,6 +34,7 @@
kNone = -1,
kArrayIndex,
kBias,
+ kComponent,
kCoords,
kDdx,
kDdy,
diff --git a/src/writer/glsl/generator_impl.cc b/src/writer/glsl/generator_impl.cc
index b2eb4f4..3e7185a 100644
--- a/src/writer/glsl/generator_impl.cc
+++ b/src/writer/glsl/generator_impl.cc
@@ -480,7 +480,7 @@
const sem::Intrinsic* intrinsic) {
auto* expr = call->Declaration();
if (intrinsic->IsTexture()) {
- return EmitTextureCall(out, expr, intrinsic);
+ return EmitTextureCall(out, call, intrinsic);
}
if (intrinsic->Type() == sem::IntrinsicType::kSelect) {
return EmitSelectCall(out, expr);
@@ -1098,11 +1098,12 @@
}
bool GeneratorImpl::EmitTextureCall(std::ostream& out,
- const ast::CallExpression* expr,
+ const sem::Call* call,
const sem::Intrinsic* intrinsic) {
using Usage = sem::ParameterUsage;
auto& signature = intrinsic->Signature();
+ auto* expr = call->Declaration();
auto arguments = expr->args;
// Returns the argument with the given usage
@@ -1184,6 +1185,12 @@
case sem::IntrinsicType::kTextureSampleLevel:
out << "textureLod(";
break;
+ case sem::IntrinsicType::kTextureGather:
+ case sem::IntrinsicType::kTextureGatherCompare:
+ out << (intrinsic->Signature().IndexOf(sem::ParameterUsage::kOffset) < 0
+ ? "textureGather("
+ : "textureGatherOffset(");
+ break;
case sem::IntrinsicType::kTextureSampleGrad:
out << "textureGrad(";
break;
@@ -1232,9 +1239,9 @@
}
}
- for (auto usage :
- {Usage::kDepthRef, Usage::kBias, Usage::kLevel, Usage::kDdx, Usage::kDdy,
- Usage::kSampleIndex, Usage::kOffset, Usage::kValue}) {
+ for (auto usage : {Usage::kDepthRef, Usage::kBias, Usage::kLevel, Usage::kDdx,
+ Usage::kDdy, Usage::kSampleIndex, Usage::kOffset,
+ Usage::kComponent, Usage::kValue}) {
if (auto* e = arg(usage)) {
out << ", ";
if (!EmitExpression(out, e)) {
diff --git a/src/writer/glsl/generator_impl.h b/src/writer/glsl/generator_impl.h
index 8595e08..a3090e7 100644
--- a/src/writer/glsl/generator_impl.h
+++ b/src/writer/glsl/generator_impl.h
@@ -165,11 +165,11 @@
/// Handles generating a call to a texture function (`textureSample`,
/// `textureSampleGrad`, etc)
/// @param out the output of the expression stream
- /// @param expr the call expression
+ /// @param call the call expression
/// @param intrinsic the semantic information for the texture intrinsic
/// @returns true if the call expression is emitted
bool EmitTextureCall(std::ostream& out,
- const ast::CallExpression* expr,
+ const sem::Call* call,
const sem::Intrinsic* intrinsic);
/// Handles generating a call to the `select()` intrinsic
/// @param out the output of the expression stream
diff --git a/src/writer/glsl/generator_impl_intrinsic_texture_test.cc b/src/writer/glsl/generator_impl_intrinsic_texture_test.cc
index 04fff42..1aca03e 100644
--- a/src/writer/glsl/generator_impl_intrinsic_texture_test.cc
+++ b/src/writer/glsl/generator_impl_intrinsic_texture_test.cc
@@ -63,6 +63,42 @@
case ValidTextureOverload::kDimensionsStorageWO2dArray:
case ValidTextureOverload::kDimensionsStorageWO3d:
return {"imageSize"};
+ case ValidTextureOverload::kGather2dF32:
+ return R"(textureGather(tint_symbol, vec2(1.0f, 2.0f), 0))";
+ case ValidTextureOverload::kGather2dOffsetF32:
+ return R"(textureGatherOffset(tint_symbol, vec2(1.0f, 2.0f), ivec2(3, 4), 0))";
+ case ValidTextureOverload::kGather2dArrayF32:
+ return R"(textureGather(tint_symbol, vec3(1.0f, 2.0f, float(3)), 0))";
+ case ValidTextureOverload::kGather2dArrayOffsetF32:
+ return R"(textureGatherOffset(tint_symbol, vec3(1.0f, 2.0f, float(3)), ivec2(4, 5), 0))";
+ case ValidTextureOverload::kGatherCubeF32:
+ return R"(textureGather(tint_symbol, vec3(1.0f, 2.0f, 3.0f), 0))";
+ case ValidTextureOverload::kGatherCubeArrayF32:
+ return R"(textureGather(tint_symbol, vec4(1.0f, 2.0f, 3.0f, float(4)), 0))";
+ case ValidTextureOverload::kGatherDepth2dF32:
+ return R"(textureGather(tint_symbol, vec2(1.0f, 2.0f)))";
+ case ValidTextureOverload::kGatherDepth2dOffsetF32:
+ return R"(textureGatherOffset(tint_symbol, vec2(1.0f, 2.0f), ivec2(3, 4)))";
+ case ValidTextureOverload::kGatherDepth2dArrayF32:
+ return R"(textureGather(tint_symbol, vec3(1.0f, 2.0f, float(3))))";
+ case ValidTextureOverload::kGatherDepth2dArrayOffsetF32:
+ return R"(textureGatherOffset(tint_symbol, vec3(1.0f, 2.0f, float(3)), ivec2(4, 5)))";
+ case ValidTextureOverload::kGatherDepthCubeF32:
+ return R"(textureGather(tint_symbol, vec3(1.0f, 2.0f, 3.0f)))";
+ case ValidTextureOverload::kGatherDepthCubeArrayF32:
+ return R"(textureGather(tint_symbol, vec4(1.0f, 2.0f, 3.0f, float(4))))";
+ case ValidTextureOverload::kGatherCompareDepth2dF32:
+ return R"(textureGather(tint_symbol, vec2(1.0f, 2.0f), 3.0f))";
+ case ValidTextureOverload::kGatherCompareDepth2dOffsetF32:
+ return R"(textureGatherOffset(tint_symbol, vec2(1.0f, 2.0f), 3.0f, ivec2(4, 5)))";
+ case ValidTextureOverload::kGatherCompareDepth2dArrayF32:
+ return R"(textureGather(tint_symbol, vec3(1.0f, 2.0f, float(3)), 4.0f))";
+ case ValidTextureOverload::kGatherCompareDepth2dArrayOffsetF32:
+ return R"(textureGatherOffset(tint_symbol, vec3(1.0f, 2.0f, float(3)), 4.0f, ivec2(5, 6)))";
+ case ValidTextureOverload::kGatherCompareDepthCubeF32:
+ return R"(textureGather(tint_symbol, vec3(1.0f, 2.0f, 3.0f), 4.0f))";
+ case ValidTextureOverload::kGatherCompareDepthCubeArrayF32:
+ return R"(textureGather(tint_symbol, vec4(1.0f, 2.0f, 3.0f, float(4)), 5.0f))";
case ValidTextureOverload::kNumLayers2dArray:
case ValidTextureOverload::kNumLayersDepth2dArray:
case ValidTextureOverload::kNumLayersCubeArray:
diff --git a/src/writer/hlsl/generator_impl.cc b/src/writer/hlsl/generator_impl.cc
index 290f898..122f50e 100644
--- a/src/writer/hlsl/generator_impl.cc
+++ b/src/writer/hlsl/generator_impl.cc
@@ -671,7 +671,7 @@
const sem::Intrinsic* intrinsic) {
auto* expr = call->Declaration();
if (intrinsic->IsTexture()) {
- return EmitTextureCall(out, expr, intrinsic);
+ return EmitTextureCall(out, call, intrinsic);
}
if (intrinsic->Type() == sem::IntrinsicType::kSelect) {
return EmitSelectCall(out, expr);
@@ -1749,11 +1749,12 @@
}
bool GeneratorImpl::EmitTextureCall(std::ostream& out,
- const ast::CallExpression* expr,
+ const sem::Call* call,
const sem::Intrinsic* intrinsic) {
using Usage = sem::ParameterUsage;
auto& signature = intrinsic->Signature();
+ auto* expr = call->Declaration();
auto arguments = expr->args;
// Returns the argument with the given usage
@@ -1987,6 +1988,30 @@
pack_level_in_coords = true;
}
break;
+ case sem::IntrinsicType::kTextureGather:
+ out << ".Gather";
+ if (intrinsic->Parameters()[0]->Usage() ==
+ sem::ParameterUsage::kComponent) {
+ switch (call->Arguments()[0]->ConstantValue().Elements()[0].i32) {
+ case 0:
+ out << "Red";
+ break;
+ case 1:
+ out << "Green";
+ break;
+ case 2:
+ out << "Blue";
+ break;
+ case 3:
+ out << "Alpha";
+ break;
+ }
+ }
+ out << "(";
+ break;
+ case sem::IntrinsicType::kTextureGatherCompare:
+ out << ".GatherCmp(";
+ break;
case sem::IntrinsicType::kTextureStore:
out << "[";
break;
diff --git a/src/writer/hlsl/generator_impl.h b/src/writer/hlsl/generator_impl.h
index b23897d..c2532a2 100644
--- a/src/writer/hlsl/generator_impl.h
+++ b/src/writer/hlsl/generator_impl.h
@@ -208,11 +208,11 @@
/// Handles generating a call to a texture function (`textureSample`,
/// `textureSampleGrad`, etc)
/// @param out the output of the expression stream
- /// @param expr the call expression
+ /// @param call the call expression
/// @param intrinsic the semantic information for the texture intrinsic
/// @returns true if the call expression is emitted
bool EmitTextureCall(std::ostream& out,
- const ast::CallExpression* expr,
+ const sem::Call* call,
const sem::Intrinsic* intrinsic);
/// Handles generating a call to the `select()` intrinsic
/// @param out the output of the expression stream
diff --git a/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc b/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc
index 73a581c..fd77b9e 100644
--- a/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc
+++ b/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc
@@ -135,6 +135,42 @@
)",
"tint_tmp.xy;",
};
+ case ValidTextureOverload::kGather2dF32:
+ return R"(tint_symbol.GatherRed(tint_symbol_1, float2(1.0f, 2.0f)))";
+ case ValidTextureOverload::kGather2dOffsetF32:
+ return R"(tint_symbol.GatherRed(tint_symbol_1, float2(1.0f, 2.0f), int2(3, 4)))";
+ case ValidTextureOverload::kGather2dArrayF32:
+ return R"(tint_symbol.GatherRed(tint_symbol_1, float3(1.0f, 2.0f, float(3))))";
+ case ValidTextureOverload::kGather2dArrayOffsetF32:
+ return R"(tint_symbol.GatherRed(tint_symbol_1, float3(1.0f, 2.0f, float(3)), int2(4, 5)))";
+ case ValidTextureOverload::kGatherCubeF32:
+ return R"(tint_symbol.GatherRed(tint_symbol_1, float3(1.0f, 2.0f, 3.0f)))";
+ case ValidTextureOverload::kGatherCubeArrayF32:
+ return R"(tint_symbol.GatherRed(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4))))";
+ case ValidTextureOverload::kGatherDepth2dF32:
+ return R"(tint_symbol.Gather(tint_symbol_1, float2(1.0f, 2.0f)))";
+ case ValidTextureOverload::kGatherDepth2dOffsetF32:
+ return R"(tint_symbol.Gather(tint_symbol_1, float2(1.0f, 2.0f), int2(3, 4)))";
+ case ValidTextureOverload::kGatherDepth2dArrayF32:
+ return R"(tint_symbol.Gather(tint_symbol_1, float3(1.0f, 2.0f, float(3))))";
+ case ValidTextureOverload::kGatherDepth2dArrayOffsetF32:
+ return R"(tint_symbol.Gather(tint_symbol_1, float3(1.0f, 2.0f, float(3)), int2(4, 5)))";
+ case ValidTextureOverload::kGatherDepthCubeF32:
+ return R"(tint_symbol.Gather(tint_symbol_1, float3(1.0f, 2.0f, 3.0f)))";
+ case ValidTextureOverload::kGatherDepthCubeArrayF32:
+ return R"(tint_symbol.Gather(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4))))";
+ case ValidTextureOverload::kGatherCompareDepth2dF32:
+ return R"(tint_symbol.GatherCmp(tint_symbol_1, float2(1.0f, 2.0f), 3.0f))";
+ case ValidTextureOverload::kGatherCompareDepth2dOffsetF32:
+ return R"(tint_symbol.GatherCmp(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5)))";
+ case ValidTextureOverload::kGatherCompareDepth2dArrayF32:
+ return R"(tint_symbol.GatherCmp(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4.0f))";
+ case ValidTextureOverload::kGatherCompareDepth2dArrayOffsetF32:
+ return R"(tint_symbol.GatherCmp(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4.0f, int2(5, 6)))";
+ case ValidTextureOverload::kGatherCompareDepthCubeF32:
+ return R"(tint_symbol.GatherCmp(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f))";
+ case ValidTextureOverload::kGatherCompareDepthCubeArrayF32:
+ return R"(tint_symbol.GatherCmp(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5.0f))";
case ValidTextureOverload::kNumLayers2dArray:
case ValidTextureOverload::kNumLayersDepth2dArray:
case ValidTextureOverload::kNumLayersCubeArray:
diff --git a/src/writer/msl/generator_impl.cc b/src/writer/msl/generator_impl.cc
index 4982639..a4f8b72 100644
--- a/src/writer/msl/generator_impl.cc
+++ b/src/writer/msl/generator_impl.cc
@@ -582,7 +582,7 @@
return EmitAtomicCall(out, expr, intrinsic);
}
if (intrinsic->IsTexture()) {
- return EmitTextureCall(out, expr, intrinsic);
+ return EmitTextureCall(out, call, intrinsic);
}
auto name = generate_builtin_name(intrinsic);
@@ -839,12 +839,13 @@
}
bool GeneratorImpl::EmitTextureCall(std::ostream& out,
- const ast::CallExpression* expr,
+ const sem::Call* call,
const sem::Intrinsic* intrinsic) {
using Usage = sem::ParameterUsage;
auto& signature = intrinsic->Signature();
- auto arguments = expr->args;
+ auto* expr = call->Declaration();
+ auto& arguments = call->Arguments();
// Returns the argument with the given usage
auto arg = [&](Usage usage) {
@@ -852,7 +853,7 @@
return (idx >= 0) ? arguments[idx] : nullptr;
};
- auto* texture = arg(Usage::kTexture);
+ auto* texture = arg(Usage::kTexture)->Declaration();
if (!texture) {
TINT_ICE(Writer, diagnostics_) << "missing texture arg";
return false;
@@ -908,7 +909,7 @@
}
out << ".get_" << name << "(";
if (auto* level = arg(Usage::kLevel)) {
- if (!EmitExpression(out, level)) {
+ if (!EmitExpression(out, level->Declaration())) {
return false;
}
}
@@ -978,6 +979,12 @@
case sem::IntrinsicType::kTextureSampleCompareLevel:
out << ".sample_compare(";
break;
+ case sem::IntrinsicType::kTextureGather:
+ out << ".gather(";
+ break;
+ case sem::IntrinsicType::kTextureGatherCompare:
+ out << ".gather_compare(";
+ break;
case sem::IntrinsicType::kTextureLoad:
out << ".read(";
lod_param_is_named = false;
@@ -1003,14 +1010,12 @@
{Usage::kValue, Usage::kSampler, Usage::kCoords, Usage::kArrayIndex,
Usage::kDepthRef, Usage::kSampleIndex}) {
if (auto* e = arg(usage)) {
- auto* sem_e = program_->Sem().Get(e);
-
maybe_write_comma();
// Cast the coordinates to unsigned integers if necessary.
bool casted = false;
if (usage == Usage::kCoords &&
- sem_e->Type()->UnwrapRef()->is_integer_scalar_or_vector()) {
+ e->Type()->UnwrapRef()->is_integer_scalar_or_vector()) {
casted = true;
switch (texture_type->dim()) {
case ast::TextureDimension::k1d:
@@ -1030,7 +1035,7 @@
}
}
- if (!EmitExpression(out, e))
+ if (!EmitExpression(out, e->Declaration()))
return false;
if (casted) {
@@ -1042,7 +1047,7 @@
if (auto* bias = arg(Usage::kBias)) {
maybe_write_comma();
out << "bias(";
- if (!EmitExpression(out, bias)) {
+ if (!EmitExpression(out, bias->Declaration())) {
return false;
}
out << ")";
@@ -1052,7 +1057,7 @@
if (lod_param_is_named) {
out << "level(";
}
- if (!EmitExpression(out, level)) {
+ if (!EmitExpression(out, level->Declaration())) {
return false;
}
if (lod_param_is_named) {
@@ -1087,23 +1092,59 @@
return false;
}
}
- if (!EmitExpression(out, ddx)) {
+ if (!EmitExpression(out, ddx->Declaration())) {
return false;
}
out << ", ";
- if (!EmitExpression(out, arg(Usage::kDdy))) {
+ if (!EmitExpression(out, arg(Usage::kDdy)->Declaration())) {
return false;
}
out << ")";
}
+ bool has_offset = false;
if (auto* offset = arg(Usage::kOffset)) {
+ has_offset = true;
maybe_write_comma();
- if (!EmitExpression(out, offset)) {
+ if (!EmitExpression(out, offset->Declaration())) {
return false;
}
}
+ if (auto* component = arg(Usage::kComponent)) {
+ maybe_write_comma();
+ if (!has_offset) {
+ // offset argument may need to be provided if we have a component.
+ switch (texture_type->dim()) {
+ case ast::TextureDimension::k2d:
+ case ast::TextureDimension::k2dArray:
+ out << "int2(0), ";
+ break;
+ default:
+ break; // Other texture dimensions don't have an offset
+ }
+ }
+ auto c = component->ConstantValue().Elements()[0].i32;
+ switch (c) {
+ case 0:
+ out << "component::x";
+ break;
+ case 1:
+ out << "component::y";
+ break;
+ case 2:
+ out << "component::z";
+ break;
+ case 3:
+ out << "component::w";
+ break;
+ default:
+ TINT_ICE(Writer, diagnostics_)
+ << "invalid textureGather component: " << c;
+ break;
+ }
+ }
+
out << ")";
return true;
diff --git a/src/writer/msl/generator_impl.h b/src/writer/msl/generator_impl.h
index da99716..ab3af1d 100644
--- a/src/writer/msl/generator_impl.h
+++ b/src/writer/msl/generator_impl.h
@@ -187,11 +187,11 @@
/// Handles generating a call to a texture function (`textureSample`,
/// `textureSampleGrad`, etc)
/// @param out the output of the expression stream
- /// @param expr the call expression
+ /// @param call the call expression
/// @param intrinsic the semantic information for the texture intrinsic
/// @returns true if the call expression is emitted
bool EmitTextureCall(std::ostream& out,
- const ast::CallExpression* expr,
+ const sem::Call* call,
const sem::Intrinsic* intrinsic);
/// Handles generating a call to the `dot()` intrinsic
/// @param out the output of the expression stream
diff --git a/src/writer/msl/generator_impl_intrinsic_texture_test.cc b/src/writer/msl/generator_impl_intrinsic_texture_test.cc
index bcee2f8..d3e298c 100644
--- a/src/writer/msl/generator_impl_intrinsic_texture_test.cc
+++ b/src/writer/msl/generator_impl_intrinsic_texture_test.cc
@@ -55,6 +55,42 @@
return R"(int2(texture.get_width(1), texture.get_height(1)))";
case ValidTextureOverload::kDimensions3dLevel:
return R"(int3(texture.get_width(1), texture.get_height(1), texture.get_depth(1)))";
+ case ValidTextureOverload::kGather2dF32:
+ return R"(texture.gather(sampler, float2(1.0f, 2.0f), int2(0), component::x))";
+ case ValidTextureOverload::kGather2dOffsetF32:
+ return R"(texture.gather(sampler, float2(1.0f, 2.0f), int2(3, 4), component::x))";
+ case ValidTextureOverload::kGather2dArrayF32:
+ return R"(texture.gather(sampler, float2(1.0f, 2.0f), 3, int2(0), component::x))";
+ case ValidTextureOverload::kGather2dArrayOffsetF32:
+ return R"(texture.gather(sampler, float2(1.0f, 2.0f), 3, int2(4, 5), component::x))";
+ case ValidTextureOverload::kGatherCubeF32:
+ return R"(texture.gather(sampler, float3(1.0f, 2.0f, 3.0f), component::x))";
+ case ValidTextureOverload::kGatherCubeArrayF32:
+ return R"(texture.gather(sampler, float3(1.0f, 2.0f, 3.0f), 4, component::x))";
+ case ValidTextureOverload::kGatherDepth2dF32:
+ return R"(texture.gather(sampler, float2(1.0f, 2.0f)))";
+ case ValidTextureOverload::kGatherDepth2dOffsetF32:
+ return R"(texture.gather(sampler, float2(1.0f, 2.0f), int2(3, 4)))";
+ case ValidTextureOverload::kGatherDepth2dArrayF32:
+ return R"(texture.gather(sampler, float2(1.0f, 2.0f), 3))";
+ case ValidTextureOverload::kGatherDepth2dArrayOffsetF32:
+ return R"(texture.gather(sampler, float2(1.0f, 2.0f), 3, int2(4, 5)))";
+ case ValidTextureOverload::kGatherDepthCubeF32:
+ return R"(texture.gather(sampler, float3(1.0f, 2.0f, 3.0f)))";
+ case ValidTextureOverload::kGatherDepthCubeArrayF32:
+ return R"(texture.gather(sampler, float3(1.0f, 2.0f, 3.0f), 4))";
+ case ValidTextureOverload::kGatherCompareDepth2dF32:
+ return R"(texture.gather_compare(sampler, float2(1.0f, 2.0f), 3.0f))";
+ case ValidTextureOverload::kGatherCompareDepth2dOffsetF32:
+ return R"(texture.gather_compare(sampler, float2(1.0f, 2.0f), 3.0f, int2(4, 5)))";
+ case ValidTextureOverload::kGatherCompareDepth2dArrayF32:
+ return R"(texture.gather_compare(sampler, float2(1.0f, 2.0f), 3, 4.0f))";
+ case ValidTextureOverload::kGatherCompareDepth2dArrayOffsetF32:
+ return R"(texture.gather_compare(sampler, float2(1.0f, 2.0f), 3, 4.0f, int2(5, 6)))";
+ case ValidTextureOverload::kGatherCompareDepthCubeF32:
+ return R"(texture.gather_compare(sampler, float3(1.0f, 2.0f, 3.0f), 4.0f))";
+ case ValidTextureOverload::kGatherCompareDepthCubeArrayF32:
+ return R"(texture.gather_compare(sampler, float3(1.0f, 2.0f, 3.0f), 4, 5.0f))";
case ValidTextureOverload::kNumLayers2dArray:
case ValidTextureOverload::kNumLayersCubeArray:
case ValidTextureOverload::kNumLayersDepth2dArray:
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index ea82524..ea7b5b5 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -2987,6 +2987,29 @@
spirv_params.emplace_back(gen_arg(Usage::kValue));
break;
}
+ case IntrinsicType::kTextureGather: {
+ op = spv::Op::OpImageGather;
+ append_result_type_and_id_to_spirv_params();
+ if (!append_image_and_coords_to_spirv_params()) {
+ return false;
+ }
+ if (signature.IndexOf(Usage::kComponent) < 0) {
+ spirv_params.emplace_back(
+ Operand::Int(GenerateConstantIfNeeded(ScalarConstant::I32(0))));
+ } else {
+ spirv_params.emplace_back(gen_arg(Usage::kComponent));
+ }
+ break;
+ }
+ case IntrinsicType::kTextureGatherCompare: {
+ op = spv::Op::OpImageDrefGather;
+ append_result_type_and_id_to_spirv_params();
+ if (!append_image_and_coords_to_spirv_params()) {
+ return false;
+ }
+ spirv_params.emplace_back(gen_arg(Usage::kDepthRef));
+ break;
+ }
case IntrinsicType::kTextureSample: {
op = spv::Op::OpImageSampleImplicitLod;
append_result_type_and_id_to_spirv_params_for_read();
diff --git a/src/writer/spirv/builder_intrinsic_texture_test.cc b/src/writer/spirv/builder_intrinsic_texture_test.cc
index fd131c4..b100027 100644
--- a/src/writer/spirv/builder_intrinsic_texture_test.cc
+++ b/src/writer/spirv/builder_intrinsic_texture_test.cc
@@ -575,6 +575,520 @@
R"(
OpCapability ImageQuery
)"};
+ case ValidTextureOverload::kGather2dF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 2
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%17 = OpConstantComposite %14 %15 %16
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 0
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%8 = OpImageGather %9 %13 %17 %19
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGather2dOffsetF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 2
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%17 = OpConstantComposite %14 %15 %16
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 0
+%20 = OpTypeVector %18 2
+%21 = OpConstant %18 3
+%22 = OpConstant %18 4
+%23 = OpConstantComposite %20 %21 %22
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%8 = OpImageGather %9 %13 %17 %19 ConstOffset %23
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGather2dArrayF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 3
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 3
+%21 = OpConstant %18 0
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%17 = OpConvertSToF %4 %19
+%20 = OpCompositeConstruct %14 %15 %16 %17
+%8 = OpImageGather %9 %13 %20 %21
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGather2dArrayOffsetF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 3
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 3
+%21 = OpConstant %18 0
+%22 = OpTypeVector %18 2
+%23 = OpConstant %18 4
+%24 = OpConstant %18 5
+%25 = OpConstantComposite %22 %23 %24
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%17 = OpConvertSToF %4 %19
+%20 = OpCompositeConstruct %14 %15 %16 %17
+%8 = OpImageGather %9 %13 %20 %21 ConstOffset %25
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherCubeF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 Cube 0 0 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 3
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%17 = OpConstant %4 3
+%18 = OpConstantComposite %14 %15 %16 %17
+%19 = OpTypeInt 32 1
+%20 = OpConstant %19 0
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%8 = OpImageGather %9 %13 %18 %20
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherCubeArrayF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpConstant %4 1
+%15 = OpConstant %4 2
+%16 = OpConstant %4 3
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 4
+%21 = OpConstant %18 0
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%17 = OpConvertSToF %4 %19
+%20 = OpCompositeConstruct %9 %14 %15 %16 %17
+%8 = OpImageGather %9 %13 %20 %21
+)",
+ R"(
+OpCapability SampledCubeArray
+)"};
+ case ValidTextureOverload::kGatherDepth2dF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 2
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%17 = OpConstantComposite %14 %15 %16
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 0
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%8 = OpImageGather %9 %13 %17 %19
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherDepth2dOffsetF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 2
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%17 = OpConstantComposite %14 %15 %16
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 0
+%20 = OpTypeVector %18 2
+%21 = OpConstant %18 3
+%22 = OpConstant %18 4
+%23 = OpConstantComposite %20 %21 %22
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%8 = OpImageGather %9 %13 %17 %19 ConstOffset %23
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherDepth2dArrayF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 3
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 3
+%21 = OpConstant %18 0
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%17 = OpConvertSToF %4 %19
+%20 = OpCompositeConstruct %14 %15 %16 %17
+%8 = OpImageGather %9 %13 %20 %21
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherDepth2dArrayOffsetF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 3
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 3
+%21 = OpConstant %18 0
+%22 = OpTypeVector %18 2
+%23 = OpConstant %18 4
+%24 = OpConstant %18 5
+%25 = OpConstantComposite %22 %23 %24
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%17 = OpConvertSToF %4 %19
+%20 = OpCompositeConstruct %14 %15 %16 %17
+%8 = OpImageGather %9 %13 %20 %21 ConstOffset %25
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherDepthCubeF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 3
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%17 = OpConstant %4 3
+%18 = OpConstantComposite %14 %15 %16 %17
+%19 = OpTypeInt 32 1
+%20 = OpConstant %19 0
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%8 = OpImageGather %9 %13 %18 %20
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherDepthCubeArrayF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpConstant %4 1
+%15 = OpConstant %4 2
+%16 = OpConstant %4 3
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 4
+%21 = OpConstant %18 0
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%17 = OpConvertSToF %4 %19
+%20 = OpCompositeConstruct %9 %14 %15 %16 %17
+%8 = OpImageGather %9 %13 %20 %21
+)",
+ R"(
+OpCapability SampledCubeArray
+)"};
+ case ValidTextureOverload::kGatherCompareDepth2dF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 2
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%17 = OpConstantComposite %14 %15 %16
+%18 = OpConstant %4 3
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%8 = OpImageDrefGather %9 %13 %17 %18
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherCompareDepth2dOffsetF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 2
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%17 = OpConstantComposite %14 %15 %16
+%18 = OpConstant %4 3
+%20 = OpTypeInt 32 1
+%19 = OpTypeVector %20 2
+%21 = OpConstant %20 4
+%22 = OpConstant %20 5
+%23 = OpConstantComposite %19 %21 %22
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%8 = OpImageDrefGather %9 %13 %17 %18 ConstOffset %23
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherCompareDepth2dArrayF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 3
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 3
+%21 = OpConstant %4 4
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%17 = OpConvertSToF %4 %19
+%20 = OpCompositeConstruct %14 %15 %16 %17
+%8 = OpImageDrefGather %9 %13 %20 %21
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherCompareDepth2dArrayOffsetF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 3
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 3
+%21 = OpConstant %4 4
+%22 = OpTypeVector %18 2
+%23 = OpConstant %18 5
+%24 = OpConstant %18 6
+%25 = OpConstantComposite %22 %23 %24
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%17 = OpConvertSToF %4 %19
+%20 = OpCompositeConstruct %14 %15 %16 %17
+%8 = OpImageDrefGather %9 %13 %20 %21 ConstOffset %25
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherCompareDepthCubeF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpTypeVector %4 3
+%15 = OpConstant %4 1
+%16 = OpConstant %4 2
+%17 = OpConstant %4 3
+%18 = OpConstantComposite %14 %15 %16 %17
+%19 = OpConstant %4 4
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%8 = OpImageDrefGather %9 %13 %18 %19
+)",
+ R"(
+)"};
+ case ValidTextureOverload::kGatherCompareDepthCubeArrayF32:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeVector %4 4
+%12 = OpTypeSampledImage %3
+%14 = OpConstant %4 1
+%15 = OpConstant %4 2
+%16 = OpConstant %4 3
+%18 = OpTypeInt 32 1
+%19 = OpConstant %18 4
+%21 = OpConstant %4 5
+)",
+ R"(
+%10 = OpLoad %7 %5
+%11 = OpLoad %3 %1
+%13 = OpSampledImage %12 %11 %10
+%17 = OpConvertSToF %4 %19
+%20 = OpCompositeConstruct %9 %14 %15 %16 %17
+%8 = OpImageDrefGather %9 %13 %20 %21
+)",
+ R"(
+OpCapability SampledCubeArray
+)"};
case ValidTextureOverload::kNumLayers2dArray:
return {R"(
%4 = OpTypeFloat 32
diff --git a/test/intrinsics/gen/textureGather/01305f.wgsl b/test/intrinsics/gen/textureGather/01305f.wgsl
new file mode 100644
index 0000000..15f035c
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/01305f.wgsl
@@ -0,0 +1,47 @@
+// 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(1)]] var arg_1: texture_2d_array<u32>;
+[[group(1), binding(2)]] var arg_2: sampler;
+
+// fn textureGather(component: i32, texture: texture_2d_array<u32>, sampler: sampler, coords: vec2<f32>, array_index: i32) -> vec4<u32>
+fn textureGather_01305f() {
+ var res: vec4<u32> = textureGather(1, arg_1, arg_2, vec2<f32>(), 1);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_01305f();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_01305f();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_01305f();
+}
diff --git a/test/intrinsics/gen/textureGather/01305f.wgsl.expected.hlsl b/test/intrinsics/gen/textureGather/01305f.wgsl.expected.hlsl
new file mode 100644
index 0000000..180ad62
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/01305f.wgsl.expected.hlsl
@@ -0,0 +1,33 @@
+Texture2DArray<uint4> arg_1 : register(t1, space1);
+SamplerState arg_2 : register(s2, space1);
+
+void textureGather_01305f() {
+ uint4 res = arg_1.GatherGreen(arg_2, float3(0.0f, 0.0f, float(1)));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ textureGather_01305f();
+ 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() {
+ textureGather_01305f();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureGather_01305f();
+ return;
+}
diff --git a/test/intrinsics/gen/textureGather/01305f.wgsl.expected.msl b/test/intrinsics/gen/textureGather/01305f.wgsl.expected.msl
new file mode 100644
index 0000000..2f68275
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/01305f.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureGather_01305f(texture2d_array<uint, access::sample> tint_symbol_1, sampler tint_symbol_2) {
+ uint4 res = tint_symbol_1.gather(tint_symbol_2, float2(), 1, int2(0), component::y);
+}
+
+float4 vertex_main_inner(texture2d_array<uint, access::sample> tint_symbol_3, sampler tint_symbol_4) {
+ textureGather_01305f(tint_symbol_3, tint_symbol_4);
+ return float4();
+}
+
+vertex tint_symbol vertex_main(texture2d_array<uint, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
+ float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main(texture2d_array<uint, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
+ textureGather_01305f(tint_symbol_7, tint_symbol_8);
+ return;
+}
+
+kernel void compute_main(texture2d_array<uint, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
+ textureGather_01305f(tint_symbol_9, tint_symbol_10);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureGather/01305f.wgsl.expected.spvasm b/test/intrinsics/gen/textureGather/01305f.wgsl.expected.spvasm
new file mode 100644
index 0000000..b8ac4eb
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/01305f.wgsl.expected.spvasm
@@ -0,0 +1,89 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 49
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %arg_1 "arg_1"
+ OpName %arg_2 "arg_2"
+ OpName %textureGather_01305f "textureGather_01305f"
+ 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
+ OpDecorate %arg_1 DescriptorSet 1
+ OpDecorate %arg_1 Binding 1
+ OpDecorate %arg_2 DescriptorSet 1
+ OpDecorate %arg_2 Binding 2
+ %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
+ %11 = OpTypeImage %uint 2D 0 1 0 1 Unknown
+%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
+ %arg_1 = OpVariable %_ptr_UniformConstant_11 UniformConstant
+ %15 = OpTypeSampler
+%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
+ %arg_2 = OpVariable %_ptr_UniformConstant_15 UniformConstant
+ %void = OpTypeVoid
+ %16 = OpTypeFunction %void
+ %v4uint = OpTypeVector %uint 4
+ %24 = OpTypeSampledImage %11
+ %v3float = OpTypeVector %float 3
+ %float_0 = OpConstant %float 0
+ %int = OpTypeInt 32 1
+ %int_1 = OpConstant %int 1
+%_ptr_Function_v4uint = OpTypePointer Function %v4uint
+ %34 = OpConstantNull %v4uint
+ %35 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%textureGather_01305f = OpFunction %void None %16
+ %19 = OpLabel
+ %res = OpVariable %_ptr_Function_v4uint Function %34
+ %22 = OpLoad %15 %arg_2
+ %23 = OpLoad %11 %arg_1
+ %25 = OpSampledImage %24 %23 %22
+ %28 = OpConvertSToF %float %int_1
+ %31 = OpCompositeConstruct %v3float %float_0 %float_0 %28
+ %20 = OpImageGather %v4uint %25 %31 %int_1
+ OpStore %res %20
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %35
+ %37 = OpLabel
+ %38 = OpFunctionCall %void %textureGather_01305f
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %16
+ %40 = OpLabel
+ %41 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %41
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %16
+ %44 = OpLabel
+ %45 = OpFunctionCall %void %textureGather_01305f
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %47 = OpLabel
+ %48 = OpFunctionCall %void %textureGather_01305f
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureGather/01305f.wgsl.expected.wgsl b/test/intrinsics/gen/textureGather/01305f.wgsl.expected.wgsl
new file mode 100644
index 0000000..da4c38f
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/01305f.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+[[group(1), binding(1)]] var arg_1 : texture_2d_array<u32>;
+
+[[group(1), binding(2)]] var arg_2 : sampler;
+
+fn textureGather_01305f() {
+ var res : vec4<u32> = textureGather(1, arg_1, arg_2, vec2<f32>(), 1);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_01305f();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_01305f();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_01305f();
+}
diff --git a/test/intrinsics/gen/textureGather/06030a.wgsl b/test/intrinsics/gen/textureGather/06030a.wgsl
new file mode 100644
index 0000000..1e42042
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/06030a.wgsl
@@ -0,0 +1,47 @@
+// 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(1)]] var arg_1: texture_2d_array<f32>;
+[[group(1), binding(2)]] var arg_2: sampler;
+
+// fn textureGather(component: i32, texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: i32, offset: vec2<i32>) -> vec4<f32>
+fn textureGather_06030a() {
+ var res: vec4<f32> = textureGather(1, arg_1, arg_2, vec2<f32>(), 1, vec2<i32>());
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_06030a();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_06030a();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_06030a();
+}
diff --git a/test/intrinsics/gen/textureGather/06030a.wgsl.expected.hlsl b/test/intrinsics/gen/textureGather/06030a.wgsl.expected.hlsl
new file mode 100644
index 0000000..a8ca184
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/06030a.wgsl.expected.hlsl
@@ -0,0 +1,33 @@
+Texture2DArray<float4> arg_1 : register(t1, space1);
+SamplerState arg_2 : register(s2, space1);
+
+void textureGather_06030a() {
+ float4 res = arg_1.GatherGreen(arg_2, float3(0.0f, 0.0f, float(1)), int2(0, 0));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ textureGather_06030a();
+ 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() {
+ textureGather_06030a();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureGather_06030a();
+ return;
+}
diff --git a/test/intrinsics/gen/textureGather/06030a.wgsl.expected.msl b/test/intrinsics/gen/textureGather/06030a.wgsl.expected.msl
new file mode 100644
index 0000000..247e473
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/06030a.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureGather_06030a(texture2d_array<float, access::sample> tint_symbol_1, sampler tint_symbol_2) {
+ float4 res = tint_symbol_1.gather(tint_symbol_2, float2(), 1, int2(), component::y);
+}
+
+float4 vertex_main_inner(texture2d_array<float, access::sample> tint_symbol_3, sampler tint_symbol_4) {
+ textureGather_06030a(tint_symbol_3, tint_symbol_4);
+ return float4();
+}
+
+vertex tint_symbol vertex_main(texture2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
+ float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
+ textureGather_06030a(tint_symbol_7, tint_symbol_8);
+ return;
+}
+
+kernel void compute_main(texture2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
+ textureGather_06030a(tint_symbol_9, tint_symbol_10);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureGather/06030a.wgsl.expected.spvasm b/test/intrinsics/gen/textureGather/06030a.wgsl.expected.spvasm
new file mode 100644
index 0000000..a46bcd0
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/06030a.wgsl.expected.spvasm
@@ -0,0 +1,88 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 48
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %arg_1 "arg_1"
+ OpName %arg_2 "arg_2"
+ OpName %textureGather_06030a "textureGather_06030a"
+ 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
+ OpDecorate %arg_1 DescriptorSet 1
+ OpDecorate %arg_1 Binding 1
+ OpDecorate %arg_2 DescriptorSet 1
+ OpDecorate %arg_2 Binding 2
+ %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
+ %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
+%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
+ %arg_1 = OpVariable %_ptr_UniformConstant_11 UniformConstant
+ %14 = OpTypeSampler
+%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
+ %arg_2 = OpVariable %_ptr_UniformConstant_14 UniformConstant
+ %void = OpTypeVoid
+ %15 = OpTypeFunction %void
+ %22 = OpTypeSampledImage %11
+ %v3float = OpTypeVector %float 3
+ %float_0 = OpConstant %float 0
+ %int = OpTypeInt 32 1
+ %int_1 = OpConstant %int 1
+ %v2int = OpTypeVector %int 2
+ %31 = OpConstantNull %v2int
+%_ptr_Function_v4float = OpTypePointer Function %v4float
+ %34 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%textureGather_06030a = OpFunction %void None %15
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_v4float Function %5
+ %20 = OpLoad %14 %arg_2
+ %21 = OpLoad %11 %arg_1
+ %23 = OpSampledImage %22 %21 %20
+ %26 = OpConvertSToF %float %int_1
+ %29 = OpCompositeConstruct %v3float %float_0 %float_0 %26
+ %19 = OpImageGather %v4float %23 %29 %int_1 ConstOffset %31
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %34
+ %36 = OpLabel
+ %37 = OpFunctionCall %void %textureGather_06030a
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %15
+ %39 = OpLabel
+ %40 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %40
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %15
+ %43 = OpLabel
+ %44 = OpFunctionCall %void %textureGather_06030a
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %15
+ %46 = OpLabel
+ %47 = OpFunctionCall %void %textureGather_06030a
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureGather/06030a.wgsl.expected.wgsl b/test/intrinsics/gen/textureGather/06030a.wgsl.expected.wgsl
new file mode 100644
index 0000000..7faad62
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/06030a.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+[[group(1), binding(1)]] var arg_1 : texture_2d_array<f32>;
+
+[[group(1), binding(2)]] var arg_2 : sampler;
+
+fn textureGather_06030a() {
+ var res : vec4<f32> = textureGather(1, arg_1, arg_2, vec2<f32>(), 1, vec2<i32>());
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_06030a();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_06030a();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_06030a();
+}
diff --git a/test/intrinsics/gen/textureGather/10c554.wgsl b/test/intrinsics/gen/textureGather/10c554.wgsl
new file mode 100644
index 0000000..d64a317
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/10c554.wgsl
@@ -0,0 +1,47 @@
+// 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(0)]] var arg_0: texture_depth_cube;
+[[group(1), binding(1)]] var arg_1: sampler;
+
+// fn textureGather(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> vec4<f32>
+fn textureGather_10c554() {
+ var res: vec4<f32> = textureGather(arg_0, arg_1, vec3<f32>());
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_10c554();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_10c554();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_10c554();
+}
diff --git a/test/intrinsics/gen/textureGather/10c554.wgsl.expected.hlsl b/test/intrinsics/gen/textureGather/10c554.wgsl.expected.hlsl
new file mode 100644
index 0000000..77c4aab
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/10c554.wgsl.expected.hlsl
@@ -0,0 +1,33 @@
+TextureCube arg_0 : register(t0, space1);
+SamplerState arg_1 : register(s1, space1);
+
+void textureGather_10c554() {
+ float4 res = arg_0.Gather(arg_1, float3(0.0f, 0.0f, 0.0f));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ textureGather_10c554();
+ 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() {
+ textureGather_10c554();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureGather_10c554();
+ return;
+}
diff --git a/test/intrinsics/gen/textureGather/10c554.wgsl.expected.msl b/test/intrinsics/gen/textureGather/10c554.wgsl.expected.msl
new file mode 100644
index 0000000..076e037
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/10c554.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureGather_10c554(depthcube<float, access::sample> tint_symbol_1, sampler tint_symbol_2) {
+ float4 res = tint_symbol_1.gather(tint_symbol_2, float3());
+}
+
+float4 vertex_main_inner(depthcube<float, access::sample> tint_symbol_3, sampler tint_symbol_4) {
+ textureGather_10c554(tint_symbol_3, tint_symbol_4);
+ return float4();
+}
+
+vertex tint_symbol vertex_main(depthcube<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
+ float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main(depthcube<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
+ textureGather_10c554(tint_symbol_7, tint_symbol_8);
+ return;
+}
+
+kernel void compute_main(depthcube<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
+ textureGather_10c554(tint_symbol_9, tint_symbol_10);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureGather/10c554.wgsl.expected.spvasm b/test/intrinsics/gen/textureGather/10c554.wgsl.expected.spvasm
new file mode 100644
index 0000000..dfa4d4a
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/10c554.wgsl.expected.spvasm
@@ -0,0 +1,84 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 44
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %arg_0 "arg_0"
+ OpName %arg_1 "arg_1"
+ OpName %textureGather_10c554 "textureGather_10c554"
+ 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
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %arg_1 DescriptorSet 1
+ OpDecorate %arg_1 Binding 1
+ %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
+ %11 = OpTypeImage %float Cube 1 0 0 1 Unknown
+%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
+ %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
+ %14 = OpTypeSampler
+%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
+ %arg_1 = OpVariable %_ptr_UniformConstant_14 UniformConstant
+ %void = OpTypeVoid
+ %15 = OpTypeFunction %void
+ %22 = OpTypeSampledImage %11
+ %v3float = OpTypeVector %float 3
+ %25 = OpConstantNull %v3float
+ %int = OpTypeInt 32 1
+ %int_0 = OpConstant %int 0
+%_ptr_Function_v4float = OpTypePointer Function %v4float
+ %30 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%textureGather_10c554 = OpFunction %void None %15
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_v4float Function %5
+ %20 = OpLoad %14 %arg_1
+ %21 = OpLoad %11 %arg_0
+ %23 = OpSampledImage %22 %21 %20
+ %19 = OpImageGather %v4float %23 %25 %int_0
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %30
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %textureGather_10c554
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %15
+ %35 = OpLabel
+ %36 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %36
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %15
+ %39 = OpLabel
+ %40 = OpFunctionCall %void %textureGather_10c554
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %15
+ %42 = OpLabel
+ %43 = OpFunctionCall %void %textureGather_10c554
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureGather/10c554.wgsl.expected.wgsl b/test/intrinsics/gen/textureGather/10c554.wgsl.expected.wgsl
new file mode 100644
index 0000000..748e379
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/10c554.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+[[group(1), binding(0)]] var arg_0 : texture_depth_cube;
+
+[[group(1), binding(1)]] var arg_1 : sampler;
+
+fn textureGather_10c554() {
+ var res : vec4<f32> = textureGather(arg_0, arg_1, vec3<f32>());
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_10c554();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_10c554();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_10c554();
+}
diff --git a/test/intrinsics/gen/textureGather/15d79c.wgsl b/test/intrinsics/gen/textureGather/15d79c.wgsl
new file mode 100644
index 0000000..55c4e46
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/15d79c.wgsl
@@ -0,0 +1,47 @@
+// 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(1)]] var arg_1: texture_2d<f32>;
+[[group(1), binding(2)]] var arg_2: sampler;
+
+// fn textureGather(component: i32, texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, offset: vec2<i32>) -> vec4<f32>
+fn textureGather_15d79c() {
+ var res: vec4<f32> = textureGather(1, arg_1, arg_2, vec2<f32>(), vec2<i32>());
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_15d79c();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_15d79c();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_15d79c();
+}
diff --git a/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.hlsl b/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.hlsl
new file mode 100644
index 0000000..b45f71b
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.hlsl
@@ -0,0 +1,33 @@
+Texture2D<float4> arg_1 : register(t1, space1);
+SamplerState arg_2 : register(s2, space1);
+
+void textureGather_15d79c() {
+ float4 res = arg_1.GatherGreen(arg_2, float2(0.0f, 0.0f), int2(0, 0));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ textureGather_15d79c();
+ 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() {
+ textureGather_15d79c();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureGather_15d79c();
+ return;
+}
diff --git a/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.msl b/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.msl
new file mode 100644
index 0000000..5290c91
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureGather_15d79c(texture2d<float, access::sample> tint_symbol_1, sampler tint_symbol_2) {
+ float4 res = tint_symbol_1.gather(tint_symbol_2, float2(), int2(), component::y);
+}
+
+float4 vertex_main_inner(texture2d<float, access::sample> tint_symbol_3, sampler tint_symbol_4) {
+ textureGather_15d79c(tint_symbol_3, tint_symbol_4);
+ return float4();
+}
+
+vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
+ float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
+ textureGather_15d79c(tint_symbol_7, tint_symbol_8);
+ return;
+}
+
+kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
+ textureGather_15d79c(tint_symbol_9, tint_symbol_10);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.spvasm b/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.spvasm
new file mode 100644
index 0000000..3766859
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.spvasm
@@ -0,0 +1,86 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 46
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %arg_1 "arg_1"
+ OpName %arg_2 "arg_2"
+ OpName %textureGather_15d79c "textureGather_15d79c"
+ 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
+ OpDecorate %arg_1 DescriptorSet 1
+ OpDecorate %arg_1 Binding 1
+ OpDecorate %arg_2 DescriptorSet 1
+ OpDecorate %arg_2 Binding 2
+ %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
+ %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
+%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
+ %arg_1 = OpVariable %_ptr_UniformConstant_11 UniformConstant
+ %14 = OpTypeSampler
+%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
+ %arg_2 = OpVariable %_ptr_UniformConstant_14 UniformConstant
+ %void = OpTypeVoid
+ %15 = OpTypeFunction %void
+ %22 = OpTypeSampledImage %11
+ %v2float = OpTypeVector %float 2
+ %25 = OpConstantNull %v2float
+ %int = OpTypeInt 32 1
+ %int_1 = OpConstant %int 1
+ %v2int = OpTypeVector %int 2
+ %29 = OpConstantNull %v2int
+%_ptr_Function_v4float = OpTypePointer Function %v4float
+ %32 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%textureGather_15d79c = OpFunction %void None %15
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_v4float Function %5
+ %20 = OpLoad %14 %arg_2
+ %21 = OpLoad %11 %arg_1
+ %23 = OpSampledImage %22 %21 %20
+ %19 = OpImageGather %v4float %23 %25 %int_1 ConstOffset %29
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %32
+ %34 = OpLabel
+ %35 = OpFunctionCall %void %textureGather_15d79c
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %15
+ %37 = OpLabel
+ %38 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %38
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %15
+ %41 = OpLabel
+ %42 = OpFunctionCall %void %textureGather_15d79c
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %15
+ %44 = OpLabel
+ %45 = OpFunctionCall %void %textureGather_15d79c
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.wgsl b/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.wgsl
new file mode 100644
index 0000000..5319046
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/15d79c.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+[[group(1), binding(1)]] var arg_1 : texture_2d<f32>;
+
+[[group(1), binding(2)]] var arg_2 : sampler;
+
+fn textureGather_15d79c() {
+ var res : vec4<f32> = textureGather(1, arg_1, arg_2, vec2<f32>(), vec2<i32>());
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_15d79c();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_15d79c();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_15d79c();
+}
diff --git a/test/intrinsics/gen/textureGather/2e0ed5.wgsl b/test/intrinsics/gen/textureGather/2e0ed5.wgsl
new file mode 100644
index 0000000..c8c1104
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/2e0ed5.wgsl
@@ -0,0 +1,47 @@
+// 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(0)]] var arg_0: texture_depth_2d;
+[[group(1), binding(1)]] var arg_1: sampler;
+
+// fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>) -> vec4<f32>
+fn textureGather_2e0ed5() {
+ var res: vec4<f32> = textureGather(arg_0, arg_1, vec2<f32>());
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_2e0ed5();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_2e0ed5();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_2e0ed5();
+}
diff --git a/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.hlsl b/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.hlsl
new file mode 100644
index 0000000..cba329f
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.hlsl
@@ -0,0 +1,33 @@
+Texture2D arg_0 : register(t0, space1);
+SamplerState arg_1 : register(s1, space1);
+
+void textureGather_2e0ed5() {
+ float4 res = arg_0.Gather(arg_1, float2(0.0f, 0.0f));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ textureGather_2e0ed5();
+ 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() {
+ textureGather_2e0ed5();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureGather_2e0ed5();
+ return;
+}
diff --git a/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.msl b/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.msl
new file mode 100644
index 0000000..2406342
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureGather_2e0ed5(depth2d<float, access::sample> tint_symbol_1, sampler tint_symbol_2) {
+ float4 res = tint_symbol_1.gather(tint_symbol_2, float2());
+}
+
+float4 vertex_main_inner(depth2d<float, access::sample> tint_symbol_3, sampler tint_symbol_4) {
+ textureGather_2e0ed5(tint_symbol_3, tint_symbol_4);
+ return float4();
+}
+
+vertex tint_symbol vertex_main(depth2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
+ float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main(depth2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
+ textureGather_2e0ed5(tint_symbol_7, tint_symbol_8);
+ return;
+}
+
+kernel void compute_main(depth2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
+ textureGather_2e0ed5(tint_symbol_9, tint_symbol_10);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.spvasm b/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.spvasm
new file mode 100644
index 0000000..8dd47c9
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.spvasm
@@ -0,0 +1,84 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 44
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %arg_0 "arg_0"
+ OpName %arg_1 "arg_1"
+ OpName %textureGather_2e0ed5 "textureGather_2e0ed5"
+ 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
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %arg_1 DescriptorSet 1
+ OpDecorate %arg_1 Binding 1
+ %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
+ %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
+ %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
+ %14 = OpTypeSampler
+%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
+ %arg_1 = OpVariable %_ptr_UniformConstant_14 UniformConstant
+ %void = OpTypeVoid
+ %15 = OpTypeFunction %void
+ %22 = OpTypeSampledImage %11
+ %v2float = OpTypeVector %float 2
+ %25 = OpConstantNull %v2float
+ %int = OpTypeInt 32 1
+ %int_0 = OpConstant %int 0
+%_ptr_Function_v4float = OpTypePointer Function %v4float
+ %30 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%textureGather_2e0ed5 = OpFunction %void None %15
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_v4float Function %5
+ %20 = OpLoad %14 %arg_1
+ %21 = OpLoad %11 %arg_0
+ %23 = OpSampledImage %22 %21 %20
+ %19 = OpImageGather %v4float %23 %25 %int_0
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %30
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %textureGather_2e0ed5
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %15
+ %35 = OpLabel
+ %36 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %36
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %15
+ %39 = OpLabel
+ %40 = OpFunctionCall %void %textureGather_2e0ed5
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %15
+ %42 = OpLabel
+ %43 = OpFunctionCall %void %textureGather_2e0ed5
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.wgsl b/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.wgsl
new file mode 100644
index 0000000..3439a78
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/2e0ed5.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+[[group(1), binding(0)]] var arg_0 : texture_depth_2d;
+
+[[group(1), binding(1)]] var arg_1 : sampler;
+
+fn textureGather_2e0ed5() {
+ var res : vec4<f32> = textureGather(arg_0, arg_1, vec2<f32>());
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_2e0ed5();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_2e0ed5();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_2e0ed5();
+}
diff --git a/test/intrinsics/gen/textureGather/3112e8.wgsl b/test/intrinsics/gen/textureGather/3112e8.wgsl
new file mode 100644
index 0000000..e556b30
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/3112e8.wgsl
@@ -0,0 +1,47 @@
+// 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(1)]] var arg_1: texture_cube_array<f32>;
+[[group(1), binding(2)]] var arg_2: sampler;
+
+// fn textureGather(component: i32, texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: i32) -> vec4<f32>
+fn textureGather_3112e8() {
+ var res: vec4<f32> = textureGather(1, arg_1, arg_2, vec3<f32>(), 1);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_3112e8();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_3112e8();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_3112e8();
+}
diff --git a/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.hlsl b/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.hlsl
new file mode 100644
index 0000000..d538b4f
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.hlsl
@@ -0,0 +1,33 @@
+TextureCubeArray<float4> arg_1 : register(t1, space1);
+SamplerState arg_2 : register(s2, space1);
+
+void textureGather_3112e8() {
+ float4 res = arg_1.GatherGreen(arg_2, float4(0.0f, 0.0f, 0.0f, float(1)));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ textureGather_3112e8();
+ 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() {
+ textureGather_3112e8();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureGather_3112e8();
+ return;
+}
diff --git a/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.msl b/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.msl
new file mode 100644
index 0000000..e160771
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureGather_3112e8(texturecube_array<float, access::sample> tint_symbol_1, sampler tint_symbol_2) {
+ float4 res = tint_symbol_1.gather(tint_symbol_2, float3(), 1, component::y);
+}
+
+float4 vertex_main_inner(texturecube_array<float, access::sample> tint_symbol_3, sampler tint_symbol_4) {
+ textureGather_3112e8(tint_symbol_3, tint_symbol_4);
+ return float4();
+}
+
+vertex tint_symbol vertex_main(texturecube_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
+ float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
+ textureGather_3112e8(tint_symbol_7, tint_symbol_8);
+ return;
+}
+
+kernel void compute_main(texturecube_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
+ textureGather_3112e8(tint_symbol_9, tint_symbol_10);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.spvasm b/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.spvasm
new file mode 100644
index 0000000..267adbc
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.spvasm
@@ -0,0 +1,86 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 45
+; Schema: 0
+ OpCapability Shader
+ OpCapability SampledCubeArray
+ 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 %arg_1 "arg_1"
+ OpName %arg_2 "arg_2"
+ OpName %textureGather_3112e8 "textureGather_3112e8"
+ 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
+ OpDecorate %arg_1 DescriptorSet 1
+ OpDecorate %arg_1 Binding 1
+ OpDecorate %arg_2 DescriptorSet 1
+ OpDecorate %arg_2 Binding 2
+ %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
+ %11 = OpTypeImage %float Cube 0 1 0 1 Unknown
+%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
+ %arg_1 = OpVariable %_ptr_UniformConstant_11 UniformConstant
+ %14 = OpTypeSampler
+%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
+ %arg_2 = OpVariable %_ptr_UniformConstant_14 UniformConstant
+ %void = OpTypeVoid
+ %15 = OpTypeFunction %void
+ %22 = OpTypeSampledImage %11
+ %float_0 = OpConstant %float 0
+ %int = OpTypeInt 32 1
+ %int_1 = OpConstant %int 1
+%_ptr_Function_v4float = OpTypePointer Function %v4float
+ %31 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%textureGather_3112e8 = OpFunction %void None %15
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_v4float Function %5
+ %20 = OpLoad %14 %arg_2
+ %21 = OpLoad %11 %arg_1
+ %23 = OpSampledImage %22 %21 %20
+ %25 = OpConvertSToF %float %int_1
+ %28 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %25
+ %19 = OpImageGather %v4float %23 %28 %int_1
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %31
+ %33 = OpLabel
+ %34 = OpFunctionCall %void %textureGather_3112e8
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %15
+ %36 = OpLabel
+ %37 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %37
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %15
+ %40 = OpLabel
+ %41 = OpFunctionCall %void %textureGather_3112e8
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %15
+ %43 = OpLabel
+ %44 = OpFunctionCall %void %textureGather_3112e8
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.wgsl b/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.wgsl
new file mode 100644
index 0000000..5b0bd78
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/3112e8.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+[[group(1), binding(1)]] var arg_1 : texture_cube_array<f32>;
+
+[[group(1), binding(2)]] var arg_2 : sampler;
+
+fn textureGather_3112e8() {
+ var res : vec4<f32> = textureGather(1, arg_1, arg_2, vec3<f32>(), 1);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_3112e8();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_3112e8();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_3112e8();
+}
diff --git a/test/intrinsics/gen/textureGather/3c527e.wgsl b/test/intrinsics/gen/textureGather/3c527e.wgsl
new file mode 100644
index 0000000..1877c38
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/3c527e.wgsl
@@ -0,0 +1,47 @@
+// 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(1)]] var arg_1: texture_cube_array<u32>;
+[[group(1), binding(2)]] var arg_2: sampler;
+
+// fn textureGather(component: i32, texture: texture_cube_array<u32>, sampler: sampler, coords: vec3<f32>, array_index: i32) -> vec4<u32>
+fn textureGather_3c527e() {
+ var res: vec4<u32> = textureGather(1, arg_1, arg_2, vec3<f32>(), 1);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_3c527e();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_3c527e();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_3c527e();
+}
diff --git a/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.hlsl b/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.hlsl
new file mode 100644
index 0000000..9f1913c
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.hlsl
@@ -0,0 +1,33 @@
+TextureCubeArray<uint4> arg_1 : register(t1, space1);
+SamplerState arg_2 : register(s2, space1);
+
+void textureGather_3c527e() {
+ uint4 res = arg_1.GatherGreen(arg_2, float4(0.0f, 0.0f, 0.0f, float(1)));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ textureGather_3c527e();
+ 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() {
+ textureGather_3c527e();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureGather_3c527e();
+ return;
+}
diff --git a/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.msl b/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.msl
new file mode 100644
index 0000000..94df233
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureGather_3c527e(texturecube_array<uint, access::sample> tint_symbol_1, sampler tint_symbol_2) {
+ uint4 res = tint_symbol_1.gather(tint_symbol_2, float3(), 1, component::y);
+}
+
+float4 vertex_main_inner(texturecube_array<uint, access::sample> tint_symbol_3, sampler tint_symbol_4) {
+ textureGather_3c527e(tint_symbol_3, tint_symbol_4);
+ return float4();
+}
+
+vertex tint_symbol vertex_main(texturecube_array<uint, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
+ float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main(texturecube_array<uint, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
+ textureGather_3c527e(tint_symbol_7, tint_symbol_8);
+ return;
+}
+
+kernel void compute_main(texturecube_array<uint, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
+ textureGather_3c527e(tint_symbol_9, tint_symbol_10);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.spvasm b/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.spvasm
new file mode 100644
index 0000000..4ee0085
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.spvasm
@@ -0,0 +1,89 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 48
+; Schema: 0
+ OpCapability Shader
+ OpCapability SampledCubeArray
+ 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 %arg_1 "arg_1"
+ OpName %arg_2 "arg_2"
+ OpName %textureGather_3c527e "textureGather_3c527e"
+ 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
+ OpDecorate %arg_1 DescriptorSet 1
+ OpDecorate %arg_1 Binding 1
+ OpDecorate %arg_2 DescriptorSet 1
+ OpDecorate %arg_2 Binding 2
+ %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
+ %11 = OpTypeImage %uint Cube 0 1 0 1 Unknown
+%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
+ %arg_1 = OpVariable %_ptr_UniformConstant_11 UniformConstant
+ %15 = OpTypeSampler
+%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
+ %arg_2 = OpVariable %_ptr_UniformConstant_15 UniformConstant
+ %void = OpTypeVoid
+ %16 = OpTypeFunction %void
+ %v4uint = OpTypeVector %uint 4
+ %24 = OpTypeSampledImage %11
+ %float_0 = OpConstant %float 0
+ %int = OpTypeInt 32 1
+ %int_1 = OpConstant %int 1
+%_ptr_Function_v4uint = OpTypePointer Function %v4uint
+ %33 = OpConstantNull %v4uint
+ %34 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%textureGather_3c527e = OpFunction %void None %16
+ %19 = OpLabel
+ %res = OpVariable %_ptr_Function_v4uint Function %33
+ %22 = OpLoad %15 %arg_2
+ %23 = OpLoad %11 %arg_1
+ %25 = OpSampledImage %24 %23 %22
+ %27 = OpConvertSToF %float %int_1
+ %30 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %27
+ %20 = OpImageGather %v4uint %25 %30 %int_1
+ OpStore %res %20
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %34
+ %36 = OpLabel
+ %37 = OpFunctionCall %void %textureGather_3c527e
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %16
+ %39 = OpLabel
+ %40 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %40
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %16
+ %43 = OpLabel
+ %44 = OpFunctionCall %void %textureGather_3c527e
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %46 = OpLabel
+ %47 = OpFunctionCall %void %textureGather_3c527e
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.wgsl b/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.wgsl
new file mode 100644
index 0000000..4aeb587
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/3c527e.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+[[group(1), binding(1)]] var arg_1 : texture_cube_array<u32>;
+
+[[group(1), binding(2)]] var arg_2 : sampler;
+
+fn textureGather_3c527e() {
+ var res : vec4<u32> = textureGather(1, arg_1, arg_2, vec3<f32>(), 1);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_3c527e();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_3c527e();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_3c527e();
+}
diff --git a/test/intrinsics/gen/textureGather/43025d.wgsl b/test/intrinsics/gen/textureGather/43025d.wgsl
new file mode 100644
index 0000000..219cd0a
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/43025d.wgsl
@@ -0,0 +1,47 @@
+// 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(0)]] var arg_0: texture_depth_cube_array;
+[[group(1), binding(1)]] var arg_1: sampler;
+
+// fn textureGather(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: i32) -> vec4<f32>
+fn textureGather_43025d() {
+ var res: vec4<f32> = textureGather(arg_0, arg_1, vec3<f32>(), 1);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_43025d();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_43025d();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_43025d();
+}
diff --git a/test/intrinsics/gen/textureGather/43025d.wgsl.expected.hlsl b/test/intrinsics/gen/textureGather/43025d.wgsl.expected.hlsl
new file mode 100644
index 0000000..6d752ec
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/43025d.wgsl.expected.hlsl
@@ -0,0 +1,33 @@
+TextureCubeArray arg_0 : register(t0, space1);
+SamplerState arg_1 : register(s1, space1);
+
+void textureGather_43025d() {
+ float4 res = arg_0.Gather(arg_1, float4(0.0f, 0.0f, 0.0f, float(1)));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ textureGather_43025d();
+ 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() {
+ textureGather_43025d();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureGather_43025d();
+ return;
+}
diff --git a/test/intrinsics/gen/textureGather/43025d.wgsl.expected.msl b/test/intrinsics/gen/textureGather/43025d.wgsl.expected.msl
new file mode 100644
index 0000000..6f16342
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/43025d.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureGather_43025d(depthcube_array<float, access::sample> tint_symbol_1, sampler tint_symbol_2) {
+ float4 res = tint_symbol_1.gather(tint_symbol_2, float3(), 1);
+}
+
+float4 vertex_main_inner(depthcube_array<float, access::sample> tint_symbol_3, sampler tint_symbol_4) {
+ textureGather_43025d(tint_symbol_3, tint_symbol_4);
+ return float4();
+}
+
+vertex tint_symbol vertex_main(depthcube_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
+ float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
+ textureGather_43025d(tint_symbol_7, tint_symbol_8);
+ return;
+}
+
+kernel void compute_main(depthcube_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
+ textureGather_43025d(tint_symbol_9, tint_symbol_10);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureGather/43025d.wgsl.expected.spvasm b/test/intrinsics/gen/textureGather/43025d.wgsl.expected.spvasm
new file mode 100644
index 0000000..809074b
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/43025d.wgsl.expected.spvasm
@@ -0,0 +1,87 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 46
+; Schema: 0
+ OpCapability Shader
+ OpCapability SampledCubeArray
+ 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 %arg_0 "arg_0"
+ OpName %arg_1 "arg_1"
+ OpName %textureGather_43025d "textureGather_43025d"
+ 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
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %arg_1 DescriptorSet 1
+ OpDecorate %arg_1 Binding 1
+ %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
+ %11 = OpTypeImage %float Cube 1 1 0 1 Unknown
+%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
+ %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
+ %14 = OpTypeSampler
+%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
+ %arg_1 = OpVariable %_ptr_UniformConstant_14 UniformConstant
+ %void = OpTypeVoid
+ %15 = OpTypeFunction %void
+ %22 = OpTypeSampledImage %11
+ %float_0 = OpConstant %float 0
+ %int = OpTypeInt 32 1
+ %int_1 = OpConstant %int 1
+ %int_0 = OpConstant %int 0
+%_ptr_Function_v4float = OpTypePointer Function %v4float
+ %32 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%textureGather_43025d = OpFunction %void None %15
+ %18 = OpLabel
+ %res = OpVariable %_ptr_Function_v4float Function %5
+ %20 = OpLoad %14 %arg_1
+ %21 = OpLoad %11 %arg_0
+ %23 = OpSampledImage %22 %21 %20
+ %25 = OpConvertSToF %float %int_1
+ %28 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %25
+ %19 = OpImageGather %v4float %23 %28 %int_0
+ OpStore %res %19
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %32
+ %34 = OpLabel
+ %35 = OpFunctionCall %void %textureGather_43025d
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %15
+ %37 = OpLabel
+ %38 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %38
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %15
+ %41 = OpLabel
+ %42 = OpFunctionCall %void %textureGather_43025d
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %15
+ %44 = OpLabel
+ %45 = OpFunctionCall %void %textureGather_43025d
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureGather/43025d.wgsl.expected.wgsl b/test/intrinsics/gen/textureGather/43025d.wgsl.expected.wgsl
new file mode 100644
index 0000000..121a1da
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/43025d.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+[[group(1), binding(0)]] var arg_0 : texture_depth_cube_array;
+
+[[group(1), binding(1)]] var arg_1 : sampler;
+
+fn textureGather_43025d() {
+ var res : vec4<f32> = textureGather(arg_0, arg_1, vec3<f32>(), 1);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_43025d();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_43025d();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_43025d();
+}
diff --git a/test/intrinsics/gen/textureGather/4f2350.wgsl b/test/intrinsics/gen/textureGather/4f2350.wgsl
new file mode 100644
index 0000000..296c243
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/4f2350.wgsl
@@ -0,0 +1,47 @@
+// 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(1)]] var arg_1: texture_2d_array<i32>;
+[[group(1), binding(2)]] var arg_2: sampler;
+
+// fn textureGather(component: i32, texture: texture_2d_array<i32>, sampler: sampler, coords: vec2<f32>, array_index: i32, offset: vec2<i32>) -> vec4<i32>
+fn textureGather_4f2350() {
+ var res: vec4<i32> = textureGather(1, arg_1, arg_2, vec2<f32>(), 1, vec2<i32>());
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_4f2350();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_4f2350();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_4f2350();
+}
diff --git a/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.hlsl b/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.hlsl
new file mode 100644
index 0000000..02a56e2
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.hlsl
@@ -0,0 +1,33 @@
+Texture2DArray<int4> arg_1 : register(t1, space1);
+SamplerState arg_2 : register(s2, space1);
+
+void textureGather_4f2350() {
+ int4 res = arg_1.GatherGreen(arg_2, float3(0.0f, 0.0f, float(1)), int2(0, 0));
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+float4 vertex_main_inner() {
+ textureGather_4f2350();
+ 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() {
+ textureGather_4f2350();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureGather_4f2350();
+ return;
+}
diff --git a/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.msl b/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.msl
new file mode 100644
index 0000000..767864c
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.msl
@@ -0,0 +1,33 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureGather_4f2350(texture2d_array<int, access::sample> tint_symbol_1, sampler tint_symbol_2) {
+ int4 res = tint_symbol_1.gather(tint_symbol_2, float2(), 1, int2(), component::y);
+}
+
+float4 vertex_main_inner(texture2d_array<int, access::sample> tint_symbol_3, sampler tint_symbol_4) {
+ textureGather_4f2350(tint_symbol_3, tint_symbol_4);
+ return float4();
+}
+
+vertex tint_symbol vertex_main(texture2d_array<int, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
+ float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
+ tint_symbol wrapper_result = {};
+ wrapper_result.value = inner_result;
+ return wrapper_result;
+}
+
+fragment void fragment_main(texture2d_array<int, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
+ textureGather_4f2350(tint_symbol_7, tint_symbol_8);
+ return;
+}
+
+kernel void compute_main(texture2d_array<int, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
+ textureGather_4f2350(tint_symbol_9, tint_symbol_10);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.spvasm b/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.spvasm
new file mode 100644
index 0000000..c6ff85c
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.spvasm
@@ -0,0 +1,90 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 50
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %value "value"
+ OpName %vertex_point_size "vertex_point_size"
+ OpName %arg_1 "arg_1"
+ OpName %arg_2 "arg_2"
+ OpName %textureGather_4f2350 "textureGather_4f2350"
+ 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
+ OpDecorate %arg_1 DescriptorSet 1
+ OpDecorate %arg_1 Binding 1
+ OpDecorate %arg_2 DescriptorSet 1
+ OpDecorate %arg_2 Binding 2
+ %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
+ %11 = OpTypeImage %int 2D 0 1 0 1 Unknown
+%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
+ %arg_1 = OpVariable %_ptr_UniformConstant_11 UniformConstant
+ %15 = OpTypeSampler
+%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
+ %arg_2 = OpVariable %_ptr_UniformConstant_15 UniformConstant
+ %void = OpTypeVoid
+ %16 = OpTypeFunction %void
+ %v4int = OpTypeVector %int 4
+ %24 = OpTypeSampledImage %11
+ %v3float = OpTypeVector %float 3
+ %float_0 = OpConstant %float 0
+ %int_1 = OpConstant %int 1
+ %v2int = OpTypeVector %int 2
+ %32 = OpConstantNull %v2int
+%_ptr_Function_v4int = OpTypePointer Function %v4int
+ %35 = OpConstantNull %v4int
+ %36 = OpTypeFunction %v4float
+ %float_1 = OpConstant %float 1
+%textureGather_4f2350 = OpFunction %void None %16
+ %19 = OpLabel
+ %res = OpVariable %_ptr_Function_v4int Function %35
+ %22 = OpLoad %15 %arg_2
+ %23 = OpLoad %11 %arg_1
+ %25 = OpSampledImage %24 %23 %22
+ %28 = OpConvertSToF %float %int_1
+ %30 = OpCompositeConstruct %v3float %float_0 %float_0 %28
+ %20 = OpImageGather %v4int %25 %30 %int_1 ConstOffset %32
+ OpStore %res %20
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %v4float None %36
+ %38 = OpLabel
+ %39 = OpFunctionCall %void %textureGather_4f2350
+ OpReturnValue %5
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %16
+ %41 = OpLabel
+ %42 = OpFunctionCall %v4float %vertex_main_inner
+ OpStore %value %42
+ OpStore %vertex_point_size %float_1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %16
+ %45 = OpLabel
+ %46 = OpFunctionCall %void %textureGather_4f2350
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %48 = OpLabel
+ %49 = OpFunctionCall %void %textureGather_4f2350
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.wgsl b/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.wgsl
new file mode 100644
index 0000000..4dade7f
--- /dev/null
+++ b/test/intrinsics/gen/textureGather/4f2350.wgsl.expected.wgsl
@@ -0,0 +1,23 @@
+[[group(1), binding(1)]] var arg_1 : texture_2d_array<i32>;
+
+[[group(1), binding(2)]] var arg_2 : sampler;
+
+fn textureGather_4f2350() {
+ var res : vec4<i32> = textureGather(1, arg_1, arg_2, vec2<f32>(), 1, vec2<i32>());
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureGather_4f2350();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureGather_4f2350();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureGather_4f2350();
+}
diff --git a/test/intrinsics/gen/textureGather/51cf0b.wgsl b/test/intrinsics/gen/textureGather/51cf0b.wgsl
new file mode 100644
index 0000000..349aaa6
--- /dev/nul