From 58e2fb1253b7b644b5da16ece3a276e89be6e622 Mon Sep 17 00:00:00 2001 From: Ben Clayton Date: Mon, 14 Jun 2021 15:29:34 +0000 Subject: [PATCH] intrinsics: textureSampleCompareLevel() Fixed: tint:862 Change-Id: If85fd589a500afe2c59ba581fcd0124d4b87dfde Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54181 Kokoro: Kokoro Reviewed-by: David Neto --- src/ast/intrinsic_texture_helper_test.h | 6 + src/intrinsic_table.inl | 4854 +++++++++-------- src/intrinsics.def | 6 + src/resolver/intrinsic_test.cc | 12 + src/sem/intrinsic.cc | 1 + src/sem/intrinsic_test.cc | 2 + src/sem/intrinsic_type.cc | 5 + src/sem/intrinsic_type.h | 1 + src/writer/hlsl/generator_impl.cc | 3 + .../generator_impl_intrinsic_texture_test.cc | 22 +- src/writer/msl/generator_impl.cc | 5 + .../generator_impl_intrinsic_texture_test.cc | 12 + src/writer/spirv/builder.cc | 9 + src/writer/spirv/builder_intrinsic_test.cc | 13 +- .../spirv/builder_intrinsic_texture_test.cc | 181 +- .../25fcd1.wgsl.expected.hlsl | 2 +- .../25fcd1.wgsl.expected.spvasm | 15 +- .../3a5923.wgsl.expected.hlsl | 2 +- .../3a5923.wgsl.expected.spvasm | 13 +- .../63fb83.wgsl.expected.hlsl | 2 +- .../63fb83.wgsl.expected.spvasm | 13 +- .../98b85c.wgsl.expected.hlsl | 2 +- .../98b85c.wgsl.expected.spvasm | 2 +- .../a3ca7e.wgsl.expected.hlsl | 2 +- .../a3ca7e.wgsl.expected.spvasm | 2 +- .../dd431d.wgsl.expected.hlsl | 2 +- .../dd431d.wgsl.expected.spvasm | 2 +- .../gen/textureSampleCompareLevel/011a8f.wgsl | 45 + .../011a8f.wgsl.expected.hlsl | 28 + .../011a8f.wgsl.expected.msl | 14 + .../011a8f.wgsl.expected.spvasm | 90 + .../011a8f.wgsl.expected.wgsl | 23 + .../gen/textureSampleCompareLevel/1116ed.wgsl | 45 + .../1116ed.wgsl.expected.hlsl | 28 + .../1116ed.wgsl.expected.msl | 14 + .../1116ed.wgsl.expected.spvasm | 88 + .../1116ed.wgsl.expected.wgsl | 23 + .../gen/textureSampleCompareLevel/1568e3.wgsl | 45 + .../1568e3.wgsl.expected.hlsl | 28 + .../1568e3.wgsl.expected.msl | 14 + .../1568e3.wgsl.expected.spvasm | 85 + .../1568e3.wgsl.expected.wgsl | 23 + .../gen/textureSampleCompareLevel/2ad2b1.wgsl | 45 + .../2ad2b1.wgsl.expected.hlsl | 28 + .../2ad2b1.wgsl.expected.msl | 14 + .../2ad2b1.wgsl.expected.spvasm | 85 + .../2ad2b1.wgsl.expected.wgsl | 23 + .../gen/textureSampleCompareLevel/4cf3a2.wgsl | 45 + .../4cf3a2.wgsl.expected.hlsl | 28 + .../4cf3a2.wgsl.expected.msl | 14 + .../4cf3a2.wgsl.expected.spvasm | 88 + .../4cf3a2.wgsl.expected.wgsl | 23 + .../gen/textureSampleCompareLevel/f8121c.wgsl | 45 + .../f8121c.wgsl.expected.hlsl | 28 + .../f8121c.wgsl.expected.msl | 14 + .../f8121c.wgsl.expected.spvasm | 88 + .../f8121c.wgsl.expected.wgsl | 23 + 57 files changed, 4014 insertions(+), 2361 deletions(-) create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.hlsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.msl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.spvasm create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.hlsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.msl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.spvasm create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.hlsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.msl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.spvasm create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.hlsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.msl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.spvasm create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.hlsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.msl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.spvasm create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.hlsl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.msl create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.spvasm create mode 100644 test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.wgsl diff --git a/src/ast/intrinsic_texture_helper_test.h b/src/ast/intrinsic_texture_helper_test.h index 38cc277758..ccacdc3dde 100644 --- a/src/ast/intrinsic_texture_helper_test.h +++ b/src/ast/intrinsic_texture_helper_test.h @@ -128,6 +128,12 @@ enum class ValidTextureOverload { kSampleCompareDepth2dArrayOffsetF32, kSampleCompareDepthCubeF32, kSampleCompareDepthCubeArrayF32, + kSampleCompareLevelDepth2dF32, + kSampleCompareLevelDepth2dOffsetF32, + kSampleCompareLevelDepth2dArrayF32, + kSampleCompareLevelDepth2dArrayOffsetF32, + kSampleCompareLevelDepthCubeF32, + kSampleCompareLevelDepthCubeArrayF32, kLoad1dLevelF32, kLoad1dLevelU32, kLoad1dLevelI32, diff --git a/src/intrinsic_table.inl b/src/intrinsic_table.inl index a6fdf90ac9..a4a48d06e5 100644 --- a/src/intrinsic_table.inl +++ b/src/intrinsic_table.inl @@ -1432,54 +1432,54 @@ constexpr MatcherIndex kMatcherIndices[] = { /* [42] */ 28, /* [43] */ 5, /* [44] */ 9, - /* [45] */ 27, + /* [45] */ 26, /* [46] */ 0, /* [47] */ 1, - /* [48] */ 26, + /* [48] */ 25, /* [49] */ 0, /* [50] */ 1, - /* [51] */ 25, - /* [52] */ 0, - /* [53] */ 1, - /* [54] */ 27, + /* [51] */ 27, + /* [52] */ 5, + /* [53] */ 9, + /* [54] */ 26, /* [55] */ 5, /* [56] */ 9, - /* [57] */ 26, + /* [57] */ 25, /* [58] */ 5, /* [59] */ 9, - /* [60] */ 25, - /* [61] */ 5, + /* [60] */ 28, + /* [61] */ 4, /* [62] */ 9, - /* [63] */ 28, + /* [63] */ 27, /* [64] */ 4, /* [65] */ 9, - /* [66] */ 27, + /* [66] */ 26, /* [67] */ 4, /* [68] */ 9, - /* [69] */ 26, + /* [69] */ 25, /* [70] */ 4, /* [71] */ 9, - /* [72] */ 25, - /* [73] */ 4, + /* [72] */ 28, + /* [73] */ 3, /* [74] */ 9, - /* [75] */ 28, - /* [76] */ 3, - /* [77] */ 9, - /* [78] */ 28, - /* [79] */ 5, - /* [80] */ 8, - /* [81] */ 28, - /* [82] */ 0, - /* [83] */ 1, - /* [84] */ 27, + /* [75] */ 27, + /* [76] */ 0, + /* [77] */ 1, + /* [78] */ 27, + /* [79] */ 3, + /* [80] */ 9, + /* [81] */ 26, + /* [82] */ 3, + /* [83] */ 9, + /* [84] */ 25, /* [85] */ 3, /* [86] */ 9, - /* [87] */ 26, - /* [88] */ 3, - /* [89] */ 9, - /* [90] */ 25, - /* [91] */ 3, - /* [92] */ 9, + /* [87] */ 28, + /* [88] */ 5, + /* [89] */ 8, + /* [90] */ 28, + /* [91] */ 0, + /* [92] */ 1, /* [93] */ 27, /* [94] */ 5, /* [95] */ 8, @@ -1515,35 +1515,35 @@ constexpr MatcherIndex kMatcherIndices[] = { /* [125] */ 7, /* [126] */ 2, /* [127] */ 5, - /* [128] */ 2, + /* [128] */ 3, /* [129] */ 5, - /* [130] */ 3, + /* [130] */ 2, /* [131] */ 6, /* [132] */ 3, /* [133] */ 7, /* [134] */ 3, /* [135] */ 19, /* [136] */ 2, - /* [137] */ 18, - /* [138] */ 2, - /* [139] */ 7, - /* [140] */ 4, + /* [137] */ 7, + /* [138] */ 4, + /* [139] */ 18, + /* [140] */ 2, /* [141] */ 17, /* [142] */ 2, - /* [143] */ 16, - /* [144] */ 2, - /* [145] */ 14, + /* [143] */ 14, + /* [144] */ 0, + /* [145] */ 7, /* [146] */ 0, - /* [147] */ 7, - /* [148] */ 0, + /* [147] */ 16, + /* [148] */ 2, /* [149] */ 15, /* [150] */ 0, /* [151] */ 16, /* [152] */ 0, - /* [153] */ 15, - /* [154] */ 2, - /* [155] */ 17, - /* [156] */ 0, + /* [153] */ 17, + /* [154] */ 0, + /* [155] */ 15, + /* [156] */ 2, /* [157] */ 20, /* [158] */ 0, /* [159] */ 18, @@ -1552,12 +1552,12 @@ constexpr MatcherIndex kMatcherIndices[] = { /* [162] */ 0, /* [163] */ 14, /* [164] */ 2, - /* [165] */ 22, - /* [166] */ 12, - /* [167] */ 21, - /* [168] */ 23, - /* [169] */ 24, - /* [170] */ 29, + /* [165] */ 12, + /* [166] */ 22, + /* [167] */ 23, + /* [168] */ 24, + /* [169] */ 29, + /* [170] */ 21, /* [171] */ 13, }; @@ -1571,17 +1571,17 @@ constexpr ParameterInfo kParameters[] = { { /* [0] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[143], + /* matcher indices */ &kMatcherIndices[147], }, { /* [1] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[165], }, { /* [2] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[129], }, { /* [3] */ @@ -1591,62 +1591,62 @@ constexpr ParameterInfo kParameters[] = { { /* [4] */ /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[129], }, { /* [5] */ /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[129], }, { /* [6] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], + /* matcher indices */ &kMatcherIndices[127], }, { /* [7] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[153], + /* matcher indices */ &kMatcherIndices[135], }, { /* [8] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[165], }, { /* [9] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[123], }, { /* [10] */ - /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[127], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], }, { /* [11] */ - /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[127], + /* usage */ ParameterUsage::kDdx, + /* matcher indices */ &kMatcherIndices[123], }, { /* [12] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], + /* usage */ ParameterUsage::kDdy, + /* matcher indices */ &kMatcherIndices[123], }, { /* [13] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[135], + /* matcher indices */ &kMatcherIndices[147], }, { /* [14] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[165], }, { /* [15] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], + /* matcher indices */ &kMatcherIndices[129], }, { /* [16] */ @@ -1656,12 +1656,12 @@ constexpr ParameterInfo kParameters[] = { { /* [17] */ /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[123], + /* matcher indices */ &kMatcherIndices[129], }, { /* [18] */ /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[123], + /* matcher indices */ &kMatcherIndices[129], }, { /* [19] */ @@ -1671,7 +1671,7 @@ constexpr ParameterInfo kParameters[] = { { /* [20] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[165], }, { /* [21] */ @@ -1696,17 +1696,17 @@ constexpr ParameterInfo kParameters[] = { { /* [25] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[165], + /* matcher indices */ &kMatcherIndices[147], }, { /* [26] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[171], + /* matcher indices */ &kMatcherIndices[165], }, { /* [27] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[129], }, { /* [28] */ @@ -1715,28 +1715,28 @@ constexpr ParameterInfo kParameters[] = { }, { /* [29] */ - /* usage */ ParameterUsage::kDepthRef, + /* usage */ ParameterUsage::kBias, /* matcher indices */ &kMatcherIndices[5], }, { /* [30] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], + /* matcher indices */ &kMatcherIndices[127], }, { /* [31] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[143], + /* matcher indices */ &kMatcherIndices[166], }, { /* [32] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[171], }, { /* [33] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[129], }, { /* [34] */ @@ -1745,28 +1745,28 @@ constexpr ParameterInfo kParameters[] = { }, { /* [35] */ - /* usage */ ParameterUsage::kBias, + /* usage */ ParameterUsage::kDepthRef, /* matcher indices */ &kMatcherIndices[5], }, { /* [36] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], + /* matcher indices */ &kMatcherIndices[127], }, { /* [37] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[165], + /* matcher indices */ &kMatcherIndices[147], }, { /* [38] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[165], }, { /* [39] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[129], }, { /* [40] */ @@ -1776,27 +1776,27 @@ constexpr ParameterInfo kParameters[] = { { /* [41] */ /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[5], }, { /* [42] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], + /* matcher indices */ &kMatcherIndices[127], }, { /* [43] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[143], + /* matcher indices */ &kMatcherIndices[166], }, { /* [44] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[165], }, { /* [45] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[129], }, { /* [46] */ @@ -1805,58 +1805,58 @@ constexpr ParameterInfo kParameters[] = { }, { /* [47] */ - /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[127], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], }, { /* [48] */ - /* usage */ ParameterUsage::kDdy, + /* usage */ ParameterUsage::kOffset, /* matcher indices */ &kMatcherIndices[127], }, { /* [49] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[143], + /* matcher indices */ &kMatcherIndices[155], }, { /* [50] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[165], }, { /* [51] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[129], }, { /* [52] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], + /* usage */ ParameterUsage::kDdx, + /* matcher indices */ &kMatcherIndices[129], }, { /* [53] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[5], + /* usage */ ParameterUsage::kDdy, + /* matcher indices */ &kMatcherIndices[129], }, { /* [54] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], + /* matcher indices */ &kMatcherIndices[127], }, { /* [55] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[135], + /* matcher indices */ &kMatcherIndices[166], }, { /* [56] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[171], }, { /* [57] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], + /* matcher indices */ &kMatcherIndices[129], }, { /* [58] */ @@ -1865,588 +1865,588 @@ constexpr ParameterInfo kParameters[] = { }, { /* [59] */ - /* usage */ ParameterUsage::kBias, + /* usage */ ParameterUsage::kDepthRef, /* matcher indices */ &kMatcherIndices[5], }, { /* [60] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[143], - }, - { - /* [61] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [62] */ - /* usage */ ParameterUsage::kCoords, + /* usage */ ParameterUsage::kOffset, /* matcher indices */ &kMatcherIndices[127], }, { - /* [63] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], + /* [61] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[170], }, { - /* [64] */ - /* usage */ ParameterUsage::kOffset, + /* [62] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [63] */ + /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[129], }, { - /* [65] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[169], - }, - { - /* [66] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [67] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [68] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [69] */ + /* [64] */ /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[38], }, { - /* [70] */ + /* [65] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [66] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[141], }, { - /* [71] */ + /* [67] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[165], }, { - /* [72] */ + /* [68] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[123], }, { - /* [73] */ + /* [69] */ /* usage */ ParameterUsage::kBias, /* matcher indices */ &kMatcherIndices[5], }, { - /* [74] */ + /* [70] */ /* usage */ ParameterUsage::kOffset, /* matcher indices */ &kMatcherIndices[131], }, { - /* [75] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[141], - }, - { - /* [76] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [77] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [78] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [79] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[131], - }, - { - /* [80] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[153], - }, - { - /* [81] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [82] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [83] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [84] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [85] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[165], - }, - { - /* [86] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [87] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [88] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [89] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [90] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[167], - }, - { - /* [91] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[171], - }, - { - /* [92] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [93] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [94] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [95] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[165], - }, - { - /* [96] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[171], - }, - { - /* [97] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [98] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [99] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [100] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[167], - }, - { - /* [101] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [102] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [103] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [104] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [105] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[165], - }, - { - /* [106] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [107] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [108] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [109] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [110] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[137], - }, - { - /* [111] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [112] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [113] */ - /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [114] */ - /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [115] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[169], - }, - { - /* [116] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[171], - }, - { - /* [117] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [118] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [119] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [120] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[153], - }, - { - /* [121] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [122] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [123] */ - /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [124] */ - /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [125] */ + /* [71] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[135], }, { - /* [126] */ + /* [72] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[165], }, { - /* [127] */ + /* [73] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[123], }, { - /* [128] */ + /* [74] */ /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[38], }, { - /* [129] */ + /* [75] */ /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[5], }, { - /* [130] */ + /* [76] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[153], + /* matcher indices */ &kMatcherIndices[170], }, { - /* [131] */ + /* [77] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[171], }, { - /* [132] */ + /* [78] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[129], }, { - /* [133] */ - /* usage */ ParameterUsage::kBias, + /* [79] */ + /* usage */ ParameterUsage::kDepthRef, /* matcher indices */ &kMatcherIndices[5], }, { - /* [134] */ + /* [80] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [135] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[143], - }, - { - /* [136] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [137] */ - /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[127], }, { - /* [138] */ + /* [81] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[147], + }, + { + /* [82] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [83] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [84] */ /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[38], }, { - /* [139] */ + /* [85] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [86] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[155], + }, + { + /* [87] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [88] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [89] */ /* usage */ ParameterUsage::kBias, /* matcher indices */ &kMatcherIndices[5], }, { - /* [140] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[141], - }, - { - /* [141] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [142] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [143] */ - /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [144] */ - /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [145] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[143], - }, - { - /* [146] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [147] */ - /* usage */ ParameterUsage::kCoords, + /* [90] */ + /* usage */ ParameterUsage::kOffset, /* matcher indices */ &kMatcherIndices[127], }, { - /* [148] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [149] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [150] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[93], - }, - { - /* [151] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [152] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [153] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[139], - }, - { - /* [154] */ + /* [91] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[168], }, { - /* [155] */ + /* [92] */ /* usage */ ParameterUsage::kSampler, /* matcher indices */ &kMatcherIndices[171], }, { - /* [156] */ + /* [93] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[123], }, { - /* [157] */ + /* [94] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [95] */ /* usage */ ParameterUsage::kDepthRef, /* matcher indices */ &kMatcherIndices[5], }, { - /* [158] */ + /* [96] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[135], - }, - { - /* [159] */ - /* usage */ ParameterUsage::kSampler, /* matcher indices */ &kMatcherIndices[166], }, { - /* [160] */ + /* [97] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [98] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [99] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [100] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [101] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[168], + }, + { + /* [102] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [103] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[123], }, { - /* [161] */ + /* [104] */ /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[38], }, { - /* [162] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[105], - }, - { - /* [163] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [164] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [165] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[133], - }, - { - /* [166] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[151], - }, - { - /* [167] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [168] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [169] */ + /* [105] */ /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[38], }, { - /* [170] */ + /* [106] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[153], - }, - { - /* [171] */ - /* usage */ ParameterUsage::kSampler, /* matcher indices */ &kMatcherIndices[166], }, { - /* [172] */ + /* [107] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[171], + }, + { + /* [108] */ /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [109] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [110] */ + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [111] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[170], + }, + { + /* [112] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[171], + }, + { + /* [113] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [114] */ + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [115] */ + /* usage */ ParameterUsage::kOffset, /* matcher indices */ &kMatcherIndices[127], }, { - /* [173] */ + /* [116] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[166], + }, + { + /* [117] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[171], + }, + { + /* [118] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [119] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [120] */ + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [121] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[147], + }, + { + /* [122] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [123] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [124] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [125] */ + /* usage */ ParameterUsage::kBias, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [126] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[139], + }, + { + /* [127] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [128] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [129] */ + /* usage */ ParameterUsage::kDdx, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [130] */ + /* usage */ ParameterUsage::kDdy, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [131] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[155], + }, + { + /* [132] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [133] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [134] */ /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[5], }, { - /* [174] */ + /* [135] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [136] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[167], + /* matcher indices */ &kMatcherIndices[147], + }, + { + /* [137] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [138] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [139] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [140] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [141] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[168], + }, + { + /* [142] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[171], + }, + { + /* [143] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [144] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [145] */ + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [146] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[155], + }, + { + /* [147] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [148] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [149] */ + /* usage */ ParameterUsage::kDdx, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [150] */ + /* usage */ ParameterUsage::kDdy, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [151] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[141], + }, + { + /* [152] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [153] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [154] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [155] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[131], + }, + { + /* [156] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[135], + }, + { + /* [157] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [158] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [159] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [160] */ + /* usage */ ParameterUsage::kBias, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [161] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[141], + }, + { + /* [162] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [163] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [164] */ + /* usage */ ParameterUsage::kDdx, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [165] */ + /* usage */ ParameterUsage::kDdy, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [166] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[166], + }, + { + /* [167] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [168] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [169] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [170] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [171] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[170], + }, + { + /* [172] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [173] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [174] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[127], }, { /* [175] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[171], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[105], }, { /* [176] */ @@ -2455,237 +2455,237 @@ constexpr ParameterInfo kParameters[] = { }, { /* [177] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [178] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[133], + }, + { + /* [179] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[167], + }, + { + /* [180] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[171], + }, + { + /* [181] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [182] */ /* usage */ ParameterUsage::kDepthRef, /* matcher indices */ &kMatcherIndices[5], }, { - /* [178] */ + /* [183] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[117], }, { - /* [179] */ + /* [184] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], + /* matcher indices */ &kMatcherIndices[127], }, { - /* [180] */ + /* [185] */ /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[38], }, { - /* [181] */ + /* [186] */ /* usage */ ParameterUsage::kValue, /* matcher indices */ &kMatcherIndices[125], }, - { - /* [182] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[141], - }, - { - /* [183] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [184] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [185] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [186] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[137], - }, { /* [187] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[135], }, { /* [188] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [189] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[123], }, - { - /* [189] */ - /* usage */ ParameterUsage::kBias, - /* matcher indices */ &kMatcherIndices[5], - }, { /* [190] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[141], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], }, { /* [191] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[93], }, { /* [192] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], + /* matcher indices */ &kMatcherIndices[127], }, { /* [193] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[131], - }, - { - /* [194] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[165], - }, - { - /* [195] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [196] */ /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[38], }, + { + /* [194] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[137], + }, + { + /* [195] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[151], + }, + { + /* [196] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, { /* [197] */ - /* usage */ ParameterUsage::kLevel, + /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[38], }, { /* [198] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [199] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[168], }, - { - /* [199] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, { /* [200] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [201] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [202] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[169], - }, - { - /* [203] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [204] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [205] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [206] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[143], - }, - { - /* [207] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [208] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [209] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [210] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[153], - }, - { - /* [211] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [212] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [213] */ - /* usage */ ParameterUsage::kBias, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [214] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[167], - }, - { - /* [215] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [216] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [217] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [218] */ - /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[165], }, { - /* [219] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [220] */ + /* [201] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* matcher indices */ &kMatcherIndices[123], }, { - /* [221] */ + /* [202] */ /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[38], }, { - /* [222] */ + /* [203] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[167], }, { - /* [223] */ + /* [204] */ /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [205] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [206] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [207] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[170], + }, + { + /* [208] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[171], + }, + { + /* [209] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [210] */ + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [211] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[139], + }, + { + /* [212] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [213] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [214] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [215] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[167], + }, + { + /* [216] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[171], + }, + { + /* [217] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [218] */ + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [219] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[170], + }, + { + /* [220] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [221] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [222] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [223] */ + /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[166], }, { @@ -2695,163 +2695,163 @@ constexpr ParameterInfo kParameters[] = { }, { /* [225] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], }, { /* [226] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[153], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], }, { /* [227] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [228] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [229] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [230] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[141], }, { - /* [231] */ + /* [228] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [229] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [230] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[131], + }, + { + /* [231] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[155], }, { /* [232] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], }, { /* [233] */ - /* usage */ ParameterUsage::kBias, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [234] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[137], - }, - { - /* [235] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [236] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [237] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [238] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [239] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [240] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [241] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [242] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [243] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [244] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[108], - }, - { - /* [245] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[129], }, + { + /* [234] */ + /* usage */ ParameterUsage::kBias, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [235] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[147], + }, + { + /* [236] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [237] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [238] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [239] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[155], + }, + { + /* [240] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [241] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [242] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [243] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[141], + }, + { + /* [244] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [245] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, { /* [246] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[133], + /* usage */ ParameterUsage::kBias, + /* matcher indices */ &kMatcherIndices[5], }, { /* [247] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [248] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [249] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [250] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [251] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [252] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [253] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[170], }, { - /* [254] */ + /* [248] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[171], + }, + { + /* [249] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [250] */ + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [251] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[141], + }, + { + /* [252] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [253] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [254] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[5], }, { /* [255] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[166], }, { /* [256] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[120], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], }, { /* [257] */ @@ -2860,603 +2860,603 @@ constexpr ParameterInfo kParameters[] = { }, { /* [258] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[125], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], }, { /* [259] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[114], + /* matcher indices */ &kMatcherIndices[155], }, { /* [260] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[131], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], }, { /* [261] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[125], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], }, { /* [262] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[111], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[127], }, { /* [263] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [264] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[133], - }, - { - /* [265] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [266] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[131], - }, - { - /* [267] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[133], - }, - { - /* [268] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[99], - }, - { - /* [269] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [270] */ - /* usage */ ParameterUsage::kValue, /* matcher indices */ &kMatcherIndices[139], }, + { + /* [264] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [265] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [266] */ + /* usage */ ParameterUsage::kBias, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [267] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [268] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [269] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [270] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, { /* [271] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[167], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], }, { /* [272] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], }, { /* [273] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], }, { /* [274] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], + /* matcher indices */ &kMatcherIndices[5], }, { /* [275] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], + /* matcher indices */ &kMatcherIndices[5], }, { /* [276] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[8], }, { /* [277] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], + /* matcher indices */ &kMatcherIndices[8], }, { /* [278] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], + /* matcher indices */ &kMatcherIndices[8], }, { /* [279] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[39], - }, - { - /* [280] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [281] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [282] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [283] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[96], - }, - { - /* [284] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [285] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[139], - }, - { - /* [286] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[78], - }, - { - /* [287] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[131], - }, - { - /* [288] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[139], - }, - { - /* [289] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[145], - }, - { - /* [290] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [291] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [292] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[149], - }, - { - /* [293] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [294] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [295] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[155], - }, - { - /* [296] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[131], - }, - { - /* [297] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [298] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], - }, - { - /* [299] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], - }, - { - /* [300] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], - }, - { - /* [301] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], - }, - { - /* [302] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], - }, - { - /* [303] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], - }, - { - /* [304] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[157], - }, - { - /* [305] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [306] */ - /* usage */ ParameterUsage::kSampleIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [307] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[168], - }, - { - /* [308] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [309] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [310] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[167], - }, - { - /* [311] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [312] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [313] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[137], - }, - { - /* [314] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [315] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [316] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[141], - }, - { - /* [317] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [318] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[123], - }, - { - /* [319] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[84], - }, - { - /* [320] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [321] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [322] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [323] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [324] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [325] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [326] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [327] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [328] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[170], - }, - { - /* [329] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [330] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [331] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[66], - }, - { - /* [332] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [333] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [334] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[153], - }, - { - /* [335] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [336] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[127], - }, - { - /* [337] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[163], - }, - { - /* [338] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[166], - }, - { - /* [339] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [340] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [341] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [342] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [343] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[54], - }, - { - /* [344] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [345] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [346] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[37], }, { - /* [347] */ + /* [280] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[38], }, { - /* [348] */ + /* [281] */ /* usage */ ParameterUsage::kValue, /* matcher indices */ &kMatcherIndices[125], }, { - /* [349] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* [282] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[120], }, { - /* [350] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[21], + /* [283] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], }, { - /* [351] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], + /* [284] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[125], }, { - /* [352] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], + /* [285] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[111], }, { - /* [353] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], + /* [286] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[38], }, { - /* [354] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], + /* [287] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[133], }, { - /* [355] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], + /* [288] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[102], }, { - /* [356] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], + /* [289] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[131], }, { - /* [357] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], + /* [290] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[133], }, { - /* [358] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], + /* [291] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[99], }, { - /* [359] */ + /* [292] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [293] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[137], + }, + { + /* [294] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[170], }, { - /* [360] */ + /* [295] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [296] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[129], }, { - /* [361] */ + /* [297] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [298] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [299] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [300] */ /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[8], }, { - /* [362] */ + /* [301] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [302] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [303] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[96], + }, + { + /* [304] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [305] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[137], + }, + { + /* [306] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[87], + }, + { + /* [307] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[131], + }, + { + /* [308] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[137], + }, + { + /* [309] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[143], + }, + { + /* [310] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [311] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [312] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[149], + }, + { + /* [313] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [314] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [315] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[167], + }, + { + /* [316] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [317] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [318] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[153], + }, + { + /* [319] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[131], + }, + { + /* [320] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [321] */ /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[2], }, { - /* [363] */ + /* [322] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[2], }, { - /* [364] */ + /* [323] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[2], }, { - /* [365] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [366] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [367] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [368] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [369] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [370] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [371] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [372] */ + /* [324] */ /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[3], }, { - /* [373] */ + /* [325] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[3], }, { - /* [374] */ + /* [326] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[0], + /* matcher indices */ &kMatcherIndices[3], }, { - /* [375] */ + /* [327] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[157], + }, + { + /* [328] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [329] */ + /* usage */ ParameterUsage::kSampleIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [330] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[170], + }, + { + /* [331] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [332] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [333] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[2], + }, + { + /* [334] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[2], + }, + { + /* [335] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[39], + }, + { + /* [336] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[139], + }, + { + /* [337] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [338] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [339] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[3], + }, + { + /* [340] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[3], + }, + { + /* [341] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [342] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[141], + }, + { + /* [343] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [344] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[123], + }, + { + /* [345] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[78], + }, + { + /* [346] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [347] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [348] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[155], + }, + { + /* [349] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [350] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [351] */ /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[5], }, { - /* [376] */ + /* [352] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[17], + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [353] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [354] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [355] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [356] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [357] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[63], + }, + { + /* [358] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [359] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [360] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[163], + }, + { + /* [361] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [362] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [363] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[51], + }, + { + /* [364] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [365] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [366] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[169], + }, + { + /* [367] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], + }, + { + /* [368] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], + }, + { + /* [369] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[114], + }, + { + /* [370] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[131], + }, + { + /* [371] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[125], + }, + { + /* [372] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[108], + }, + { + /* [373] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [374] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[133], + }, + { + /* [375] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[169], + }, + { + /* [376] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[165], }, { /* [377] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[129], }, { /* [378] */ @@ -3466,12 +3466,12 @@ constexpr ParameterInfo kParameters[] = { { /* [379] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[6], }, { /* [380] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[5], }, { /* [381] */ @@ -3481,22 +3481,22 @@ constexpr ParameterInfo kParameters[] = { { /* [382] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[8], }, { /* [383] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[123], + /* matcher indices */ &kMatcherIndices[8], }, { /* [384] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[123], + /* matcher indices */ &kMatcherIndices[5], }, { /* [385] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[5], }, { /* [386] */ @@ -3506,162 +3506,162 @@ constexpr ParameterInfo kParameters[] = { { /* [387] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[8], }, { /* [388] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[2], }, { /* [389] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[90], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[2], }, { /* [390] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[38], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[3], }, { /* [391] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[87], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[3], }, { /* [392] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[2], }, { /* [393] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[75], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[2], }, { /* [394] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[131], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[153], }, { /* [395] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[72], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], }, { /* [396] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[38], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[3], }, { /* [397] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[69], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[3], }, { /* [398] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [399] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[63], - }, - { - /* [400] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[131], - }, - { - /* [401] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[60], - }, - { - /* [402] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [403] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [404] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [405] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [406] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [407] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[42], - }, - { - /* [408] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[131], - }, - { - /* [409] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[57], - }, - { - /* [410] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[129], - }, - { - /* [411] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[169], }, { - /* [412] */ + /* [399] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [400] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [401] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[2], + }, + { + /* [402] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [403] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[3], + }, + { + /* [404] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [405] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[0], + }, + { + /* [406] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [407] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[17], + }, + { + /* [408] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[151], + }, + { + /* [409] */ /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[38], }, + { + /* [410] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [411] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [412] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, { /* [413] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[168], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], }, { /* [414] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], }, { /* [415] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[165], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], }, { /* [416] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[123], }, { /* [417] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[167], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[123], }, { /* [418] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], }, { /* [419] */ @@ -3671,382 +3671,382 @@ constexpr ParameterInfo kParameters[] = { { /* [420] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[6], + /* matcher indices */ &kMatcherIndices[5], }, { /* [421] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[159], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], }, { /* [422] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], }, { /* [423] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[155], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], }, { /* [424] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[42], }, { /* [425] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[151], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[131], }, { /* [426] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], }, { /* [427] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[149], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], }, { /* [428] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[38], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[84], }, { /* [429] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[161], - }, - { - /* [430] */ - /* usage */ ParameterUsage::kLevel, + /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[38], }, { - /* [431] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[64], - }, - { - /* [432] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[64], - }, - { - /* [433] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[145], - }, - { - /* [434] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[149], - }, - { - /* [435] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[64], - }, - { - /* [436] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[151], - }, - { - /* [437] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[64], - }, - { - /* [438] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[155], - }, - { - /* [439] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[64], - }, - { - /* [440] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[159], - }, - { - /* [441] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [442] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[161], - }, - { - /* [443] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [444] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[157], - }, - { - /* [445] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[167], - }, - { - /* [446] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[29], - }, - { - /* [447] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[165], - }, - { - /* [448] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [449] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[168], - }, - { - /* [450] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], - }, - { - /* [451] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[169], - }, - { - /* [452] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], - }, - { - /* [453] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[51], - }, - { - /* [454] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[48], - }, - { - /* [455] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[45], - }, - { - /* [456] */ + /* [430] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[81], }, { - /* [457] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[170], + /* [431] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], }, { - /* [458] */ + /* [432] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[151], + /* matcher indices */ &kMatcherIndices[72], }, { - /* [459] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[161], + /* [433] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[131], }, { - /* [460] */ + /* [434] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[165], + /* matcher indices */ &kMatcherIndices[69], }, { - /* [461] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[169], + /* [435] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[38], }, { - /* [462] */ + /* [436] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[45], + /* matcher indices */ &kMatcherIndices[66], }, { - /* [463] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[149], + /* [437] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], }, { - /* [464] */ + /* [438] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[151], + /* matcher indices */ &kMatcherIndices[60], }, { - /* [465] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[155], + /* [439] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[131], }, { - /* [466] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[159], - }, - { - /* [467] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[161], - }, - { - /* [468] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[167], - }, - { - /* [469] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[165], - }, - { - /* [470] */ + /* [440] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[168], }, { - /* [471] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[169], + /* [441] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], }, { - /* [472] */ + /* [442] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[167], + }, + { + /* [443] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [444] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[166], + }, + { + /* [445] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [446] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[170], + }, + { + /* [447] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [448] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [449] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[21], + }, + { + /* [450] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[57], + }, + { + /* [451] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [452] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[54], + }, + { + /* [453] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[127], + }, + { + /* [454] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[159], + }, + { + /* [455] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [456] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[149], + }, + { + /* [457] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [458] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[161], + }, + { + /* [459] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[38], + }, + { + /* [460] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[143], + }, + { + /* [461] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[153], + }, + { + /* [462] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[151], + }, + { + /* [463] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[159], + }, + { + /* [464] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[149], + }, + { + /* [465] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[161], + }, + { + /* [466] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[61], + }, + { + /* [467] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[157], }, + { + /* [468] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[170], + }, + { + /* [469] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[61], + }, + { + /* [470] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[166], + }, + { + /* [471] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[61], + }, + { + /* [472] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[167], + }, { /* [473] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[61], }, { /* [474] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[168], }, { /* [475] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[61], }, { /* [476] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[48], }, { /* [477] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[45], }, { /* [478] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[75], }, { /* [479] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[90], }, { /* [480] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[169], }, { /* [481] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[151], }, { /* [482] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[161], }, { /* [483] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[166], }, { /* [484] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[168], }, { /* [485] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[75], }, { /* [486] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[125], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[149], }, { /* [487] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[125], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[151], }, { /* [488] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[127], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[153], }, { /* [489] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[127], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[159], }, { /* [490] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[127], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[161], }, { /* [491] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[170], }, { /* [492] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[166], }, { /* [493] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[167], }, { /* [494] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[168], }, { /* [495] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[157], }, { /* [496] */ @@ -4061,57 +4061,57 @@ constexpr ParameterInfo kParameters[] = { { /* [498] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[29], }, { /* [499] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[8], }, { /* [500] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[5], }, { /* [501] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[8], }, { /* [502] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[5], }, { /* [503] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[8], }, { /* [504] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[5], }, { /* [505] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[8], }, { /* [506] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[5], }, { /* [507] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[8], }, { /* [508] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[3], + /* matcher indices */ &kMatcherIndices[5], }, { /* [509] */ @@ -4136,42 +4136,42 @@ constexpr ParameterInfo kParameters[] = { { /* [513] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[2], }, { /* [514] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[3], }, { /* [515] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[125], }, { /* [516] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[125], }, { /* [517] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[129], }, { /* [518] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[129], }, { /* [519] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[8], + /* matcher indices */ &kMatcherIndices[129], }, { /* [520] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[8], }, { /* [521] */ @@ -4246,12 +4246,12 @@ constexpr ParameterInfo kParameters[] = { { /* [535] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[25], + /* matcher indices */ &kMatcherIndices[8], }, { /* [536] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], + /* matcher indices */ &kMatcherIndices[5], }, { /* [537] */ @@ -4311,22 +4311,22 @@ constexpr ParameterInfo kParameters[] = { { /* [548] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[12], + /* matcher indices */ &kMatcherIndices[8], }, { /* [549] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[14], + /* matcher indices */ &kMatcherIndices[5], }, { /* [550] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[39], + /* matcher indices */ &kMatcherIndices[8], }, { /* [551] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[39], + /* matcher indices */ &kMatcherIndices[5], }, { /* [552] */ @@ -4341,11 +4341,156 @@ constexpr ParameterInfo kParameters[] = { { /* [554] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[2], + /* matcher indices */ &kMatcherIndices[8], }, { /* [555] */ /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [556] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [557] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [558] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [559] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [560] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [561] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [562] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [563] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [564] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[25], + }, + { + /* [565] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[2], + }, + { + /* [566] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[3], + }, + { + /* [567] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [568] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [569] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [570] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [571] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [572] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [573] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [574] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [575] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [576] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [577] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[12], + }, + { + /* [578] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[14], + }, + { + /* [579] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[39], + }, + { + /* [580] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[39], + }, + { + /* [581] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[8], + }, + { + /* [582] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[5], + }, + { + /* [583] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[2], + }, + { + /* [584] */ + /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[3], }, }; @@ -4414,7 +4559,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[433], + /* parameters */ &kParameters[460], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4426,8 +4571,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[434], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[464], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4438,8 +4583,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[427], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[456], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4450,8 +4595,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[436], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[462], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4462,8 +4607,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[425], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[408], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4474,7 +4619,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[438], + /* parameters */ &kParameters[461], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4486,7 +4631,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[423], + /* parameters */ &kParameters[394], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4498,7 +4643,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[440], + /* parameters */ &kParameters[463], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4510,7 +4655,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[421], + /* parameters */ &kParameters[454], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4522,7 +4667,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[442], + /* parameters */ &kParameters[465], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4534,7 +4679,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[429], + /* parameters */ &kParameters[458], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4546,8 +4691,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[444], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[467], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4558,8 +4703,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[445], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[468], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4570,8 +4715,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[417], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[446], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4582,8 +4727,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[447], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[470], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4594,8 +4739,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[415], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[444], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4606,7 +4751,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[449], + /* parameters */ &kParameters[472], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4618,7 +4763,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[413], + /* parameters */ &kParameters[442], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4630,7 +4775,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[451], + /* parameters */ &kParameters[474], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4642,7 +4787,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[411], + /* parameters */ &kParameters[440], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4654,7 +4799,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 2, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[4], - /* parameters */ &kParameters[453], + /* parameters */ &kParameters[476], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4666,8 +4811,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 2, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[4], - /* parameters */ &kParameters[454], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[477], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4678,8 +4823,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 2, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[4], - /* parameters */ &kParameters[455], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[478], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4690,7 +4835,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 2, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[4], - /* parameters */ &kParameters[456], + /* parameters */ &kParameters[479], /* return matcher indices */ &kMatcherIndices[131], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4702,8 +4847,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[457], - /* return matcher indices */ &kMatcherIndices[129], + /* parameters */ &kParameters[480], + /* return matcher indices */ &kMatcherIndices[127], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4714,8 +4859,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[289], - /* return matcher indices */ &kMatcherIndices[147], + /* parameters */ &kParameters[309], + /* return matcher indices */ &kMatcherIndices[145], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4726,8 +4871,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[292], - /* return matcher indices */ &kMatcherIndices[147], + /* parameters */ &kParameters[312], + /* return matcher indices */ &kMatcherIndices[145], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4738,8 +4883,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[166], - /* return matcher indices */ &kMatcherIndices[147], + /* parameters */ &kParameters[195], + /* return matcher indices */ &kMatcherIndices[145], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4750,8 +4895,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[295], - /* return matcher indices */ &kMatcherIndices[147], + /* parameters */ &kParameters[318], + /* return matcher indices */ &kMatcherIndices[145], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4762,8 +4907,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[304], - /* return matcher indices */ &kMatcherIndices[147], + /* parameters */ &kParameters[327], + /* return matcher indices */ &kMatcherIndices[145], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4774,7 +4919,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[310], + /* parameters */ &kParameters[330], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4786,7 +4931,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[194], + /* parameters */ &kParameters[223], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4798,7 +4943,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[389], + /* parameters */ &kParameters[428], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4810,7 +4955,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[391], + /* parameters */ &kParameters[430], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4822,7 +4967,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[319], + /* parameters */ &kParameters[345], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4834,7 +4979,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[393], + /* parameters */ &kParameters[432], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4846,7 +4991,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[395], + /* parameters */ &kParameters[434], /* return matcher indices */ &kMatcherIndices[133], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4858,7 +5003,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[397], + /* parameters */ &kParameters[436], /* return matcher indices */ &kMatcherIndices[133], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4870,7 +5015,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[331], + /* parameters */ &kParameters[357], /* return matcher indices */ &kMatcherIndices[133], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4882,7 +5027,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[399], + /* parameters */ &kParameters[438], /* return matcher indices */ &kMatcherIndices[133], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4894,8 +5039,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[401], - /* return matcher indices */ &kMatcherIndices[139], + /* parameters */ &kParameters[450], + /* return matcher indices */ &kMatcherIndices[137], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4906,8 +5051,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[409], - /* return matcher indices */ &kMatcherIndices[139], + /* parameters */ &kParameters[452], + /* return matcher indices */ &kMatcherIndices[137], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4918,8 +5063,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[343], - /* return matcher indices */ &kMatcherIndices[139], + /* parameters */ &kParameters[363], + /* return matcher indices */ &kMatcherIndices[137], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4930,8 +5075,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[407], - /* return matcher indices */ &kMatcherIndices[139], + /* parameters */ &kParameters[424], + /* return matcher indices */ &kMatcherIndices[137], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -4942,7 +5087,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[359], + /* parameters */ &kParameters[398], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -4954,7 +5099,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[337], + /* parameters */ &kParameters[360], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -4966,7 +5111,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[334], + /* parameters */ &kParameters[348], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -4978,7 +5123,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[226], + /* parameters */ &kParameters[259], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -4990,7 +5135,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[206], + /* parameters */ &kParameters[235], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5002,7 +5147,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[60], + /* parameters */ &kParameters[81], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5014,7 +5159,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[316], + /* parameters */ &kParameters[342], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5026,7 +5171,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[190], + /* parameters */ &kParameters[227], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5038,7 +5183,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[313], + /* parameters */ &kParameters[336], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5050,7 +5195,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[158], + /* parameters */ &kParameters[187], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5062,7 +5207,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[271], + /* parameters */ &kParameters[294], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5074,7 +5219,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[222], + /* parameters */ &kParameters[171], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5086,7 +5231,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[218], + /* parameters */ &kParameters[255], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5098,7 +5243,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[85], + /* parameters */ &kParameters[96], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5110,7 +5255,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[307], + /* parameters */ &kParameters[315], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5122,7 +5267,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[202], + /* parameters */ &kParameters[199], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5134,7 +5279,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[328], + /* parameters */ &kParameters[375], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5146,7 +5291,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[170], + /* parameters */ &kParameters[239], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5158,7 +5303,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[80], + /* parameters */ &kParameters[131], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5170,7 +5315,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[145], + /* parameters */ &kParameters[136], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5182,7 +5327,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[49], + /* parameters */ &kParameters[37], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5194,7 +5339,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[182], + /* parameters */ &kParameters[251], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5206,7 +5351,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[75], + /* parameters */ &kParameters[151], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5218,7 +5363,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[234], + /* parameters */ &kParameters[211], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5230,7 +5375,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[125], + /* parameters */ &kParameters[71], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5242,7 +5387,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[214], + /* parameters */ &kParameters[219], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5254,7 +5399,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[100], + /* parameters */ &kParameters[61], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5266,7 +5411,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[105], + /* parameters */ &kParameters[166], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5278,7 +5423,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[37], + /* parameters */ &kParameters[43], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5290,7 +5435,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[198], + /* parameters */ &kParameters[203], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5302,7 +5447,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[65], + /* parameters */ &kParameters[101], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5314,7 +5459,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[253], + /* parameters */ &kParameters[366], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5326,7 +5471,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[346], + /* parameters */ &kParameters[279], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5338,7 +5483,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[256], + /* parameters */ &kParameters[282], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5350,7 +5495,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[178], + /* parameters */ &kParameters[183], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5362,7 +5507,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[259], + /* parameters */ &kParameters[369], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5374,7 +5519,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[262], + /* parameters */ &kParameters[285], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5386,7 +5531,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[244], + /* parameters */ &kParameters[372], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5398,7 +5543,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[162], + /* parameters */ &kParameters[175], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5410,7 +5555,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[265], + /* parameters */ &kParameters[288], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5422,7 +5567,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[268], + /* parameters */ &kParameters[291], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5434,7 +5579,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[283], + /* parameters */ &kParameters[303], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5446,7 +5591,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[150], + /* parameters */ &kParameters[191], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5458,7 +5603,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[286], + /* parameters */ &kParameters[306], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5470,7 +5615,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[463], + /* parameters */ &kParameters[486], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5482,7 +5627,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[464], + /* parameters */ &kParameters[487], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5494,7 +5639,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[465], + /* parameters */ &kParameters[488], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5506,7 +5651,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[466], + /* parameters */ &kParameters[489], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5518,7 +5663,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[467], + /* parameters */ &kParameters[490], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5530,7 +5675,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[468], + /* parameters */ &kParameters[491], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5542,7 +5687,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[469], + /* parameters */ &kParameters[492], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5554,7 +5699,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[470], + /* parameters */ &kParameters[493], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5566,7 +5711,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[471], + /* parameters */ &kParameters[494], /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5578,7 +5723,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[120], + /* parameters */ &kParameters[146], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5590,7 +5735,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[7], + /* parameters */ &kParameters[49], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5602,7 +5747,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[43], + /* parameters */ &kParameters[13], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5626,7 +5771,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[140], + /* parameters */ &kParameters[161], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5650,7 +5795,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[110], + /* parameters */ &kParameters[126], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5662,7 +5807,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[13], + /* parameters */ &kParameters[7], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5674,7 +5819,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[210], + /* parameters */ &kParameters[231], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5686,7 +5831,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[130], + /* parameters */ &kParameters[86], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5698,7 +5843,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[135], + /* parameters */ &kParameters[121], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5710,7 +5855,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[31], + /* parameters */ &kParameters[25], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5722,7 +5867,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[230], + /* parameters */ &kParameters[243], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5734,7 +5879,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[70], + /* parameters */ &kParameters[66], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5746,7 +5891,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[186], + /* parameters */ &kParameters[263], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5758,7 +5903,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[55], + /* parameters */ &kParameters[156], /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5770,7 +5915,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[174], + /* parameters */ &kParameters[247], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5782,7 +5927,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[90], + /* parameters */ &kParameters[76], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5794,7 +5939,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[95], + /* parameters */ &kParameters[106], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5806,7 +5951,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[25], + /* parameters */ &kParameters[55], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5818,7 +5963,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[154], + /* parameters */ &kParameters[215], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -5830,104 +5975,104 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[115], + /* parameters */ &kParameters[91], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, }, { /* [119] */ - /* num parameters */ 1, - /* num open types */ 1, + /* num parameters */ 4, + /* num open types */ 0, /* num open numbers */ 0, - /* open types */ &kOpenTypes[1], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[458], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[207], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [120] */ - /* num parameters */ 1, - /* num open types */ 1, + /* num parameters */ 5, + /* num open types */ 0, /* num open numbers */ 0, - /* open types */ &kOpenTypes[1], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[459], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[111], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [121] */ - /* num parameters */ 1, + /* num parameters */ 5, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[460], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[116], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [122] */ - /* num parameters */ 1, + /* num parameters */ 6, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[461], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[31], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [123] */ - /* num parameters */ 1, + /* num parameters */ 4, /* num open types */ 0, - /* num open numbers */ 2, + /* num open numbers */ 0, /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[4], - /* parameters */ &kParameters[462], - /* return matcher indices */ &kMatcherIndices[38], + /* open numbers */ &kOpenNumbers[6], + /* parameters */ &kParameters[179], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [124] */ - /* num parameters */ 2, + /* num parameters */ 5, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[387], + /* parameters */ &kParameters[141], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [125] */ - /* num parameters */ 2, - /* num open types */ 0, - /* num open numbers */ 1, - /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[385], - /* return matcher indices */ &kMatcherIndices[8], + /* 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[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [126] */ /* 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[539], - /* return matcher indices */ &kMatcherIndices[5], + /* parameters */ &kParameters[482], + /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -5935,35 +6080,35 @@ constexpr OverloadInfo kOverloads[] = { /* [127] */ /* num parameters */ 1, /* num open types */ 0, - /* num open numbers */ 1, + /* num open numbers */ 0, /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[538], - /* return matcher indices */ &kMatcherIndices[8], + /* open numbers */ &kOpenNumbers[6], + /* parameters */ &kParameters[483], + /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [128] */ /* num parameters */ 1, - /* num open types */ 1, + /* num open types */ 0, /* num open numbers */ 0, - /* open types */ &kOpenTypes[0], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[537], - /* return matcher indices */ &kMatcherIndices[3], + /* parameters */ &kParameters[484], + /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [129] */ /* num parameters */ 1, - /* num open types */ 1, - /* num open numbers */ 1, - /* open types */ &kOpenTypes[0], - /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[536], - /* return matcher indices */ &kMatcherIndices[2], + /* num open types */ 0, + /* num open numbers */ 2, + /* open types */ &kOpenTypes[4], + /* open numbers */ &kOpenNumbers[4], + /* parameters */ &kParameters[485], + /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -5974,7 +6119,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[541], + /* parameters */ &kParameters[572], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -5986,105 +6131,105 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[540], + /* parameters */ &kParameters[571], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [132] */ - /* num parameters */ 2, - /* num open types */ 0, + /* num parameters */ 1, + /* num open types */ 1, /* num open numbers */ 0, - /* open types */ &kOpenTypes[4], + /* open types */ &kOpenTypes[0], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[403], - /* return matcher indices */ &kMatcherIndices[5], + /* parameters */ &kParameters[566], + /* return matcher indices */ &kMatcherIndices[3], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [133] */ - /* num parameters */ 2, - /* num open types */ 0, + /* num parameters */ 1, + /* num open types */ 1, /* num open numbers */ 1, - /* open types */ &kOpenTypes[4], + /* open types */ &kOpenTypes[0], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[405], - /* return matcher indices */ &kMatcherIndices[8], + /* parameters */ &kParameters[565], + /* return matcher indices */ &kMatcherIndices[2], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [134] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[381], + /* parameters */ &kParameters[568], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [135] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num open types */ 0, /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[379], - /* return matcher indices */ &kMatcherIndices[5], + /* parameters */ &kParameters[567], + /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [136] */ - /* num parameters */ 3, - /* num open types */ 1, + /* num parameters */ 1, + /* num open types */ 0, /* num open numbers */ 0, - /* open types */ &kOpenTypes[1], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[301], - /* return matcher indices */ &kMatcherIndices[3], + /* parameters */ &kParameters[570], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [137] */ - /* num parameters */ 3, - /* num open types */ 1, + /* num parameters */ 1, + /* num open types */ 0, /* num open numbers */ 1, - /* open types */ &kOpenTypes[1], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[298], - /* return matcher indices */ &kMatcherIndices[2], + /* parameters */ &kParameters[569], + /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [138] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[534], + /* parameters */ &kParameters[414], /* return matcher indices */ &kMatcherIndices[5], - /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [139] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num open types */ 0, /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[533], - /* return matcher indices */ &kMatcherIndices[8], - /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), + /* parameters */ &kParameters[412], + /* return matcher indices */ &kMatcherIndices[5], + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { @@ -6094,9 +6239,9 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[532], + /* parameters */ &kParameters[502], /* return matcher indices */ &kMatcherIndices[5], - /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { @@ -6106,9 +6251,9 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[531], + /* parameters */ &kParameters[501], /* return matcher indices */ &kMatcherIndices[8], - /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { @@ -6118,7 +6263,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[530], + /* parameters */ &kParameters[563], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -6130,7 +6275,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[529], + /* parameters */ &kParameters[562], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -6142,7 +6287,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[528], + /* parameters */ &kParameters[561], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -6154,7 +6299,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[527], + /* parameters */ &kParameters[560], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -6166,7 +6311,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[526], + /* parameters */ &kParameters[559], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -6178,7 +6323,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[525], + /* parameters */ &kParameters[558], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -6190,7 +6335,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[524], + /* parameters */ &kParameters[557], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -6202,7 +6347,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[523], + /* parameters */ &kParameters[556], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, @@ -6214,9 +6359,9 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[522], + /* parameters */ &kParameters[555], /* return matcher indices */ &kMatcherIndices[5], - /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, }, { @@ -6226,9 +6371,9 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[521], + /* parameters */ &kParameters[554], /* return matcher indices */ &kMatcherIndices[8], - /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, }, { @@ -6238,9 +6383,9 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[520], + /* parameters */ &kParameters[553], /* return matcher indices */ &kMatcherIndices[5], - /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, }, { @@ -6250,31 +6395,31 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[519], + /* parameters */ &kParameters[552], /* return matcher indices */ &kMatcherIndices[8], - /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* supported_stages */ PipelineStageSet(PipelineStage::kFragment), /* is_deprecated */ false, }, { /* [154] */ - /* num parameters */ 3, + /* num parameters */ 1, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[250], + /* parameters */ &kParameters[551], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [155] */ - /* num parameters */ 3, + /* num parameters */ 1, /* num open types */ 0, /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[247], + /* parameters */ &kParameters[550], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6286,7 +6431,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[518], + /* parameters */ &kParameters[549], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6298,7 +6443,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[517], + /* parameters */ &kParameters[548], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6310,7 +6455,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[241], + /* parameters */ &kParameters[267], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6322,7 +6467,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[238], + /* parameters */ &kParameters[276], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6334,7 +6479,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[516], + /* parameters */ &kParameters[547], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6346,31 +6491,31 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[515], + /* parameters */ &kParameters[546], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [162] */ - /* num parameters */ 2, - /* num open types */ 1, - /* num open numbers */ 2, - /* open types */ &kOpenTypes[0], - /* open numbers */ &kOpenNumbers[2], - /* parameters */ &kParameters[375], + /* 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 */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [163] */ - /* num parameters */ 2, - /* num open types */ 1, - /* num open numbers */ 3, - /* open types */ &kOpenTypes[0], + /* num parameters */ 3, + /* num open types */ 0, + /* num open numbers */ 1, + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[373], + /* parameters */ &kParameters[270], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6382,7 +6527,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[514], + /* parameters */ &kParameters[545], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6394,31 +6539,31 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[513], + /* parameters */ &kParameters[544], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [166] */ - /* num parameters */ 1, - /* num open types */ 0, - /* num open numbers */ 0, - /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[512], + /* num parameters */ 2, + /* num open types */ 1, + /* num open numbers */ 2, + /* open types */ &kOpenTypes[0], + /* open numbers */ &kOpenNumbers[2], + /* parameters */ &kParameters[406], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [167] */ - /* num parameters */ 1, - /* num open types */ 0, - /* num open numbers */ 1, - /* open types */ &kOpenTypes[4], + /* num parameters */ 2, + /* num open types */ 1, + /* num open numbers */ 3, + /* open types */ &kOpenTypes[0], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[511], + /* parameters */ &kParameters[404], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6430,7 +6575,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[510], + /* parameters */ &kParameters[543], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6442,32 +6587,32 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[509], + /* parameters */ &kParameters[542], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [170] */ - /* num parameters */ 2, - /* num open types */ 1, + /* num parameters */ 1, + /* num open types */ 0, /* num open numbers */ 0, - /* open types */ &kOpenTypes[1], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[357], - /* return matcher indices */ &kMatcherIndices[3], + /* parameters */ &kParameters[541], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [171] */ - /* num parameters */ 2, - /* num open types */ 1, + /* num parameters */ 1, + /* num open types */ 0, /* num open numbers */ 1, - /* open types */ &kOpenTypes[1], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[355], - /* return matcher indices */ &kMatcherIndices[2], + /* parameters */ &kParameters[540], + /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -6478,7 +6623,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[507], + /* parameters */ &kParameters[539], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6490,32 +6635,32 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[506], + /* parameters */ &kParameters[538], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [174] */ - /* 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[1], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[505], - /* return matcher indices */ &kMatcherIndices[1], + /* parameters */ &kParameters[396], + /* return matcher indices */ &kMatcherIndices[3], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [175] */ - /* 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[1], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[504], - /* return matcher indices */ &kMatcherIndices[39], + /* parameters */ &kParameters[392], + /* return matcher indices */ &kMatcherIndices[2], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -6526,8 +6671,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[503], - /* return matcher indices */ &kMatcherIndices[1], + /* parameters */ &kParameters[536], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -6538,8 +6683,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[502], - /* return matcher indices */ &kMatcherIndices[39], + /* parameters */ &kParameters[535], + /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -6550,7 +6695,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[501], + /* parameters */ &kParameters[534], /* return matcher indices */ &kMatcherIndices[1], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6562,7 +6707,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[500], + /* parameters */ &kParameters[533], /* return matcher indices */ &kMatcherIndices[39], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6574,7 +6719,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[499], + /* parameters */ &kParameters[532], /* return matcher indices */ &kMatcherIndices[1], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6586,32 +6731,32 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[498], + /* parameters */ &kParameters[531], /* return matcher indices */ &kMatcherIndices[39], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [182] */ - /* num parameters */ 2, - /* num open types */ 1, + /* num parameters */ 1, + /* num open types */ 0, /* num open numbers */ 0, - /* open types */ &kOpenTypes[0], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[371], - /* return matcher indices */ &kMatcherIndices[5], + /* parameters */ &kParameters[530], + /* return matcher indices */ &kMatcherIndices[1], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [183] */ - /* num parameters */ 2, - /* num open types */ 1, + /* num parameters */ 1, + /* num open types */ 0, /* num open numbers */ 1, - /* open types */ &kOpenTypes[0], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[361], - /* return matcher indices */ &kMatcherIndices[8], + /* parameters */ &kParameters[529], + /* return matcher indices */ &kMatcherIndices[39], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -6622,8 +6767,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[497], - /* return matcher indices */ &kMatcherIndices[5], + /* parameters */ &kParameters[528], + /* return matcher indices */ &kMatcherIndices[1], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -6634,31 +6779,31 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[496], - /* return matcher indices */ &kMatcherIndices[5], + /* parameters */ &kParameters[527], + /* return matcher indices */ &kMatcherIndices[39], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [186] */ - /* 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[495], + /* parameters */ &kParameters[402], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [187] */ - /* 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[1], - /* parameters */ &kParameters[494], + /* parameters */ &kParameters[400], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6670,7 +6815,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[493], + /* parameters */ &kParameters[526], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6682,8 +6827,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[492], - /* return matcher indices */ &kMatcherIndices[8], + /* parameters */ &kParameters[525], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -6694,7 +6839,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[543], + /* parameters */ &kParameters[524], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6706,176 +6851,176 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[542], + /* parameters */ &kParameters[523], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [192] */ - /* num parameters */ 2, - /* num open types */ 1, + /* num parameters */ 1, + /* num open types */ 0, /* num open numbers */ 0, - /* open types */ &kOpenTypes[1], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[353], - /* return matcher indices */ &kMatcherIndices[3], + /* parameters */ &kParameters[522], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [193] */ - /* num parameters */ 2, - /* num open types */ 1, + /* num parameters */ 1, + /* num open types */ 0, /* num open numbers */ 1, - /* open types */ &kOpenTypes[1], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[351], - /* return matcher indices */ &kMatcherIndices[2], + /* parameters */ &kParameters[521], + /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [194] */ /* num parameters */ 3, - /* 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[280], - /* return matcher indices */ &kMatcherIndices[5], + /* parameters */ &kParameters[324], + /* return matcher indices */ &kMatcherIndices[3], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [195] */ /* num parameters */ 3, - /* num open types */ 0, + /* num open types */ 1, /* num open numbers */ 1, - /* open types */ &kOpenTypes[4], + /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[340], - /* return matcher indices */ &kMatcherIndices[8], + /* parameters */ &kParameters[321], + /* return matcher indices */ &kMatcherIndices[2], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [196] */ /* num parameters */ 2, - /* num open types */ 0, - /* num open numbers */ 2, - /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[2], - /* parameters */ &kParameters[349], - /* return matcher indices */ &kMatcherIndices[5], + /* num open types */ 1, + /* num open numbers */ 0, + /* open types */ &kOpenTypes[1], + /* open numbers */ &kOpenNumbers[6], + /* parameters */ &kParameters[390], + /* return matcher indices */ &kMatcherIndices[3], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [197] */ /* num parameters */ 2, - /* num open types */ 0, - /* num open numbers */ 3, - /* open types */ &kOpenTypes[4], + /* num open types */ 1, + /* num open numbers */ 1, + /* open types */ &kOpenTypes[1], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[419], - /* return matcher indices */ &kMatcherIndices[8], + /* parameters */ &kParameters[388], + /* return matcher indices */ &kMatcherIndices[2], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [198] */ - /* num parameters */ 1, + /* num parameters */ 3, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[545], + /* parameters */ &kParameters[351], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [199] */ - /* num parameters */ 1, + /* num parameters */ 3, /* num open types */ 0, /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[544], + /* parameters */ &kParameters[354], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [200] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num open types */ 0, - /* num open numbers */ 0, + /* num open numbers */ 2, /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[475], + /* open numbers */ &kOpenNumbers[2], + /* parameters */ &kParameters[448], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [201] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num open types */ 0, - /* num open numbers */ 1, + /* num open numbers */ 3, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[474], + /* parameters */ &kParameters[378], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [202] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[547], + /* parameters */ &kParameters[420], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [203] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num open types */ 0, /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[546], + /* parameters */ &kParameters[422], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [204] */ - /* num parameters */ 1, - /* num open types */ 1, + /* num parameters */ 2, + /* num open types */ 0, /* num open numbers */ 0, - /* open types */ &kOpenTypes[2], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[549], - /* return matcher indices */ &kMatcherIndices[64], + /* parameters */ &kParameters[426], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), - /* is_deprecated */ true, + /* is_deprecated */ false, }, { /* [205] */ - /* num parameters */ 1, - /* num open types */ 1, + /* num parameters */ 2, + /* num open types */ 0, /* num open numbers */ 1, - /* open types */ &kOpenTypes[2], - /* open numbers */ &kOpenNumbers[3], - /* parameters */ &kParameters[548], - /* return matcher indices */ &kMatcherIndices[64], + /* open types */ &kOpenTypes[4], + /* open numbers */ &kOpenNumbers[1], + /* parameters */ &kParameters[418], + /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -6886,7 +7031,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[443], + /* parameters */ &kParameters[574], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6898,7 +7043,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[441], + /* parameters */ &kParameters[573], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6910,7 +7055,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[450], + /* parameters */ &kParameters[576], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6922,7 +7067,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[448], + /* parameters */ &kParameters[575], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6930,47 +7075,47 @@ constexpr OverloadInfo kOverloads[] = { { /* [210] */ /* num parameters */ 1, - /* num open types */ 0, + /* num open types */ 1, /* num open numbers */ 0, - /* open types */ &kOpenTypes[4], + /* open types */ &kOpenTypes[2], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[473], - /* return matcher indices */ &kMatcherIndices[5], + /* parameters */ &kParameters[578], + /* return matcher indices */ &kMatcherIndices[61], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), - /* is_deprecated */ false, + /* is_deprecated */ true, }, { /* [211] */ /* num parameters */ 1, - /* num open types */ 0, + /* num open types */ 1, /* num open numbers */ 1, - /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[452], - /* return matcher indices */ &kMatcherIndices[8], + /* open types */ &kOpenTypes[2], + /* open numbers */ &kOpenNumbers[3], + /* parameters */ &kParameters[577], + /* return matcher indices */ &kMatcherIndices[61], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [212] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[367], + /* parameters */ &kParameters[497], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [213] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num open types */ 0, /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[369], + /* parameters */ &kParameters[496], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6982,7 +7127,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[553], + /* parameters */ &kParameters[500], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -6994,56 +7139,56 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[552], + /* parameters */ &kParameters[499], /* return matcher indices */ &kMatcherIndices[8], /* 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 */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[483], + /* parameters */ &kParameters[384], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [217] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num open types */ 0, /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[482], + /* parameters */ &kParameters[386], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [218] */ - /* num parameters */ 3, - /* num open types */ 1, + /* num parameters */ 1, + /* num open types */ 0, /* num open numbers */ 0, - /* open types */ &kOpenTypes[3], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[274], - /* return matcher indices */ &kMatcherIndices[3], + /* parameters */ &kParameters[582], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [219] */ - /* num parameters */ 3, - /* num open types */ 1, + /* num parameters */ 1, + /* num open types */ 0, /* num open numbers */ 1, - /* open types */ &kOpenTypes[3], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[277], - /* return matcher indices */ &kMatcherIndices[2], + /* parameters */ &kParameters[581], + /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -7054,7 +7199,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[481], + /* parameters */ &kParameters[512], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -7066,32 +7211,32 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[480], + /* parameters */ &kParameters[511], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [222] */ - /* 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[3], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[479], - /* return matcher indices */ &kMatcherIndices[5], + /* parameters */ &kParameters[339], + /* return matcher indices */ &kMatcherIndices[3], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [223] */ - /* 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[1], - /* parameters */ &kParameters[478], - /* return matcher indices */ &kMatcherIndices[8], + /* parameters */ &kParameters[333], + /* return matcher indices */ &kMatcherIndices[2], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -7102,7 +7247,7 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[477], + /* parameters */ &kParameters[510], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -7114,31 +7259,31 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[476], + /* parameters */ &kParameters[509], /* return matcher indices */ &kMatcherIndices[8], /* 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 */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[322], + /* parameters */ &kParameters[508], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [227] */ - /* num parameters */ 3, + /* num parameters */ 1, /* num open types */ 0, /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[325], + /* parameters */ &kParameters[507], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -7146,47 +7291,47 @@ constexpr OverloadInfo kOverloads[] = { { /* [228] */ /* num parameters */ 1, - /* num open types */ 1, + /* num open types */ 0, /* num open numbers */ 0, - /* open types */ &kOpenTypes[0], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[485], - /* return matcher indices */ &kMatcherIndices[3], + /* parameters */ &kParameters[506], + /* return matcher indices */ &kMatcherIndices[5], /* 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 */ 1, - /* open types */ &kOpenTypes[0], + /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[484], - /* return matcher indices */ &kMatcherIndices[2], + /* parameters */ &kParameters[505], + /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [230] */ - /* num parameters */ 2, + /* num parameters */ 3, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[363], + /* parameters */ &kParameters[297], /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [231] */ - /* num parameters */ 2, + /* num parameters */ 3, /* num open types */ 0, /* num open numbers */ 1, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[365], + /* parameters */ &kParameters[300], /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, @@ -7194,96 +7339,96 @@ constexpr OverloadInfo kOverloads[] = { { /* [232] */ /* 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[555], - /* return matcher indices */ &kMatcherIndices[3], + /* parameters */ &kParameters[504], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [233] */ /* 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[1], - /* parameters */ &kParameters[554], - /* return matcher indices */ &kMatcherIndices[2], + /* parameters */ &kParameters[503], + /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [234] */ /* num parameters */ 1, - /* num open types */ 0, + /* num open types */ 1, /* num open numbers */ 0, - /* open types */ &kOpenTypes[4], + /* open types */ &kOpenTypes[0], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[488], - /* return matcher indices */ &kMatcherIndices[64], + /* parameters */ &kParameters[514], + /* return matcher indices */ &kMatcherIndices[3], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [235] */ /* num parameters */ 1, - /* num open types */ 0, - /* num open numbers */ 0, - /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[486], - /* return matcher indices */ &kMatcherIndices[64], + /* num open types */ 1, + /* num open numbers */ 1, + /* open types */ &kOpenTypes[0], + /* open numbers */ &kOpenNumbers[1], + /* parameters */ &kParameters[513], + /* return matcher indices */ &kMatcherIndices[2], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [236] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num open types */ 0, - /* num open numbers */ 2, + /* num open numbers */ 0, /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[0], - /* parameters */ &kParameters[446], - /* return matcher indices */ &kMatcherIndices[33], + /* open numbers */ &kOpenNumbers[6], + /* parameters */ &kParameters[380], + /* return matcher indices */ &kMatcherIndices[5], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [237] */ - /* 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[487], - /* return matcher indices */ &kMatcherIndices[64], + /* open numbers */ &kOpenNumbers[1], + /* parameters */ &kParameters[382], + /* return matcher indices */ &kMatcherIndices[8], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [238] */ /* 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[439], - /* return matcher indices */ &kMatcherIndices[127], + /* parameters */ &kParameters[584], + /* return matcher indices */ &kMatcherIndices[3], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [239] */ /* num parameters */ 1, - /* num open types */ 0, - /* num open numbers */ 0, - /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[437], - /* return matcher indices */ &kMatcherIndices[127], + /* num open types */ 1, + /* num open numbers */ 1, + /* open types */ &kOpenTypes[1], + /* open numbers */ &kOpenNumbers[1], + /* parameters */ &kParameters[583], + /* return matcher indices */ &kMatcherIndices[2], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -7294,8 +7439,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[435], - /* return matcher indices */ &kMatcherIndices[127], + /* parameters */ &kParameters[517], + /* return matcher indices */ &kMatcherIndices[61], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -7303,11 +7448,11 @@ constexpr OverloadInfo kOverloads[] = { /* [241] */ /* num parameters */ 1, /* num open types */ 0, - /* num open numbers */ 0, + /* num open numbers */ 2, /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[431], - /* return matcher indices */ &kMatcherIndices[125], + /* open numbers */ &kOpenNumbers[0], + /* parameters */ &kParameters[498], + /* return matcher indices */ &kMatcherIndices[33], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -7318,32 +7463,32 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[432], - /* return matcher indices */ &kMatcherIndices[125], + /* parameters */ &kParameters[515], + /* return matcher indices */ &kMatcherIndices[61], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [243] */ - /* num parameters */ 0, + /* num parameters */ 1, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[556], - /* return matcher indices */ nullptr, - /* supported_stages */ PipelineStageSet(PipelineStage::kCompute), + /* parameters */ &kParameters[475], + /* return matcher indices */ &kMatcherIndices[129], + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [244] */ /* 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[508], - /* return matcher indices */ nullptr, + /* parameters */ &kParameters[473], + /* return matcher indices */ &kMatcherIndices[129], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -7354,8 +7499,8 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[489], - /* return matcher indices */ &kMatcherIndices[64], + /* parameters */ &kParameters[471], + /* return matcher indices */ &kMatcherIndices[129], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -7366,80 +7511,80 @@ constexpr OverloadInfo kOverloads[] = { /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[490], - /* return matcher indices */ &kMatcherIndices[64], + /* parameters */ &kParameters[469], + /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [247] */ /* 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[472], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[466], + /* return matcher indices */ &kMatcherIndices[125], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [248] */ - /* num parameters */ 1, + /* num parameters */ 0, /* num open types */ 0, - /* num open numbers */ 1, + /* num open numbers */ 0, /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[491], - /* return matcher indices */ &kMatcherIndices[8], - /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* open numbers */ &kOpenNumbers[6], + /* parameters */ &kParameters[585], + /* return matcher indices */ nullptr, + /* supported_stages */ PipelineStageSet(PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [249] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num open types */ 0, - /* num open numbers */ 1, + /* num open numbers */ 0, /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[377], - /* return matcher indices */ &kMatcherIndices[5], + /* open numbers */ &kOpenNumbers[6], + /* parameters */ &kParameters[516], + /* return matcher indices */ &kMatcherIndices[61], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [250] */ /* num parameters */ 1, - /* num open types */ 0, - /* num open numbers */ 1, - /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[535], - /* return matcher indices */ &kMatcherIndices[5], + /* num open types */ 1, + /* num open numbers */ 0, + /* open types */ &kOpenTypes[2], + /* open numbers */ &kOpenNumbers[6], + /* parameters */ &kParameters[537], + /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [251] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[383], - /* return matcher indices */ &kMatcherIndices[123], + /* parameters */ &kParameters[518], + /* return matcher indices */ &kMatcherIndices[61], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [252] */ /* num parameters */ 1, - /* num open types */ 0, - /* num open numbers */ 1, - /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[550], - /* return matcher indices */ &kMatcherIndices[1], + /* num open types */ 1, + /* num open numbers */ 0, + /* open types */ &kOpenTypes[1], + /* open numbers */ &kOpenNumbers[6], + /* parameters */ &kParameters[495], + /* return matcher indices */ &kMatcherIndices[38], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, @@ -7447,22 +7592,94 @@ constexpr OverloadInfo kOverloads[] = { /* [253] */ /* num parameters */ 1, /* num open types */ 0, - /* num open numbers */ 1, + /* num open numbers */ 0, /* open types */ &kOpenTypes[4], - /* open numbers */ &kOpenNumbers[1], - /* parameters */ &kParameters[551], - /* return matcher indices */ &kMatcherIndices[1], + /* open numbers */ &kOpenNumbers[6], + /* parameters */ &kParameters[519], + /* return matcher indices */ &kMatcherIndices[61], /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* is_deprecated */ false, }, { /* [254] */ + /* num parameters */ 1, + /* num open types */ 0, + /* num open numbers */ 1, + /* open types */ &kOpenTypes[4], + /* open numbers */ &kOpenNumbers[1], + /* parameters */ &kParameters[520], + /* return matcher indices */ &kMatcherIndices[8], + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* is_deprecated */ false, + }, + { + /* [255] */ + /* num parameters */ 2, + /* num open types */ 0, + /* num open numbers */ 1, + /* open types */ &kOpenTypes[4], + /* open numbers */ &kOpenNumbers[1], + /* parameters */ &kParameters[410], + /* return matcher indices */ &kMatcherIndices[5], + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* is_deprecated */ false, + }, + { + /* [256] */ + /* num parameters */ 1, + /* num open types */ 0, + /* num open numbers */ 1, + /* open types */ &kOpenTypes[4], + /* open numbers */ &kOpenNumbers[1], + /* parameters */ &kParameters[564], + /* return matcher indices */ &kMatcherIndices[5], + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* is_deprecated */ false, + }, + { + /* [257] */ + /* num parameters */ 2, + /* num open types */ 0, + /* num open numbers */ 0, + /* open types */ &kOpenTypes[4], + /* open numbers */ &kOpenNumbers[6], + /* parameters */ &kParameters[416], + /* return matcher indices */ &kMatcherIndices[123], + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* is_deprecated */ false, + }, + { + /* [258] */ + /* num parameters */ 1, + /* num open types */ 0, + /* num open numbers */ 1, + /* open types */ &kOpenTypes[4], + /* open numbers */ &kOpenNumbers[1], + /* parameters */ &kParameters[579], + /* return matcher indices */ &kMatcherIndices[1], + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* is_deprecated */ false, + }, + { + /* [259] */ + /* num parameters */ 1, + /* num open types */ 0, + /* num open numbers */ 1, + /* open types */ &kOpenTypes[4], + /* open numbers */ &kOpenNumbers[1], + /* parameters */ &kParameters[580], + /* return matcher indices */ &kMatcherIndices[1], + /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), + /* is_deprecated */ false, + }, + { + /* [260] */ /* num parameters */ 0, /* num open types */ 0, /* num open numbers */ 0, /* open types */ &kOpenTypes[4], /* open numbers */ &kOpenNumbers[6], - /* parameters */ &kParameters[556], + /* parameters */ &kParameters[585], /* return matcher indices */ nullptr, /* supported_stages */ PipelineStageSet(PipelineStage::kCompute), /* is_deprecated */ false, @@ -7475,505 +7692,505 @@ constexpr IntrinsicInfo kIntrinsics[] = { /* fn abs(T) -> T */ /* fn abs(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[232], + /* overloads */ &kOverloads[238], }, { /* [1] */ /* fn acos(f32) -> f32 */ /* fn acos(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[214], + /* overloads */ &kOverloads[218], }, { /* [2] */ /* fn all(vec) -> bool */ /* num overloads */ 1, - /* overloads */ &kOverloads[253], + /* overloads */ &kOverloads[259], }, { /* [3] */ /* fn any(vec) -> bool */ /* num overloads */ 1, - /* overloads */ &kOverloads[252], + /* overloads */ &kOverloads[258], }, { /* [4] */ /* fn arrayLength(array) -> u32 */ /* fn arrayLength(ptr, A>) -> u32 */ /* num overloads */ 2, - /* overloads */ &kOverloads[204], + /* overloads */ &kOverloads[210], }, { /* [5] */ /* fn asin(f32) -> f32 */ /* fn asin(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[202], + /* overloads */ &kOverloads[208], }, { /* [6] */ /* fn atan(f32) -> f32 */ /* fn atan(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[198], + /* overloads */ &kOverloads[206], }, { /* [7] */ /* fn atan2(f32, f32) -> f32 */ /* fn atan2(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[124], + /* overloads */ &kOverloads[204], }, { /* [8] */ /* fn ceil(f32) -> f32 */ /* fn ceil(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[190], + /* overloads */ &kOverloads[130], }, { /* [9] */ /* fn clamp(T, T, T) -> T */ /* fn clamp(vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[136], + /* overloads */ &kOverloads[194], }, { /* [10] */ /* fn cos(f32) -> f32 */ /* fn cos(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[130], + /* overloads */ &kOverloads[136], }, { /* [11] */ /* fn cosh(f32) -> f32 */ /* fn cosh(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[126], + /* overloads */ &kOverloads[134], }, { /* [12] */ /* fn countOneBits(T) -> T */ /* fn countOneBits(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[128], + /* overloads */ &kOverloads[132], }, { /* [13] */ /* fn cross(vec3, vec3) -> vec3 */ /* num overloads */ 1, - /* overloads */ &kOverloads[251], + /* overloads */ &kOverloads[257], }, { /* [14] */ /* fn determinant(mat) -> f32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[250], + /* overloads */ &kOverloads[256], }, { /* [15] */ /* fn distance(f32, f32) -> f32 */ /* fn distance(vec, vec) -> f32 */ /* num overloads */ 2, - /* overloads */ &kOverloads[134], + /* overloads */ &kOverloads[138], }, { /* [16] */ /* fn dot(vec, vec) -> f32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[249], + /* overloads */ &kOverloads[255], }, { /* [17] */ /* fn dpdx(f32) -> f32 */ /* fn dpdx(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[138], + /* overloads */ &kOverloads[142], }, { /* [18] */ /* fn dpdxCoarse(f32) -> f32 */ /* fn dpdxCoarse(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[140], + /* overloads */ &kOverloads[144], }, { /* [19] */ /* fn dpdxFine(f32) -> f32 */ /* fn dpdxFine(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[142], + /* overloads */ &kOverloads[146], }, { /* [20] */ /* fn dpdy(f32) -> f32 */ /* fn dpdy(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[144], + /* overloads */ &kOverloads[148], }, { /* [21] */ /* fn dpdyCoarse(f32) -> f32 */ /* fn dpdyCoarse(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[146], + /* overloads */ &kOverloads[150], }, { /* [22] */ /* fn dpdyFine(f32) -> f32 */ /* fn dpdyFine(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[148], + /* overloads */ &kOverloads[152], }, { /* [23] */ /* fn exp(f32) -> f32 */ /* fn exp(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[150], + /* overloads */ &kOverloads[154], }, { /* [24] */ /* fn exp2(f32) -> f32 */ /* fn exp2(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[152], + /* overloads */ &kOverloads[156], }, { /* [25] */ /* fn faceForward(f32, f32, f32) -> f32 */ /* fn faceForward(vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[154], + /* overloads */ &kOverloads[158], }, { /* [26] */ /* fn floor(f32) -> f32 */ /* fn floor(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[156], + /* overloads */ &kOverloads[160], }, { /* [27] */ /* fn fma(f32, f32, f32) -> f32 */ /* fn fma(vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[158], + /* overloads */ &kOverloads[162], }, { /* [28] */ /* fn fract(f32) -> f32 */ /* fn fract(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[160], + /* overloads */ &kOverloads[164], }, { /* [29] */ /* fn frexp(f32, ptr) -> f32 */ /* fn frexp(vec, ptr, A>) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[162], + /* overloads */ &kOverloads[166], }, { /* [30] */ /* fn fwidth(f32) -> f32 */ /* fn fwidth(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[164], + /* overloads */ &kOverloads[168], }, { /* [31] */ /* fn fwidthCoarse(f32) -> f32 */ /* fn fwidthCoarse(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[166], + /* overloads */ &kOverloads[170], }, { /* [32] */ /* fn fwidthFine(f32) -> f32 */ /* fn fwidthFine(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[168], + /* overloads */ &kOverloads[172], }, { /* [33] */ /* fn ignore(T) */ /* num overloads */ 1, - /* overloads */ &kOverloads[244], + /* overloads */ &kOverloads[250], }, { /* [34] */ /* fn inverseSqrt(f32) -> f32 */ /* fn inverseSqrt(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[172], + /* overloads */ &kOverloads[176], }, { /* [35] */ /* fn isFinite(f32) -> bool */ /* fn isFinite(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[174], + /* overloads */ &kOverloads[178], }, { /* [36] */ /* fn isInf(f32) -> bool */ /* fn isInf(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[176], + /* overloads */ &kOverloads[180], }, { /* [37] */ /* fn isNan(f32) -> bool */ /* fn isNan(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[178], + /* overloads */ &kOverloads[182], }, { /* [38] */ /* fn isNormal(f32) -> bool */ /* fn isNormal(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[180], + /* overloads */ &kOverloads[184], }, { /* [39] */ /* fn ldexp(f32, T) -> f32 */ /* fn ldexp(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[182], + /* overloads */ &kOverloads[186], }, { /* [40] */ /* fn length(f32) -> f32 */ /* fn length(vec) -> f32 */ /* num overloads */ 2, - /* overloads */ &kOverloads[184], + /* overloads */ &kOverloads[188], }, { /* [41] */ /* fn log(f32) -> f32 */ /* fn log(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[186], + /* overloads */ &kOverloads[190], }, { /* [42] */ /* fn log2(f32) -> f32 */ /* fn log2(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[188], + /* overloads */ &kOverloads[192], }, { /* [43] */ /* fn max(T, T) -> T */ /* fn max(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[170], + /* overloads */ &kOverloads[174], }, { /* [44] */ /* fn min(T, T) -> T */ /* fn min(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[192], + /* overloads */ &kOverloads[196], }, { /* [45] */ /* fn mix(f32, f32, f32) -> f32 */ /* fn mix(vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[194], + /* overloads */ &kOverloads[198], }, { /* [46] */ /* fn modf(f32, ptr) -> f32 */ /* fn modf(vec, ptr, A>) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[196], + /* overloads */ &kOverloads[200], }, { /* [47] */ /* fn normalize(vec) -> vec */ /* num overloads */ 1, - /* overloads */ &kOverloads[248], + /* overloads */ &kOverloads[254], }, { /* [48] */ /* fn pack2x16float(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[246], + /* overloads */ &kOverloads[253], }, { /* [49] */ /* fn pack2x16snorm(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[245], + /* overloads */ &kOverloads[251], }, { /* [50] */ /* fn pack2x16unorm(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[234], + /* overloads */ &kOverloads[240], }, { /* [51] */ /* fn pack4x8snorm(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[237], + /* overloads */ &kOverloads[249], }, { /* [52] */ /* fn pack4x8unorm(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[235], + /* overloads */ &kOverloads[242], }, { /* [53] */ /* fn pow(f32, f32) -> f32 */ /* fn pow(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[230], + /* overloads */ &kOverloads[236], }, { /* [54] */ /* fn reflect(f32, f32) -> f32 */ /* fn reflect(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[212], + /* overloads */ &kOverloads[216], }, { /* [55] */ /* fn reverseBits(T) -> T */ /* fn reverseBits(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[228], + /* overloads */ &kOverloads[234], }, { /* [56] */ /* fn round(f32) -> f32 */ /* fn round(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[216], + /* overloads */ &kOverloads[220], }, { /* [57] */ /* fn select(T, T, bool) -> T */ /* fn select(vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[218], + /* overloads */ &kOverloads[222], }, { /* [58] */ /* fn sign(f32) -> f32 */ /* fn sign(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[220], + /* overloads */ &kOverloads[224], }, { /* [59] */ /* fn sin(f32) -> f32 */ /* fn sin(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[222], + /* overloads */ &kOverloads[226], }, { /* [60] */ /* fn sinh(f32) -> f32 */ /* fn sinh(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[224], + /* overloads */ &kOverloads[228], }, { /* [61] */ /* fn smoothStep(f32, f32, f32) -> f32 */ /* fn smoothStep(vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[226], + /* overloads */ &kOverloads[230], }, { /* [62] */ /* fn sqrt(f32) -> f32 */ /* fn sqrt(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[200], + /* overloads */ &kOverloads[232], }, { /* [63] */ /* fn step(f32, f32) -> f32 */ /* fn step(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[132], + /* overloads */ &kOverloads[202], }, { /* [64] */ /* fn storageBarrier() */ /* num overloads */ 1, - /* overloads */ &kOverloads[254], + /* overloads */ &kOverloads[260], }, { /* [65] */ /* fn tan(f32) -> f32 */ /* fn tan(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[210], + /* overloads */ &kOverloads[140], }, { /* [66] */ /* fn tanh(f32) -> f32 */ /* fn tanh(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[208], + /* overloads */ &kOverloads[214], }, { /* [67] */ /* fn transpose(mat) -> mat */ /* num overloads */ 1, - /* overloads */ &kOverloads[236], + /* overloads */ &kOverloads[241], }, { /* [68] */ /* fn trunc(f32) -> f32 */ /* fn trunc(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[206], + /* overloads */ &kOverloads[212], }, { /* [69] */ /* fn unpack2x16float(u32) -> vec2 */ /* num overloads */ 1, - /* overloads */ &kOverloads[238], + /* overloads */ &kOverloads[243], }, { /* [70] */ /* fn unpack2x16snorm(u32) -> vec2 */ /* num overloads */ 1, - /* overloads */ &kOverloads[239], + /* overloads */ &kOverloads[244], }, { /* [71] */ /* fn unpack2x16unorm(u32) -> vec2 */ /* num overloads */ 1, - /* overloads */ &kOverloads[240], + /* overloads */ &kOverloads[245], }, { /* [72] */ /* fn unpack4x8snorm(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ &kOverloads[241], + /* overloads */ &kOverloads[246], }, { /* [73] */ /* fn unpack4x8unorm(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ &kOverloads[242], + /* overloads */ &kOverloads[247], }, { /* [74] */ /* fn workgroupBarrier() */ /* num overloads */ 1, - /* overloads */ &kOverloads[243], + /* overloads */ &kOverloads[248], }, { /* [75] */ @@ -8013,7 +8230,7 @@ constexpr IntrinsicInfo kIntrinsics[] = { /* fn textureNumLayers(texture: texture_depth_cube_array) -> i32 */ /* fn textureNumLayers(texture: texture_storage_2d_array) -> i32 */ /* num overloads */ 5, - /* overloads */ &kOverloads[119], + /* overloads */ &kOverloads[125], }, { /* [77] */ @@ -8033,7 +8250,7 @@ constexpr IntrinsicInfo kIntrinsics[] = { /* [78] */ /* fn textureNumSamples(texture: texture_multisampled_2d) -> i32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[247], + /* overloads */ &kOverloads[252], }, { /* [79] */ @@ -8082,6 +8299,17 @@ constexpr IntrinsicInfo kIntrinsics[] = { }, { /* [82] */ + /* fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2, depth_ref: f32) -> f32 */ + /* fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2, depth_ref: f32, offset: vec2) -> f32 */ + /* fn textureSampleCompareLevel(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2, array_index: i32, depth_ref: f32) -> f32 */ + /* fn textureSampleCompareLevel(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2, array_index: i32, depth_ref: f32, offset: vec2) -> f32 */ + /* fn textureSampleCompareLevel(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> f32 */ + /* fn textureSampleCompareLevel(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: i32, depth_ref: f32) -> f32 */ + /* num overloads */ 6, + /* overloads */ &kOverloads[119], + }, + { + /* [83] */ /* fn textureSampleGrad(texture: texture_2d, sampler: sampler, coords: vec2, ddx: vec2, ddy: vec2) -> vec4 */ /* fn textureSampleGrad(texture: texture_2d, sampler: sampler, coords: vec2, ddx: vec2, ddy: vec2, offset: vec2) -> vec4 */ /* fn textureSampleGrad(texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: i32, ddx: vec2, ddy: vec2) -> vec4 */ @@ -8094,7 +8322,7 @@ constexpr IntrinsicInfo kIntrinsics[] = { /* overloads */ &kOverloads[97], }, { - /* [83] */ + /* [84] */ /* fn textureSampleLevel(texture: texture_2d, sampler: sampler, coords: vec2, level: f32) -> vec4 */ /* fn textureSampleLevel(texture: texture_2d, sampler: sampler, coords: vec2, level: f32, offset: vec2) -> vec4 */ /* fn textureSampleLevel(texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: i32, level: f32) -> vec4 */ @@ -8114,7 +8342,7 @@ constexpr IntrinsicInfo kIntrinsics[] = { /* overloads */ &kOverloads[61], }, { - /* [84] */ + /* [85] */ /* fn textureStore(texture: texture_storage_1d, coords: i32, value: vec4) */ /* fn textureStore(texture: texture_storage_2d, coords: vec2, value: vec4) */ /* fn textureStore(texture: texture_storage_2d_array, coords: vec2, array_index: i32, value: vec4) */ @@ -8131,7 +8359,7 @@ constexpr IntrinsicInfo kIntrinsics[] = { /* overloads */ &kOverloads[76], }, { - /* [85] */ + /* [86] */ /* fn textureLoad(texture: texture_1d, coords: i32, level: i32) -> vec4 */ /* fn textureLoad(texture: texture_2d, coords: vec2, level: i32) -> vec4 */ /* fn textureLoad(texture: texture_2d_array, coords: vec2, array_index: i32, level: i32) -> vec4 */ diff --git a/src/intrinsics.def b/src/intrinsics.def index 379a18f868..71c19c36d1 100644 --- a/src/intrinsics.def +++ b/src/intrinsics.def @@ -454,6 +454,12 @@ fn textureNumSamples(texture: texture_multisampled_2d) -> i32 [[stage("fragment")]] fn textureSampleCompare(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2, array_index: i32, depth_ref: f32, offset: vec2) -> f32 [[stage("fragment")]] fn textureSampleCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> f32 [[stage("fragment")]] fn textureSampleCompare(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: i32, depth_ref: f32) -> f32 +fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2, depth_ref: f32) -> f32 +fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2, depth_ref: f32, offset: vec2) -> f32 +fn textureSampleCompareLevel(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2, array_index: i32, depth_ref: f32) -> f32 +fn textureSampleCompareLevel(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2, array_index: i32, depth_ref: f32, offset: vec2) -> f32 +fn textureSampleCompareLevel(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> f32 +fn textureSampleCompareLevel(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: i32, depth_ref: f32) -> f32 fn textureSampleGrad(texture: texture_2d, sampler: sampler, coords: vec2, ddx: vec2, ddy: vec2) -> vec4 fn textureSampleGrad(texture: texture_2d, sampler: sampler, coords: vec2, ddx: vec2, ddy: vec2, offset: vec2) -> vec4 fn textureSampleGrad(texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: i32, ddx: vec2, ddy: vec2) -> vec4 diff --git a/src/resolver/intrinsic_test.cc b/src/resolver/intrinsic_test.cc index 92a7e49584..f420d4344a 100644 --- a/src/resolver/intrinsic_test.cc +++ b/src/resolver/intrinsic_test.cc @@ -1862,6 +1862,18 @@ const char* expected_texture_overload( return R"(textureSampleCompare(texture, sampler, coords, depth_ref))"; case ValidTextureOverload::kSampleCompareDepthCubeArrayF32: return R"(textureSampleCompare(texture, sampler, coords, array_index, depth_ref))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dF32: + return R"(textureSampleCompare(texture, sampler, coords, depth_ref))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dOffsetF32: + return R"(textureSampleCompare(texture, sampler, coords, depth_ref, offset))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dArrayF32: + return R"(textureSampleCompare(texture, sampler, coords, array_index, depth_ref))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dArrayOffsetF32: + return R"(textureSampleCompare(texture, sampler, coords, array_index, depth_ref, offset))"; + case ValidTextureOverload::kSampleCompareLevelDepthCubeF32: + return R"(textureSampleCompare(texture, sampler, coords, depth_ref))"; + case ValidTextureOverload::kSampleCompareLevelDepthCubeArrayF32: + return R"(textureSampleCompare(texture, sampler, coords, array_index, depth_ref))"; case ValidTextureOverload::kLoad1dLevelF32: return R"(textureLoad(texture, coords, level))"; case ValidTextureOverload::kLoad1dLevelU32: diff --git a/src/sem/intrinsic.cc b/src/sem/intrinsic.cc index b1d27334da..e18109d923 100644 --- a/src/sem/intrinsic.cc +++ b/src/sem/intrinsic.cc @@ -55,6 +55,7 @@ bool IsTextureIntrinsic(IntrinsicType i) { i == IntrinsicType::kTextureSampleLevel || i == IntrinsicType::kTextureSampleBias || i == IntrinsicType::kTextureSampleCompare || + i == IntrinsicType::kTextureSampleCompareLevel || i == IntrinsicType::kTextureSampleGrad || i == IntrinsicType::kTextureStore; } diff --git a/src/sem/intrinsic_test.cc b/src/sem/intrinsic_test.cc index e42b6ebe3b..3c70087748 100644 --- a/src/sem/intrinsic_test.cc +++ b/src/sem/intrinsic_test.cc @@ -111,6 +111,8 @@ INSTANTIATE_TEST_SUITE_P( IntrinsicData{"textureSampleBias", IntrinsicType::kTextureSampleBias}, IntrinsicData{"textureSampleCompare", IntrinsicType::kTextureSampleCompare}, + IntrinsicData{"textureSampleCompareLevel", + IntrinsicType::kTextureSampleCompareLevel}, IntrinsicData{"textureSampleGrad", IntrinsicType::kTextureSampleGrad}, IntrinsicData{"textureSampleLevel", IntrinsicType::kTextureSampleLevel}, IntrinsicData{"trunc", IntrinsicType::kTrunc}, diff --git a/src/sem/intrinsic_type.cc b/src/sem/intrinsic_type.cc index 94b270d23e..2d26a5476b 100644 --- a/src/sem/intrinsic_type.cc +++ b/src/sem/intrinsic_type.cc @@ -274,6 +274,9 @@ IntrinsicType ParseIntrinsicType(const std::string& name) { if (name == "textureSampleCompare") { return IntrinsicType::kTextureSampleCompare; } + if (name == "textureSampleCompareLevel") { + return IntrinsicType::kTextureSampleCompareLevel; + } if (name == "textureSampleGrad") { return IntrinsicType::kTextureSampleGrad; } @@ -457,6 +460,8 @@ const char* str(IntrinsicType i) { return "textureSampleBias"; case IntrinsicType::kTextureSampleCompare: return "textureSampleCompare"; + case IntrinsicType::kTextureSampleCompareLevel: + return "textureSampleCompareLevel"; case IntrinsicType::kTextureSampleGrad: return "textureSampleGrad"; case IntrinsicType::kTextureSampleLevel: diff --git a/src/sem/intrinsic_type.h b/src/sem/intrinsic_type.h index 6ac94854c5..b8a0ae77f2 100644 --- a/src/sem/intrinsic_type.h +++ b/src/sem/intrinsic_type.h @@ -115,6 +115,7 @@ enum class IntrinsicType { kTextureSample, kTextureSampleBias, kTextureSampleCompare, + kTextureSampleCompareLevel, kTextureSampleGrad, kTextureSampleLevel, kTextureStore, diff --git a/src/writer/hlsl/generator_impl.cc b/src/writer/hlsl/generator_impl.cc index 5e74d5b7bf..707153098c 100644 --- a/src/writer/hlsl/generator_impl.cc +++ b/src/writer/hlsl/generator_impl.cc @@ -1117,6 +1117,9 @@ bool GeneratorImpl::EmitTextureCall(std::ostream& pre, out << ".SampleGrad("; break; case sem::IntrinsicType::kTextureSampleCompare: + out << ".SampleCmp("; + break; + case sem::IntrinsicType::kTextureSampleCompareLevel: out << ".SampleCmpLevelZero("; break; case sem::IntrinsicType::kTextureLoad: diff --git a/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc b/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc index 0bb8c00b1c..d468fd601b 100644 --- a/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc +++ b/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc @@ -268,16 +268,28 @@ ExpectedResult expected_texture_overload( case ValidTextureOverload::kSampleGradCubeArrayF32: return R"(tint_symbol.SampleGrad(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), float3(5.0f, 6.0f, 7.0f), float3(8.0f, 9.0f, 10.0f)))"; case ValidTextureOverload::kSampleCompareDepth2dF32: - return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float2(1.0f, 2.0f), 3.0f))"; + return R"(tint_symbol.SampleCmp(tint_symbol_1, float2(1.0f, 2.0f), 3.0f))"; case ValidTextureOverload::kSampleCompareDepth2dOffsetF32: - return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5)))"; + return R"(tint_symbol.SampleCmp(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5)))"; case ValidTextureOverload::kSampleCompareDepth2dArrayF32: - return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f))"; + return R"(tint_symbol.SampleCmp(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f))"; case ValidTextureOverload::kSampleCompareDepth2dArrayOffsetF32: - return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f, int2(5, 6)))"; + return R"(tint_symbol.SampleCmp(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f, int2(5, 6)))"; case ValidTextureOverload::kSampleCompareDepthCubeF32: - return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f))"; + return R"(tint_symbol.SampleCmp(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f))"; case ValidTextureOverload::kSampleCompareDepthCubeArrayF32: + return R"(tint_symbol.SampleCmp(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5.0f))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dF32: + return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float2(1.0f, 2.0f), 3.0f))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dOffsetF32: + return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5)))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dArrayF32: + return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dArrayOffsetF32: + return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f, int2(5, 6)))"; + case ValidTextureOverload::kSampleCompareLevelDepthCubeF32: + return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f))"; + case ValidTextureOverload::kSampleCompareLevelDepthCubeArrayF32: return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5.0f))"; case ValidTextureOverload::kLoad1dLevelF32: return R"(tint_symbol.Load(int2(1, 0), 3))"; diff --git a/src/writer/msl/generator_impl.cc b/src/writer/msl/generator_impl.cc index 0b42222dc0..44bd5675ac 100644 --- a/src/writer/msl/generator_impl.cc +++ b/src/writer/msl/generator_impl.cc @@ -650,6 +650,7 @@ bool GeneratorImpl::EmitTextureCall(ast::CallExpression* expr, out_ << ".sample("; break; case sem::IntrinsicType::kTextureSampleCompare: + case sem::IntrinsicType::kTextureSampleCompareLevel: out_ << ".sample_compare("; break; case sem::IntrinsicType::kTextureLoad: @@ -732,6 +733,10 @@ bool GeneratorImpl::EmitTextureCall(ast::CallExpression* expr, out_ << ")"; } } + if (intrinsic->Type() == sem::IntrinsicType::kTextureSampleCompareLevel) { + maybe_write_comma(); + out_ << "level(0)"; + } if (auto* ddx = arg(Usage::kDdx)) { auto dim = texture_type->dim(); switch (dim) { diff --git a/src/writer/msl/generator_impl_intrinsic_texture_test.cc b/src/writer/msl/generator_impl_intrinsic_texture_test.cc index ea047280a4..ff2b0eb6f3 100644 --- a/src/writer/msl/generator_impl_intrinsic_texture_test.cc +++ b/src/writer/msl/generator_impl_intrinsic_texture_test.cc @@ -180,6 +180,18 @@ std::string expected_texture_overload( return R"(texture.sample_compare(sampler, float3(1.0f, 2.0f, 3.0f), 4.0f))"; case ValidTextureOverload::kSampleCompareDepthCubeArrayF32: return R"(texture.sample_compare(sampler, float3(1.0f, 2.0f, 3.0f), 4, 5.0f))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dF32: + return R"(texture.sample_compare(sampler, float2(1.0f, 2.0f), 3.0f))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dOffsetF32: + return R"(texture.sample_compare(sampler, float2(1.0f, 2.0f), 3.0f, int2(4, 5)))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dArrayF32: + return R"(texture.sample_compare(sampler, float2(1.0f, 2.0f), 4, 3.0f))"; + case ValidTextureOverload::kSampleCompareLevelDepth2dArrayOffsetF32: + return R"(texture.sample_compare(sampler, float2(1.0f, 2.0f), 4, 3.0f, int2(5, 6)))"; + case ValidTextureOverload::kSampleCompareLevelDepthCubeF32: + return R"(texture.sample_compare(sampler, float3(1.0f, 2.0f, 3.0f), 4.0f))"; + case ValidTextureOverload::kSampleCompareLevelDepthCubeArrayF32: + return R"(texture.sample_compare(sampler, float3(1.0f, 2.0f, 3.0f), 4, 5.0f))"; case ValidTextureOverload::kLoad1dLevelF32: return R"(texture.read(uint(1), 3))"; case ValidTextureOverload::kLoad1dLevelU32: diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc index 4ab9048243..0a63efd244 100644 --- a/src/writer/spirv/builder.cc +++ b/src/writer/spirv/builder.cc @@ -2783,6 +2783,15 @@ bool Builder::GenerateTextureIntrinsic(ast::CallExpression* call, break; } case IntrinsicType::kTextureSampleCompare: { + op = spv::Op::OpImageSampleDrefImplicitLod; + 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::kTextureSampleCompareLevel: { op = spv::Op::OpImageSampleDrefExplicitLod; append_result_type_and_id_to_spirv_params(); if (!append_image_and_coords_to_spirv_params()) { diff --git a/src/writer/spirv/builder_intrinsic_test.cc b/src/writer/spirv/builder_intrinsic_test.cc index c68d77621e..8bc1f10440 100644 --- a/src/writer/spirv/builder_intrinsic_test.cc +++ b/src/writer/spirv/builder_intrinsic_test.cc @@ -549,7 +549,7 @@ TEST_F(IntrinsicBuilderTest, Call_TextureSampleCompare_Twice) { ASSERT_TRUE(b.GenerateGlobalVariable(sampler)) << b.error(); EXPECT_EQ(b.GenerateExpression(expr1), 8u) << b.error(); - EXPECT_EQ(b.GenerateExpression(expr2), 18u) << b.error(); + EXPECT_EQ(b.GenerateExpression(expr2), 17u) << b.error(); EXPECT_EQ(DumpInstructions(b.types()), R"(%4 = OpTypeFloat 32 %3 = OpTypeImage %4 2D 1 0 0 1 Unknown @@ -563,18 +563,17 @@ TEST_F(IntrinsicBuilderTest, Call_TextureSampleCompare_Twice) { %14 = OpConstant %4 1 %15 = OpConstant %4 2 %16 = OpConstantComposite %13 %14 %15 -%17 = OpConstant %4 0 )"); EXPECT_EQ(DumpInstructions(b.functions()[0].instructions()), R"(%9 = OpLoad %7 %5 %10 = OpLoad %3 %1 %12 = OpSampledImage %11 %10 %9 -%8 = OpImageSampleDrefExplicitLod %4 %12 %16 %15 Lod %17 -%19 = OpLoad %7 %5 -%20 = OpLoad %3 %1 -%21 = OpSampledImage %11 %20 %19 -%18 = OpImageSampleDrefExplicitLod %4 %21 %16 %15 Lod %17 +%8 = OpImageSampleDrefImplicitLod %4 %12 %16 %15 +%18 = OpLoad %7 %5 +%19 = OpLoad %3 %1 +%20 = OpSampledImage %11 %19 %18 +%17 = OpImageSampleDrefImplicitLod %4 %20 %16 %15 )"); } diff --git a/src/writer/spirv/builder_intrinsic_texture_test.cc b/src/writer/spirv/builder_intrinsic_texture_test.cc index a22a0d5f05..dc96667f47 100644 --- a/src/writer/spirv/builder_intrinsic_texture_test.cc +++ b/src/writer/spirv/builder_intrinsic_texture_test.cc @@ -2321,6 +2321,177 @@ OpCapability SampledCubeArray %15 = OpConstant %4 2 %16 = OpConstantComposite %13 %14 %15 %17 = OpConstant %4 3 +)", + R"( +%9 = OpLoad %7 %5 +%10 = OpLoad %3 %1 +%12 = OpSampledImage %11 %10 %9 +%8 = OpImageSampleDrefImplicitLod %4 %12 %16 %17 +)", + R"( +)"}; + case ValidTextureOverload::kSampleCompareDepth2dOffsetF32: + 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 +%11 = OpTypeSampledImage %3 +%13 = OpTypeVector %4 2 +%14 = OpConstant %4 1 +%15 = OpConstant %4 2 +%16 = OpConstantComposite %13 %14 %15 +%17 = OpConstant %4 3 +%19 = OpTypeInt 32 1 +%18 = OpTypeVector %19 2 +%20 = OpConstant %19 4 +%21 = OpConstant %19 5 +%22 = OpConstantComposite %18 %20 %21 +)", + R"( +%9 = OpLoad %7 %5 +%10 = OpLoad %3 %1 +%12 = OpSampledImage %11 %10 %9 +%8 = OpImageSampleDrefImplicitLod %4 %12 %16 %17 ConstOffset %22 +)", + R"( +)"}; + case ValidTextureOverload::kSampleCompareDepth2dArrayF32: + 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 +%11 = OpTypeSampledImage %3 +%13 = OpTypeVector %4 3 +%14 = OpConstant %4 1 +%15 = OpConstant %4 2 +%17 = OpTypeInt 32 1 +%18 = OpConstant %17 4 +%20 = OpConstant %4 3 +)", + R"( +%9 = OpLoad %7 %5 +%10 = OpLoad %3 %1 +%12 = OpSampledImage %11 %10 %9 +%16 = OpConvertSToF %4 %18 +%19 = OpCompositeConstruct %13 %14 %15 %16 +%8 = OpImageSampleDrefImplicitLod %4 %12 %19 %20 +)", + R"( +)"}; + case ValidTextureOverload::kSampleCompareDepth2dArrayOffsetF32: + 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 +%11 = OpTypeSampledImage %3 +%13 = OpTypeVector %4 3 +%14 = OpConstant %4 1 +%15 = OpConstant %4 2 +%17 = OpTypeInt 32 1 +%18 = OpConstant %17 4 +%20 = OpConstant %4 3 +%21 = OpTypeVector %17 2 +%22 = OpConstant %17 5 +%23 = OpConstant %17 6 +%24 = OpConstantComposite %21 %22 %23 +)", + R"( +%9 = OpLoad %7 %5 +%10 = OpLoad %3 %1 +%12 = OpSampledImage %11 %10 %9 +%16 = OpConvertSToF %4 %18 +%19 = OpCompositeConstruct %13 %14 %15 %16 +%8 = OpImageSampleDrefImplicitLod %4 %12 %19 %20 ConstOffset %24 +)", + R"( +)"}; + case ValidTextureOverload::kSampleCompareDepthCubeF32: + 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 +%11 = OpTypeSampledImage %3 +%13 = OpTypeVector %4 3 +%14 = OpConstant %4 1 +%15 = OpConstant %4 2 +%16 = OpConstant %4 3 +%17 = OpConstantComposite %13 %14 %15 %16 +%18 = OpConstant %4 4 +)", + R"( +%9 = OpLoad %7 %5 +%10 = OpLoad %3 %1 +%12 = OpSampledImage %11 %10 %9 +%8 = OpImageSampleDrefImplicitLod %4 %12 %17 %18 +)", + R"( +)"}; + case ValidTextureOverload::kSampleCompareDepthCubeArrayF32: + 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 +%11 = OpTypeSampledImage %3 +%13 = OpTypeVector %4 4 +%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"( +%9 = OpLoad %7 %5 +%10 = OpLoad %3 %1 +%12 = OpSampledImage %11 %10 %9 +%17 = OpConvertSToF %4 %19 +%20 = OpCompositeConstruct %13 %14 %15 %16 %17 +%8 = OpImageSampleDrefImplicitLod %4 %12 %20 %21 +)", + R"( +OpCapability SampledCubeArray +)"}; + case ValidTextureOverload::kSampleCompareLevelDepth2dF32: + 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 +%11 = OpTypeSampledImage %3 +%13 = OpTypeVector %4 2 +%14 = OpConstant %4 1 +%15 = OpConstant %4 2 +%16 = OpConstantComposite %13 %14 %15 +%17 = OpConstant %4 3 %18 = OpConstant %4 0 )", R"( @@ -2331,7 +2502,7 @@ OpCapability SampledCubeArray )", R"( )"}; - case ValidTextureOverload::kSampleCompareDepth2dOffsetF32: + case ValidTextureOverload::kSampleCompareLevelDepth2dOffsetF32: return { R"( %4 = OpTypeFloat 32 @@ -2362,7 +2533,7 @@ OpCapability SampledCubeArray )", R"( )"}; - case ValidTextureOverload::kSampleCompareDepth2dArrayF32: + case ValidTextureOverload::kSampleCompareLevelDepth2dArrayF32: return { R"( %4 = OpTypeFloat 32 @@ -2391,7 +2562,7 @@ OpCapability SampledCubeArray )", R"( )"}; - case ValidTextureOverload::kSampleCompareDepth2dArrayOffsetF32: + case ValidTextureOverload::kSampleCompareLevelDepth2dArrayOffsetF32: return { R"( %4 = OpTypeFloat 32 @@ -2424,7 +2595,7 @@ OpCapability SampledCubeArray )", R"( )"}; - case ValidTextureOverload::kSampleCompareDepthCubeF32: + case ValidTextureOverload::kSampleCompareLevelDepthCubeF32: return { R"( %4 = OpTypeFloat 32 @@ -2451,7 +2622,7 @@ OpCapability SampledCubeArray )", R"( )"}; - case ValidTextureOverload::kSampleCompareDepthCubeArrayF32: + case ValidTextureOverload::kSampleCompareLevelDepthCubeArrayF32: return { R"( %4 = OpTypeFloat 32 diff --git a/test/intrinsics/gen/textureSampleCompare/25fcd1.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompare/25fcd1.wgsl.expected.hlsl index c7283b284a..0750ef6fbd 100644 --- a/test/intrinsics/gen/textureSampleCompare/25fcd1.wgsl.expected.hlsl +++ b/test/intrinsics/gen/textureSampleCompare/25fcd1.wgsl.expected.hlsl @@ -2,7 +2,7 @@ Texture2D arg_0 : register(t0, space1); SamplerComparisonState arg_1 : register(s1, space1); void textureSampleCompare_25fcd1() { - float res = arg_0.SampleCmpLevelZero(arg_1, float2(0.0f, 0.0f), 1.0f, int2(0, 0)); + float res = arg_0.SampleCmp(arg_1, float2(0.0f, 0.0f), 1.0f, int2(0, 0)); } void fragment_main() { diff --git a/test/intrinsics/gen/textureSampleCompare/25fcd1.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompare/25fcd1.wgsl.expected.spvasm index dcf0ce63d0..e8ed7e0a71 100644 --- a/test/intrinsics/gen/textureSampleCompare/25fcd1.wgsl.expected.spvasm +++ b/test/intrinsics/gen/textureSampleCompare/25fcd1.wgsl.expected.spvasm @@ -1,7 +1,7 @@ ; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 -; Bound: 30 +; Bound: 29 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 @@ -29,24 +29,23 @@ %v2float = OpTypeVector %float 2 %18 = OpConstantNull %v2float %float_1 = OpConstant %float 1 - %float_0 = OpConstant %float 0 %int = OpTypeInt 32 1 %v2int = OpTypeVector %int 2 - %23 = OpConstantNull %v2int + %22 = OpConstantNull %v2int %_ptr_Function_float = OpTypePointer Function %float - %26 = OpConstantNull %float + %25 = OpConstantNull %float %textureSampleCompare_25fcd1 = OpFunction %void None %8 %11 = OpLabel - %res = OpVariable %_ptr_Function_float Function %26 + %res = OpVariable %_ptr_Function_float Function %25 %13 = OpLoad %7 %arg_1 %14 = OpLoad %3 %arg_0 %16 = OpSampledImage %15 %14 %13 - %12 = OpImageSampleDrefExplicitLod %float %16 %18 %float_1 Lod|ConstOffset %float_0 %23 + %12 = OpImageSampleDrefImplicitLod %float %16 %18 %float_1 ConstOffset %22 OpStore %res %12 OpReturn OpFunctionEnd %fragment_main = OpFunction %void None %8 - %28 = OpLabel - %29 = OpFunctionCall %void %textureSampleCompare_25fcd1 + %27 = OpLabel + %28 = OpFunctionCall %void %textureSampleCompare_25fcd1 OpReturn OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompare/3a5923.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompare/3a5923.wgsl.expected.hlsl index 051a7fedc3..c9e06eac4b 100644 --- a/test/intrinsics/gen/textureSampleCompare/3a5923.wgsl.expected.hlsl +++ b/test/intrinsics/gen/textureSampleCompare/3a5923.wgsl.expected.hlsl @@ -2,7 +2,7 @@ Texture2D arg_0 : register(t0, space1); SamplerComparisonState arg_1 : register(s1, space1); void textureSampleCompare_3a5923() { - float res = arg_0.SampleCmpLevelZero(arg_1, float2(0.0f, 0.0f), 1.0f); + float res = arg_0.SampleCmp(arg_1, float2(0.0f, 0.0f), 1.0f); } void fragment_main() { diff --git a/test/intrinsics/gen/textureSampleCompare/3a5923.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompare/3a5923.wgsl.expected.spvasm index cba7c59c48..6f738a3da4 100644 --- a/test/intrinsics/gen/textureSampleCompare/3a5923.wgsl.expected.spvasm +++ b/test/intrinsics/gen/textureSampleCompare/3a5923.wgsl.expected.spvasm @@ -1,7 +1,7 @@ ; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 -; Bound: 27 +; Bound: 26 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 @@ -29,21 +29,20 @@ %v2float = OpTypeVector %float 2 %18 = OpConstantNull %v2float %float_1 = OpConstant %float 1 - %float_0 = OpConstant %float 0 %_ptr_Function_float = OpTypePointer Function %float - %23 = OpConstantNull %float + %22 = OpConstantNull %float %textureSampleCompare_3a5923 = OpFunction %void None %8 %11 = OpLabel - %res = OpVariable %_ptr_Function_float Function %23 + %res = OpVariable %_ptr_Function_float Function %22 %13 = OpLoad %7 %arg_1 %14 = OpLoad %3 %arg_0 %16 = OpSampledImage %15 %14 %13 - %12 = OpImageSampleDrefExplicitLod %float %16 %18 %float_1 Lod %float_0 + %12 = OpImageSampleDrefImplicitLod %float %16 %18 %float_1 OpStore %res %12 OpReturn OpFunctionEnd %fragment_main = OpFunction %void None %8 - %25 = OpLabel - %26 = OpFunctionCall %void %textureSampleCompare_3a5923 + %24 = OpLabel + %25 = OpFunctionCall %void %textureSampleCompare_3a5923 OpReturn OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompare/63fb83.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompare/63fb83.wgsl.expected.hlsl index 29d85bdccc..f82fcef25c 100644 --- a/test/intrinsics/gen/textureSampleCompare/63fb83.wgsl.expected.hlsl +++ b/test/intrinsics/gen/textureSampleCompare/63fb83.wgsl.expected.hlsl @@ -2,7 +2,7 @@ TextureCube arg_0 : register(t0, space1); SamplerComparisonState arg_1 : register(s1, space1); void textureSampleCompare_63fb83() { - float res = arg_0.SampleCmpLevelZero(arg_1, float3(0.0f, 0.0f, 0.0f), 1.0f); + float res = arg_0.SampleCmp(arg_1, float3(0.0f, 0.0f, 0.0f), 1.0f); } void fragment_main() { diff --git a/test/intrinsics/gen/textureSampleCompare/63fb83.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompare/63fb83.wgsl.expected.spvasm index b030b86c9c..6761aaa72c 100644 --- a/test/intrinsics/gen/textureSampleCompare/63fb83.wgsl.expected.spvasm +++ b/test/intrinsics/gen/textureSampleCompare/63fb83.wgsl.expected.spvasm @@ -1,7 +1,7 @@ ; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 -; Bound: 27 +; Bound: 26 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 @@ -29,21 +29,20 @@ %v3float = OpTypeVector %float 3 %18 = OpConstantNull %v3float %float_1 = OpConstant %float 1 - %float_0 = OpConstant %float 0 %_ptr_Function_float = OpTypePointer Function %float - %23 = OpConstantNull %float + %22 = OpConstantNull %float %textureSampleCompare_63fb83 = OpFunction %void None %8 %11 = OpLabel - %res = OpVariable %_ptr_Function_float Function %23 + %res = OpVariable %_ptr_Function_float Function %22 %13 = OpLoad %7 %arg_1 %14 = OpLoad %3 %arg_0 %16 = OpSampledImage %15 %14 %13 - %12 = OpImageSampleDrefExplicitLod %float %16 %18 %float_1 Lod %float_0 + %12 = OpImageSampleDrefImplicitLod %float %16 %18 %float_1 OpStore %res %12 OpReturn OpFunctionEnd %fragment_main = OpFunction %void None %8 - %25 = OpLabel - %26 = OpFunctionCall %void %textureSampleCompare_63fb83 + %24 = OpLabel + %25 = OpFunctionCall %void %textureSampleCompare_63fb83 OpReturn OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompare/98b85c.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompare/98b85c.wgsl.expected.hlsl index 9718e1724c..4a380addf0 100644 --- a/test/intrinsics/gen/textureSampleCompare/98b85c.wgsl.expected.hlsl +++ b/test/intrinsics/gen/textureSampleCompare/98b85c.wgsl.expected.hlsl @@ -2,7 +2,7 @@ Texture2DArray arg_0 : register(t0, space1); SamplerComparisonState arg_1 : register(s1, space1); void textureSampleCompare_98b85c() { - float res = arg_0.SampleCmpLevelZero(arg_1, float3(0.0f, 0.0f, float(1)), 1.0f, int2(0, 0)); + float res = arg_0.SampleCmp(arg_1, float3(0.0f, 0.0f, float(1)), 1.0f, int2(0, 0)); } void fragment_main() { diff --git a/test/intrinsics/gen/textureSampleCompare/98b85c.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompare/98b85c.wgsl.expected.spvasm index c6d728c81b..1d15e691ee 100644 --- a/test/intrinsics/gen/textureSampleCompare/98b85c.wgsl.expected.spvasm +++ b/test/intrinsics/gen/textureSampleCompare/98b85c.wgsl.expected.spvasm @@ -43,7 +43,7 @@ %16 = OpSampledImage %15 %14 %13 %19 = OpConvertSToF %float %int_1 %22 = OpCompositeConstruct %v3float %float_0 %float_0 %19 - %12 = OpImageSampleDrefExplicitLod %float %16 %22 %float_1 Lod|ConstOffset %float_0 %25 + %12 = OpImageSampleDrefImplicitLod %float %16 %22 %float_1 ConstOffset %25 OpStore %res %12 OpReturn OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompare/a3ca7e.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompare/a3ca7e.wgsl.expected.hlsl index a35c5fe390..d397cbdfad 100644 --- a/test/intrinsics/gen/textureSampleCompare/a3ca7e.wgsl.expected.hlsl +++ b/test/intrinsics/gen/textureSampleCompare/a3ca7e.wgsl.expected.hlsl @@ -2,7 +2,7 @@ TextureCubeArray arg_0 : register(t0, space1); SamplerComparisonState arg_1 : register(s1, space1); void textureSampleCompare_a3ca7e() { - float res = arg_0.SampleCmpLevelZero(arg_1, float4(0.0f, 0.0f, 0.0f, float(1)), 1.0f); + float res = arg_0.SampleCmp(arg_1, float4(0.0f, 0.0f, 0.0f, float(1)), 1.0f); } void fragment_main() { diff --git a/test/intrinsics/gen/textureSampleCompare/a3ca7e.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompare/a3ca7e.wgsl.expected.spvasm index 5c4eb002da..9797345743 100644 --- a/test/intrinsics/gen/textureSampleCompare/a3ca7e.wgsl.expected.spvasm +++ b/test/intrinsics/gen/textureSampleCompare/a3ca7e.wgsl.expected.spvasm @@ -42,7 +42,7 @@ %16 = OpSampledImage %15 %14 %13 %19 = OpConvertSToF %float %int_1 %22 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %19 - %12 = OpImageSampleDrefExplicitLod %float %16 %22 %float_1 Lod %float_0 + %12 = OpImageSampleDrefImplicitLod %float %16 %22 %float_1 OpStore %res %12 OpReturn OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompare/dd431d.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompare/dd431d.wgsl.expected.hlsl index ed24dff54e..3d36cd107c 100644 --- a/test/intrinsics/gen/textureSampleCompare/dd431d.wgsl.expected.hlsl +++ b/test/intrinsics/gen/textureSampleCompare/dd431d.wgsl.expected.hlsl @@ -2,7 +2,7 @@ Texture2DArray arg_0 : register(t0, space1); SamplerComparisonState arg_1 : register(s1, space1); void textureSampleCompare_dd431d() { - float res = arg_0.SampleCmpLevelZero(arg_1, float3(0.0f, 0.0f, float(1)), 1.0f); + float res = arg_0.SampleCmp(arg_1, float3(0.0f, 0.0f, float(1)), 1.0f); } void fragment_main() { diff --git a/test/intrinsics/gen/textureSampleCompare/dd431d.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompare/dd431d.wgsl.expected.spvasm index a98e26de8f..4f04f6df80 100644 --- a/test/intrinsics/gen/textureSampleCompare/dd431d.wgsl.expected.spvasm +++ b/test/intrinsics/gen/textureSampleCompare/dd431d.wgsl.expected.spvasm @@ -41,7 +41,7 @@ %16 = OpSampledImage %15 %14 %13 %19 = OpConvertSToF %float %int_1 %22 = OpCompositeConstruct %v3float %float_0 %float_0 %19 - %12 = OpImageSampleDrefExplicitLod %float %16 %22 %float_1 Lod %float_0 + %12 = OpImageSampleDrefImplicitLod %float %16 %22 %float_1 OpStore %res %12 OpReturn OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl new file mode 100644 index 0000000000..041dcf588a --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl @@ -0,0 +1,45 @@ +// Copyright 2021 The Tint Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//////////////////////////////////////////////////////////////////////////////// +// File generated by tools/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_array; +[[group(1), binding(1)]] var arg_1: sampler_comparison; +fn textureSampleCompareLevel_011a8f() { + var res: f32 = textureSampleCompareLevel(arg_0, arg_1, vec2(), 1, 1.0, vec2()); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_011a8f(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_011a8f(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_011a8f(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.hlsl new file mode 100644 index 0000000000..bca0048663 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.hlsl @@ -0,0 +1,28 @@ +struct tint_symbol { + float4 value : SV_Position; +}; + +Texture2DArray arg_0 : register(t0, space1); +SamplerComparisonState arg_1 : register(s1, space1); + +void textureSampleCompareLevel_011a8f() { + float res = arg_0.SampleCmpLevelZero(arg_1, float3(0.0f, 0.0f, float(1)), 1.0f, int2(0, 0)); +} + +tint_symbol vertex_main() { + textureSampleCompareLevel_011a8f(); + const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)}; + return tint_symbol_1; +} + +void fragment_main() { + textureSampleCompareLevel_011a8f(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + textureSampleCompareLevel_011a8f(); + return; +} + diff --git a/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.msl b/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.msl new file mode 100644 index 0000000000..5e2ddd2ba5 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.msl @@ -0,0 +1,14 @@ +SKIP: FAILED + + + +Validation Failure: + +Compilation failed: + +program_source:9:15: error: use of undeclared identifier 'arg_0' + float res = arg_0.sample_compare(arg_1, float2(), 1, 1.0f, level(0), int2()); + ^ +program_source:9:36: error: use of undeclared identifier 'arg_1' + float res = arg_0.sample_compare(arg_1, float2(), 1, 1.0f, level(0), int2()); + ^ diff --git a/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.spvasm new file mode 100644 index 0000000000..367451da66 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.spvasm @@ -0,0 +1,90 @@ +; 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" %tint_pointsize %tint_symbol_1 + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %tint_pointsize "tint_pointsize" + OpName %arg_0 "arg_0" + OpName %arg_1 "arg_1" + OpName %tint_symbol_1 "tint_symbol_1" + OpName %textureSampleCompareLevel_011a8f "textureSampleCompareLevel_011a8f" + OpName %res "res" + OpName %tint_symbol_2 "tint_symbol_2" + OpName %tint_symbol "tint_symbol" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %tint_pointsize BuiltIn PointSize + OpDecorate %arg_0 DescriptorSet 1 + OpDecorate %arg_0 Binding 0 + OpDecorate %arg_1 DescriptorSet 1 + OpDecorate %arg_1 Binding 1 + OpDecorate %tint_symbol_1 BuiltIn Position + %float = OpTypeFloat 32 +%_ptr_Output_float = OpTypePointer Output %float + %4 = OpConstantNull %float +%tint_pointsize = OpVariable %_ptr_Output_float Output %4 + %7 = OpTypeImage %float 2D 1 1 0 1 Unknown +%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7 + %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant + %10 = OpTypeSampler +%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10 + %arg_1 = OpVariable %_ptr_UniformConstant_10 UniformConstant + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %14 = OpConstantNull %v4float +%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %14 + %void = OpTypeVoid + %15 = OpTypeFunction %void + %22 = OpTypeSampledImage %7 + %v3float = OpTypeVector %float 3 + %float_0 = OpConstant %float 0 + %int = OpTypeInt 32 1 + %int_1 = OpConstant %int 1 + %float_1 = OpConstant %float 1 + %v2int = OpTypeVector %int 2 + %32 = OpConstantNull %v2int +%_ptr_Function_float = OpTypePointer Function %float + %35 = OpTypeFunction %void %v4float +%textureSampleCompareLevel_011a8f = OpFunction %void None %15 + %18 = OpLabel + %res = OpVariable %_ptr_Function_float Function %4 + %20 = OpLoad %10 %arg_1 + %21 = OpLoad %7 %arg_0 + %23 = OpSampledImage %22 %21 %20 + %26 = OpConvertSToF %float %int_1 + %29 = OpCompositeConstruct %v3float %float_0 %float_0 %26 + %19 = OpImageSampleDrefExplicitLod %float %23 %29 %float_1 Lod|ConstOffset %float_0 %32 + OpStore %res %19 + OpReturn + OpFunctionEnd +%tint_symbol_2 = OpFunction %void None %35 +%tint_symbol = OpFunctionParameter %v4float + %38 = OpLabel + OpStore %tint_symbol_1 %tint_symbol + OpReturn + OpFunctionEnd +%vertex_main = OpFunction %void None %15 + %40 = OpLabel + OpStore %tint_pointsize %float_1 + %41 = OpFunctionCall %void %textureSampleCompareLevel_011a8f + %42 = OpFunctionCall %void %tint_symbol_2 %14 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %15 + %44 = OpLabel + %45 = OpFunctionCall %void %textureSampleCompareLevel_011a8f + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %15 + %47 = OpLabel + %48 = OpFunctionCall %void %textureSampleCompareLevel_011a8f + OpReturn + OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.wgsl new file mode 100644 index 0000000000..0e0ac842c8 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/011a8f.wgsl.expected.wgsl @@ -0,0 +1,23 @@ +[[group(1), binding(0)]] var arg_0 : texture_depth_2d_array; + +[[group(1), binding(1)]] var arg_1 : sampler_comparison; + +fn textureSampleCompareLevel_011a8f() { + var res : f32 = textureSampleCompareLevel(arg_0, arg_1, vec2(), 1, 1.0, vec2()); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_011a8f(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_011a8f(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_011a8f(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl new file mode 100644 index 0000000000..cb48135450 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl @@ -0,0 +1,45 @@ +// Copyright 2021 The Tint Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//////////////////////////////////////////////////////////////////////////////// +// File generated by tools/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_array; +[[group(1), binding(1)]] var arg_1: sampler_comparison; +fn textureSampleCompareLevel_1116ed() { + var res: f32 = textureSampleCompareLevel(arg_0, arg_1, vec2(), 1, 1.0); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_1116ed(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_1116ed(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_1116ed(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.hlsl new file mode 100644 index 0000000000..775f29a1b5 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.hlsl @@ -0,0 +1,28 @@ +struct tint_symbol { + float4 value : SV_Position; +}; + +Texture2DArray arg_0 : register(t0, space1); +SamplerComparisonState arg_1 : register(s1, space1); + +void textureSampleCompareLevel_1116ed() { + float res = arg_0.SampleCmpLevelZero(arg_1, float3(0.0f, 0.0f, float(1)), 1.0f); +} + +tint_symbol vertex_main() { + textureSampleCompareLevel_1116ed(); + const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)}; + return tint_symbol_1; +} + +void fragment_main() { + textureSampleCompareLevel_1116ed(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + textureSampleCompareLevel_1116ed(); + return; +} + diff --git a/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.msl b/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.msl new file mode 100644 index 0000000000..0f3eb0d9b7 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.msl @@ -0,0 +1,14 @@ +SKIP: FAILED + + + +Validation Failure: + +Compilation failed: + +program_source:9:15: error: use of undeclared identifier 'arg_0' + float res = arg_0.sample_compare(arg_1, float2(), 1, 1.0f, level(0)); + ^ +program_source:9:36: error: use of undeclared identifier 'arg_1' + float res = arg_0.sample_compare(arg_1, float2(), 1, 1.0f, level(0)); + ^ diff --git a/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.spvasm new file mode 100644 index 0000000000..9497aa4d4c --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.spvasm @@ -0,0 +1,88 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 0 +; Bound: 47 +; Schema: 0 + OpCapability Shader + OpMemoryModel Logical GLSL450 + OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1 + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %tint_pointsize "tint_pointsize" + OpName %arg_0 "arg_0" + OpName %arg_1 "arg_1" + OpName %tint_symbol_1 "tint_symbol_1" + OpName %textureSampleCompareLevel_1116ed "textureSampleCompareLevel_1116ed" + OpName %res "res" + OpName %tint_symbol_2 "tint_symbol_2" + OpName %tint_symbol "tint_symbol" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %tint_pointsize BuiltIn PointSize + OpDecorate %arg_0 DescriptorSet 1 + OpDecorate %arg_0 Binding 0 + OpDecorate %arg_1 DescriptorSet 1 + OpDecorate %arg_1 Binding 1 + OpDecorate %tint_symbol_1 BuiltIn Position + %float = OpTypeFloat 32 +%_ptr_Output_float = OpTypePointer Output %float + %4 = OpConstantNull %float +%tint_pointsize = OpVariable %_ptr_Output_float Output %4 + %7 = OpTypeImage %float 2D 1 1 0 1 Unknown +%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7 + %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant + %10 = OpTypeSampler +%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10 + %arg_1 = OpVariable %_ptr_UniformConstant_10 UniformConstant + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %14 = OpConstantNull %v4float +%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %14 + %void = OpTypeVoid + %15 = OpTypeFunction %void + %22 = OpTypeSampledImage %7 + %v3float = OpTypeVector %float 3 + %float_0 = OpConstant %float 0 + %int = OpTypeInt 32 1 + %int_1 = OpConstant %int 1 + %float_1 = OpConstant %float 1 +%_ptr_Function_float = OpTypePointer Function %float + %33 = OpTypeFunction %void %v4float +%textureSampleCompareLevel_1116ed = OpFunction %void None %15 + %18 = OpLabel + %res = OpVariable %_ptr_Function_float Function %4 + %20 = OpLoad %10 %arg_1 + %21 = OpLoad %7 %arg_0 + %23 = OpSampledImage %22 %21 %20 + %26 = OpConvertSToF %float %int_1 + %29 = OpCompositeConstruct %v3float %float_0 %float_0 %26 + %19 = OpImageSampleDrefExplicitLod %float %23 %29 %float_1 Lod %float_0 + OpStore %res %19 + OpReturn + OpFunctionEnd +%tint_symbol_2 = OpFunction %void None %33 +%tint_symbol = OpFunctionParameter %v4float + %36 = OpLabel + OpStore %tint_symbol_1 %tint_symbol + OpReturn + OpFunctionEnd +%vertex_main = OpFunction %void None %15 + %38 = OpLabel + OpStore %tint_pointsize %float_1 + %39 = OpFunctionCall %void %textureSampleCompareLevel_1116ed + %40 = OpFunctionCall %void %tint_symbol_2 %14 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %15 + %42 = OpLabel + %43 = OpFunctionCall %void %textureSampleCompareLevel_1116ed + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %15 + %45 = OpLabel + %46 = OpFunctionCall %void %textureSampleCompareLevel_1116ed + OpReturn + OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.wgsl new file mode 100644 index 0000000000..1a2ebc09ff --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/1116ed.wgsl.expected.wgsl @@ -0,0 +1,23 @@ +[[group(1), binding(0)]] var arg_0 : texture_depth_2d_array; + +[[group(1), binding(1)]] var arg_1 : sampler_comparison; + +fn textureSampleCompareLevel_1116ed() { + var res : f32 = textureSampleCompareLevel(arg_0, arg_1, vec2(), 1, 1.0); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_1116ed(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_1116ed(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_1116ed(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl new file mode 100644 index 0000000000..b3e312a181 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl @@ -0,0 +1,45 @@ +// Copyright 2021 The Tint Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//////////////////////////////////////////////////////////////////////////////// +// File generated by tools/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_comparison; +fn textureSampleCompareLevel_1568e3() { + var res: f32 = textureSampleCompareLevel(arg_0, arg_1, vec3(), 1.0); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_1568e3(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_1568e3(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_1568e3(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.hlsl new file mode 100644 index 0000000000..9234f96480 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.hlsl @@ -0,0 +1,28 @@ +struct tint_symbol { + float4 value : SV_Position; +}; + +TextureCube arg_0 : register(t0, space1); +SamplerComparisonState arg_1 : register(s1, space1); + +void textureSampleCompareLevel_1568e3() { + float res = arg_0.SampleCmpLevelZero(arg_1, float3(0.0f, 0.0f, 0.0f), 1.0f); +} + +tint_symbol vertex_main() { + textureSampleCompareLevel_1568e3(); + const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)}; + return tint_symbol_1; +} + +void fragment_main() { + textureSampleCompareLevel_1568e3(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + textureSampleCompareLevel_1568e3(); + return; +} + diff --git a/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.msl b/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.msl new file mode 100644 index 0000000000..89da216ffa --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.msl @@ -0,0 +1,14 @@ +SKIP: FAILED + + + +Validation Failure: + +Compilation failed: + +program_source:9:15: error: use of undeclared identifier 'arg_0' + float res = arg_0.sample_compare(arg_1, float3(), 1.0f, level(0)); + ^ +program_source:9:36: error: use of undeclared identifier 'arg_1' + float res = arg_0.sample_compare(arg_1, float3(), 1.0f, level(0)); + ^ diff --git a/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.spvasm new file mode 100644 index 0000000000..e973d77291 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.spvasm @@ -0,0 +1,85 @@ +; 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" %tint_pointsize %tint_symbol_1 + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %tint_pointsize "tint_pointsize" + OpName %arg_0 "arg_0" + OpName %arg_1 "arg_1" + OpName %tint_symbol_1 "tint_symbol_1" + OpName %textureSampleCompareLevel_1568e3 "textureSampleCompareLevel_1568e3" + OpName %res "res" + OpName %tint_symbol_2 "tint_symbol_2" + OpName %tint_symbol "tint_symbol" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %tint_pointsize BuiltIn PointSize + OpDecorate %arg_0 DescriptorSet 1 + OpDecorate %arg_0 Binding 0 + OpDecorate %arg_1 DescriptorSet 1 + OpDecorate %arg_1 Binding 1 + OpDecorate %tint_symbol_1 BuiltIn Position + %float = OpTypeFloat 32 +%_ptr_Output_float = OpTypePointer Output %float + %4 = OpConstantNull %float +%tint_pointsize = OpVariable %_ptr_Output_float Output %4 + %7 = OpTypeImage %float Cube 1 0 0 1 Unknown +%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7 + %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant + %10 = OpTypeSampler +%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10 + %arg_1 = OpVariable %_ptr_UniformConstant_10 UniformConstant + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %14 = OpConstantNull %v4float +%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %14 + %void = OpTypeVoid + %15 = OpTypeFunction %void + %22 = OpTypeSampledImage %7 + %v3float = OpTypeVector %float 3 + %25 = OpConstantNull %v3float + %float_1 = OpConstant %float 1 + %float_0 = OpConstant %float 0 +%_ptr_Function_float = OpTypePointer Function %float + %30 = OpTypeFunction %void %v4float +%textureSampleCompareLevel_1568e3 = OpFunction %void None %15 + %18 = OpLabel + %res = OpVariable %_ptr_Function_float Function %4 + %20 = OpLoad %10 %arg_1 + %21 = OpLoad %7 %arg_0 + %23 = OpSampledImage %22 %21 %20 + %19 = OpImageSampleDrefExplicitLod %float %23 %25 %float_1 Lod %float_0 + OpStore %res %19 + OpReturn + OpFunctionEnd +%tint_symbol_2 = OpFunction %void None %30 +%tint_symbol = OpFunctionParameter %v4float + %33 = OpLabel + OpStore %tint_symbol_1 %tint_symbol + OpReturn + OpFunctionEnd +%vertex_main = OpFunction %void None %15 + %35 = OpLabel + OpStore %tint_pointsize %float_1 + %36 = OpFunctionCall %void %textureSampleCompareLevel_1568e3 + %37 = OpFunctionCall %void %tint_symbol_2 %14 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %15 + %39 = OpLabel + %40 = OpFunctionCall %void %textureSampleCompareLevel_1568e3 + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %15 + %42 = OpLabel + %43 = OpFunctionCall %void %textureSampleCompareLevel_1568e3 + OpReturn + OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/1568e3.wgsl.expected.wgsl new file mode 100644 index 0000000000..4005257192 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/1568e3.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_comparison; + +fn textureSampleCompareLevel_1568e3() { + var res : f32 = textureSampleCompareLevel(arg_0, arg_1, vec3(), 1.0); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_1568e3(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_1568e3(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_1568e3(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl new file mode 100644 index 0000000000..4df10fa36e --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl @@ -0,0 +1,45 @@ +// Copyright 2021 The Tint Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//////////////////////////////////////////////////////////////////////////////// +// File generated by tools/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_comparison; +fn textureSampleCompareLevel_2ad2b1() { + var res: f32 = textureSampleCompareLevel(arg_0, arg_1, vec2(), 1.0); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_2ad2b1(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_2ad2b1(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_2ad2b1(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.hlsl new file mode 100644 index 0000000000..c04f0b1f8f --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.hlsl @@ -0,0 +1,28 @@ +struct tint_symbol { + float4 value : SV_Position; +}; + +Texture2D arg_0 : register(t0, space1); +SamplerComparisonState arg_1 : register(s1, space1); + +void textureSampleCompareLevel_2ad2b1() { + float res = arg_0.SampleCmpLevelZero(arg_1, float2(0.0f, 0.0f), 1.0f); +} + +tint_symbol vertex_main() { + textureSampleCompareLevel_2ad2b1(); + const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)}; + return tint_symbol_1; +} + +void fragment_main() { + textureSampleCompareLevel_2ad2b1(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + textureSampleCompareLevel_2ad2b1(); + return; +} + diff --git a/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.msl b/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.msl new file mode 100644 index 0000000000..06b950450e --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.msl @@ -0,0 +1,14 @@ +SKIP: FAILED + + + +Validation Failure: + +Compilation failed: + +program_source:9:15: error: use of undeclared identifier 'arg_0' + float res = arg_0.sample_compare(arg_1, float2(), 1.0f, level(0)); + ^ +program_source:9:36: error: use of undeclared identifier 'arg_1' + float res = arg_0.sample_compare(arg_1, float2(), 1.0f, level(0)); + ^ diff --git a/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.spvasm new file mode 100644 index 0000000000..f820c27069 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.spvasm @@ -0,0 +1,85 @@ +; 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" %tint_pointsize %tint_symbol_1 + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %tint_pointsize "tint_pointsize" + OpName %arg_0 "arg_0" + OpName %arg_1 "arg_1" + OpName %tint_symbol_1 "tint_symbol_1" + OpName %textureSampleCompareLevel_2ad2b1 "textureSampleCompareLevel_2ad2b1" + OpName %res "res" + OpName %tint_symbol_2 "tint_symbol_2" + OpName %tint_symbol "tint_symbol" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %tint_pointsize BuiltIn PointSize + OpDecorate %arg_0 DescriptorSet 1 + OpDecorate %arg_0 Binding 0 + OpDecorate %arg_1 DescriptorSet 1 + OpDecorate %arg_1 Binding 1 + OpDecorate %tint_symbol_1 BuiltIn Position + %float = OpTypeFloat 32 +%_ptr_Output_float = OpTypePointer Output %float + %4 = OpConstantNull %float +%tint_pointsize = OpVariable %_ptr_Output_float Output %4 + %7 = OpTypeImage %float 2D 1 0 0 1 Unknown +%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7 + %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant + %10 = OpTypeSampler +%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10 + %arg_1 = OpVariable %_ptr_UniformConstant_10 UniformConstant + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %14 = OpConstantNull %v4float +%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %14 + %void = OpTypeVoid + %15 = OpTypeFunction %void + %22 = OpTypeSampledImage %7 + %v2float = OpTypeVector %float 2 + %25 = OpConstantNull %v2float + %float_1 = OpConstant %float 1 + %float_0 = OpConstant %float 0 +%_ptr_Function_float = OpTypePointer Function %float + %30 = OpTypeFunction %void %v4float +%textureSampleCompareLevel_2ad2b1 = OpFunction %void None %15 + %18 = OpLabel + %res = OpVariable %_ptr_Function_float Function %4 + %20 = OpLoad %10 %arg_1 + %21 = OpLoad %7 %arg_0 + %23 = OpSampledImage %22 %21 %20 + %19 = OpImageSampleDrefExplicitLod %float %23 %25 %float_1 Lod %float_0 + OpStore %res %19 + OpReturn + OpFunctionEnd +%tint_symbol_2 = OpFunction %void None %30 +%tint_symbol = OpFunctionParameter %v4float + %33 = OpLabel + OpStore %tint_symbol_1 %tint_symbol + OpReturn + OpFunctionEnd +%vertex_main = OpFunction %void None %15 + %35 = OpLabel + OpStore %tint_pointsize %float_1 + %36 = OpFunctionCall %void %textureSampleCompareLevel_2ad2b1 + %37 = OpFunctionCall %void %tint_symbol_2 %14 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %15 + %39 = OpLabel + %40 = OpFunctionCall %void %textureSampleCompareLevel_2ad2b1 + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %15 + %42 = OpLabel + %43 = OpFunctionCall %void %textureSampleCompareLevel_2ad2b1 + OpReturn + OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.wgsl new file mode 100644 index 0000000000..c3457126dd --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/2ad2b1.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_comparison; + +fn textureSampleCompareLevel_2ad2b1() { + var res : f32 = textureSampleCompareLevel(arg_0, arg_1, vec2(), 1.0); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_2ad2b1(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_2ad2b1(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_2ad2b1(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl new file mode 100644 index 0000000000..ffa03919e4 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl @@ -0,0 +1,45 @@ +// Copyright 2021 The Tint Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//////////////////////////////////////////////////////////////////////////////// +// File generated by tools/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_comparison; +fn textureSampleCompareLevel_4cf3a2() { + var res: f32 = textureSampleCompareLevel(arg_0, arg_1, vec3(), 1, 1.0); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_4cf3a2(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_4cf3a2(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_4cf3a2(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.hlsl new file mode 100644 index 0000000000..b7f2e58794 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.hlsl @@ -0,0 +1,28 @@ +struct tint_symbol { + float4 value : SV_Position; +}; + +TextureCubeArray arg_0 : register(t0, space1); +SamplerComparisonState arg_1 : register(s1, space1); + +void textureSampleCompareLevel_4cf3a2() { + float res = arg_0.SampleCmpLevelZero(arg_1, float4(0.0f, 0.0f, 0.0f, float(1)), 1.0f); +} + +tint_symbol vertex_main() { + textureSampleCompareLevel_4cf3a2(); + const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)}; + return tint_symbol_1; +} + +void fragment_main() { + textureSampleCompareLevel_4cf3a2(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + textureSampleCompareLevel_4cf3a2(); + return; +} + diff --git a/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.msl b/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.msl new file mode 100644 index 0000000000..8d09590f76 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.msl @@ -0,0 +1,14 @@ +SKIP: FAILED + + + +Validation Failure: + +Compilation failed: + +program_source:9:15: error: use of undeclared identifier 'arg_0' + float res = arg_0.sample_compare(arg_1, float3(), 1, 1.0f, level(0)); + ^ +program_source:9:36: error: use of undeclared identifier 'arg_1' + float res = arg_0.sample_compare(arg_1, float3(), 1, 1.0f, level(0)); + ^ diff --git a/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.spvasm new file mode 100644 index 0000000000..a25fc99fde --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.spvasm @@ -0,0 +1,88 @@ +; 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" %tint_pointsize %tint_symbol_1 + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %tint_pointsize "tint_pointsize" + OpName %arg_0 "arg_0" + OpName %arg_1 "arg_1" + OpName %tint_symbol_1 "tint_symbol_1" + OpName %textureSampleCompareLevel_4cf3a2 "textureSampleCompareLevel_4cf3a2" + OpName %res "res" + OpName %tint_symbol_2 "tint_symbol_2" + OpName %tint_symbol "tint_symbol" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %tint_pointsize BuiltIn PointSize + OpDecorate %arg_0 DescriptorSet 1 + OpDecorate %arg_0 Binding 0 + OpDecorate %arg_1 DescriptorSet 1 + OpDecorate %arg_1 Binding 1 + OpDecorate %tint_symbol_1 BuiltIn Position + %float = OpTypeFloat 32 +%_ptr_Output_float = OpTypePointer Output %float + %4 = OpConstantNull %float +%tint_pointsize = OpVariable %_ptr_Output_float Output %4 + %7 = OpTypeImage %float Cube 1 1 0 1 Unknown +%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7 + %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant + %10 = OpTypeSampler +%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10 + %arg_1 = OpVariable %_ptr_UniformConstant_10 UniformConstant + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %14 = OpConstantNull %v4float +%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %14 + %void = OpTypeVoid + %15 = OpTypeFunction %void + %22 = OpTypeSampledImage %7 + %float_0 = OpConstant %float 0 + %int = OpTypeInt 32 1 + %int_1 = OpConstant %int 1 + %float_1 = OpConstant %float 1 +%_ptr_Function_float = OpTypePointer Function %float + %32 = OpTypeFunction %void %v4float +%textureSampleCompareLevel_4cf3a2 = OpFunction %void None %15 + %18 = OpLabel + %res = OpVariable %_ptr_Function_float Function %4 + %20 = OpLoad %10 %arg_1 + %21 = OpLoad %7 %arg_0 + %23 = OpSampledImage %22 %21 %20 + %25 = OpConvertSToF %float %int_1 + %28 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %25 + %19 = OpImageSampleDrefExplicitLod %float %23 %28 %float_1 Lod %float_0 + OpStore %res %19 + OpReturn + OpFunctionEnd +%tint_symbol_2 = OpFunction %void None %32 +%tint_symbol = OpFunctionParameter %v4float + %35 = OpLabel + OpStore %tint_symbol_1 %tint_symbol + OpReturn + OpFunctionEnd +%vertex_main = OpFunction %void None %15 + %37 = OpLabel + OpStore %tint_pointsize %float_1 + %38 = OpFunctionCall %void %textureSampleCompareLevel_4cf3a2 + %39 = OpFunctionCall %void %tint_symbol_2 %14 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %15 + %41 = OpLabel + %42 = OpFunctionCall %void %textureSampleCompareLevel_4cf3a2 + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %15 + %44 = OpLabel + %45 = OpFunctionCall %void %textureSampleCompareLevel_4cf3a2 + OpReturn + OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.wgsl new file mode 100644 index 0000000000..44be850969 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/4cf3a2.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_comparison; + +fn textureSampleCompareLevel_4cf3a2() { + var res : f32 = textureSampleCompareLevel(arg_0, arg_1, vec3(), 1, 1.0); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_4cf3a2(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_4cf3a2(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_4cf3a2(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl new file mode 100644 index 0000000000..6e424c1f3c --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl @@ -0,0 +1,45 @@ +// Copyright 2021 The Tint Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//////////////////////////////////////////////////////////////////////////////// +// File generated by tools/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_comparison; +fn textureSampleCompareLevel_f8121c() { + var res: f32 = textureSampleCompareLevel(arg_0, arg_1, vec2(), 1.0, vec2()); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_f8121c(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_f8121c(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_f8121c(); +} diff --git a/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.hlsl b/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.hlsl new file mode 100644 index 0000000000..4a0b11bd1a --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.hlsl @@ -0,0 +1,28 @@ +struct tint_symbol { + float4 value : SV_Position; +}; + +Texture2D arg_0 : register(t0, space1); +SamplerComparisonState arg_1 : register(s1, space1); + +void textureSampleCompareLevel_f8121c() { + float res = arg_0.SampleCmpLevelZero(arg_1, float2(0.0f, 0.0f), 1.0f, int2(0, 0)); +} + +tint_symbol vertex_main() { + textureSampleCompareLevel_f8121c(); + const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)}; + return tint_symbol_1; +} + +void fragment_main() { + textureSampleCompareLevel_f8121c(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + textureSampleCompareLevel_f8121c(); + return; +} + diff --git a/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.msl b/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.msl new file mode 100644 index 0000000000..21f108a89f --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.msl @@ -0,0 +1,14 @@ +SKIP: FAILED + + + +Validation Failure: + +Compilation failed: + +program_source:9:15: error: use of undeclared identifier 'arg_0' + float res = arg_0.sample_compare(arg_1, float2(), 1.0f, level(0), int2()); + ^ +program_source:9:36: error: use of undeclared identifier 'arg_1' + float res = arg_0.sample_compare(arg_1, float2(), 1.0f, level(0), int2()); + ^ diff --git a/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.spvasm b/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.spvasm new file mode 100644 index 0000000000..9048dd1ef3 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.spvasm @@ -0,0 +1,88 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 0 +; Bound: 47 +; Schema: 0 + OpCapability Shader + OpMemoryModel Logical GLSL450 + OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1 + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %tint_pointsize "tint_pointsize" + OpName %arg_0 "arg_0" + OpName %arg_1 "arg_1" + OpName %tint_symbol_1 "tint_symbol_1" + OpName %textureSampleCompareLevel_f8121c "textureSampleCompareLevel_f8121c" + OpName %res "res" + OpName %tint_symbol_2 "tint_symbol_2" + OpName %tint_symbol "tint_symbol" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %tint_pointsize BuiltIn PointSize + OpDecorate %arg_0 DescriptorSet 1 + OpDecorate %arg_0 Binding 0 + OpDecorate %arg_1 DescriptorSet 1 + OpDecorate %arg_1 Binding 1 + OpDecorate %tint_symbol_1 BuiltIn Position + %float = OpTypeFloat 32 +%_ptr_Output_float = OpTypePointer Output %float + %4 = OpConstantNull %float +%tint_pointsize = OpVariable %_ptr_Output_float Output %4 + %7 = OpTypeImage %float 2D 1 0 0 1 Unknown +%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7 + %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant + %10 = OpTypeSampler +%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10 + %arg_1 = OpVariable %_ptr_UniformConstant_10 UniformConstant + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %14 = OpConstantNull %v4float +%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %14 + %void = OpTypeVoid + %15 = OpTypeFunction %void + %22 = OpTypeSampledImage %7 + %v2float = OpTypeVector %float 2 + %25 = OpConstantNull %v2float + %float_1 = OpConstant %float 1 + %float_0 = OpConstant %float 0 + %int = OpTypeInt 32 1 + %v2int = OpTypeVector %int 2 + %30 = OpConstantNull %v2int +%_ptr_Function_float = OpTypePointer Function %float + %33 = OpTypeFunction %void %v4float +%textureSampleCompareLevel_f8121c = OpFunction %void None %15 + %18 = OpLabel + %res = OpVariable %_ptr_Function_float Function %4 + %20 = OpLoad %10 %arg_1 + %21 = OpLoad %7 %arg_0 + %23 = OpSampledImage %22 %21 %20 + %19 = OpImageSampleDrefExplicitLod %float %23 %25 %float_1 Lod|ConstOffset %float_0 %30 + OpStore %res %19 + OpReturn + OpFunctionEnd +%tint_symbol_2 = OpFunction %void None %33 +%tint_symbol = OpFunctionParameter %v4float + %36 = OpLabel + OpStore %tint_symbol_1 %tint_symbol + OpReturn + OpFunctionEnd +%vertex_main = OpFunction %void None %15 + %38 = OpLabel + OpStore %tint_pointsize %float_1 + %39 = OpFunctionCall %void %textureSampleCompareLevel_f8121c + %40 = OpFunctionCall %void %tint_symbol_2 %14 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %15 + %42 = OpLabel + %43 = OpFunctionCall %void %textureSampleCompareLevel_f8121c + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %15 + %45 = OpLabel + %46 = OpFunctionCall %void %textureSampleCompareLevel_f8121c + OpReturn + OpFunctionEnd diff --git a/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.wgsl b/test/intrinsics/gen/textureSampleCompareLevel/f8121c.wgsl.expected.wgsl new file mode 100644 index 0000000000..eee4368cf0 --- /dev/null +++ b/test/intrinsics/gen/textureSampleCompareLevel/f8121c.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_comparison; + +fn textureSampleCompareLevel_f8121c() { + var res : f32 = textureSampleCompareLevel(arg_0, arg_1, vec2(), 1.0, vec2()); +} + +[[stage(vertex)]] +fn vertex_main() -> [[builtin(position)]] vec4 { + textureSampleCompareLevel_f8121c(); + return vec4(); +} + +[[stage(fragment)]] +fn fragment_main() { + textureSampleCompareLevel_f8121c(); +} + +[[stage(compute)]] +fn compute_main() { + textureSampleCompareLevel_f8121c(); +}