From 2bea9055f429c3b7708b2fa33f4539c1ce98c6ad Mon Sep 17 00:00:00 2001 From: Ben Clayton Date: Wed, 2 Nov 2022 00:09:50 +0000 Subject: [PATCH] tint: Implement runtime quantizeToF16() Fixed: tint:991 Fixed: tint:1741 Change-Id: I55dbabce6d28adf5abb710dc1e3e879c5aaa6be5 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/108140 Kokoro: Kokoro Reviewed-by: Dan Sinclair Commit-Queue: Ben Clayton --- src/tint/intrinsics.def | 2 + .../reader/spirv/function_conversion_test.cc | 1 - src/tint/resolver/intrinsic_table.inl | 6365 +++++++++-------- src/tint/sem/builtin_type.cc | 5 + src/tint/sem/builtin_type.h | 1 + src/tint/transform/builtin_polyfill.cc | 37 + src/tint/transform/builtin_polyfill.h | 3 + src/tint/transform/builtin_polyfill_test.cc | 107 + src/tint/writer/glsl/generator_impl.cc | 35 + src/tint/writer/glsl/generator_impl.h | 8 + .../glsl/generator_impl_builtin_test.cc | 113 + src/tint/writer/hlsl/generator_impl.cc | 19 + src/tint/writer/hlsl/generator_impl.h | 8 + .../writer/hlsl/generator_impl_import_test.cc | 26 + src/tint/writer/msl/generator_impl.cc | 12 + .../writer/msl/generator_impl_import_test.cc | 26 + src/tint/writer/spirv/builder.cc | 3 + src/tint/writer/spirv/builder_builtin_test.cc | 99 + src/tint/writer/spirv/generator_impl.cc | 1 + .../gen/literal/quantizeToF16/12e50e.wgsl | 43 + .../12e50e.wgsl.expected.dxc.hlsl | 30 + .../12e50e.wgsl.expected.fxc.hlsl | 30 + .../quantizeToF16/12e50e.wgsl.expected.glsl | 64 + .../quantizeToF16/12e50e.wgsl.expected.msl | 33 + .../quantizeToF16/12e50e.wgsl.expected.spvasm | 64 + .../quantizeToF16/12e50e.wgsl.expected.wgsl | 19 + .../gen/literal/quantizeToF16/2cddf3.wgsl | 43 + .../2cddf3.wgsl.expected.dxc.hlsl | 30 + .../2cddf3.wgsl.expected.fxc.hlsl | 30 + .../quantizeToF16/2cddf3.wgsl.expected.glsl | 64 + .../quantizeToF16/2cddf3.wgsl.expected.msl | 33 + .../quantizeToF16/2cddf3.wgsl.expected.spvasm | 83 + .../quantizeToF16/2cddf3.wgsl.expected.wgsl | 19 + .../gen/literal/quantizeToF16/cba294.wgsl | 43 + .../cba294.wgsl.expected.dxc.hlsl | 30 + .../cba294.wgsl.expected.fxc.hlsl | 30 + .../quantizeToF16/cba294.wgsl.expected.glsl | 70 + .../quantizeToF16/cba294.wgsl.expected.msl | 33 + .../quantizeToF16/cba294.wgsl.expected.spvasm | 87 + .../quantizeToF16/cba294.wgsl.expected.wgsl | 19 + .../gen/literal/quantizeToF16/e8fd14.wgsl | 43 + .../e8fd14.wgsl.expected.dxc.hlsl | 30 + .../e8fd14.wgsl.expected.fxc.hlsl | 30 + .../quantizeToF16/e8fd14.wgsl.expected.glsl | 70 + .../quantizeToF16/e8fd14.wgsl.expected.msl | 33 + .../quantizeToF16/e8fd14.wgsl.expected.spvasm | 86 + .../quantizeToF16/e8fd14.wgsl.expected.wgsl | 19 + .../gen/var/quantizeToF16/12e50e.wgsl | 44 + .../12e50e.wgsl.expected.dxc.hlsl | 31 + .../12e50e.wgsl.expected.fxc.hlsl | 31 + .../quantizeToF16/12e50e.wgsl.expected.glsl | 67 + .../quantizeToF16/12e50e.wgsl.expected.msl | 34 + .../quantizeToF16/12e50e.wgsl.expected.spvasm | 68 + .../quantizeToF16/12e50e.wgsl.expected.wgsl | 20 + .../gen/var/quantizeToF16/2cddf3.wgsl | 44 + .../2cddf3.wgsl.expected.dxc.hlsl | 31 + .../2cddf3.wgsl.expected.fxc.hlsl | 31 + .../quantizeToF16/2cddf3.wgsl.expected.glsl | 67 + .../quantizeToF16/2cddf3.wgsl.expected.msl | 34 + .../quantizeToF16/2cddf3.wgsl.expected.spvasm | 87 + .../quantizeToF16/2cddf3.wgsl.expected.wgsl | 20 + .../gen/var/quantizeToF16/cba294.wgsl | 44 + .../cba294.wgsl.expected.dxc.hlsl | 31 + .../cba294.wgsl.expected.fxc.hlsl | 31 + .../quantizeToF16/cba294.wgsl.expected.glsl | 73 + .../quantizeToF16/cba294.wgsl.expected.msl | 34 + .../quantizeToF16/cba294.wgsl.expected.spvasm | 91 + .../quantizeToF16/cba294.wgsl.expected.wgsl | 20 + .../gen/var/quantizeToF16/e8fd14.wgsl | 44 + .../e8fd14.wgsl.expected.dxc.hlsl | 31 + .../e8fd14.wgsl.expected.fxc.hlsl | 31 + .../quantizeToF16/e8fd14.wgsl.expected.glsl | 73 + .../quantizeToF16/e8fd14.wgsl.expected.msl | 34 + .../quantizeToF16/e8fd14.wgsl.expected.spvasm | 90 + .../quantizeToF16/e8fd14.wgsl.expected.wgsl | 20 + 75 files changed, 6172 insertions(+), 3163 deletions(-) create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.dxc.hlsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.fxc.hlsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.msl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.spvasm create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.wgsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.dxc.hlsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.fxc.hlsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.msl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.spvasm create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.wgsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.dxc.hlsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.fxc.hlsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.msl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.spvasm create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.wgsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.dxc.hlsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.fxc.hlsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.msl create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.spvasm create mode 100644 test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.wgsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.dxc.hlsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.fxc.hlsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.msl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.spvasm create mode 100644 test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.wgsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.dxc.hlsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.fxc.hlsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.msl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.spvasm create mode 100644 test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.wgsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.dxc.hlsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.fxc.hlsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.msl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.spvasm create mode 100644 test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.wgsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.dxc.hlsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.fxc.hlsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.msl create mode 100644 test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.spvasm create mode 100644 test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.wgsl diff --git a/src/tint/intrinsics.def b/src/tint/intrinsics.def index 9a6bae20d6..cc228311d2 100644 --- a/src/tint/intrinsics.def +++ b/src/tint/intrinsics.def @@ -514,6 +514,8 @@ fn pack4x8snorm(vec4) -> u32 fn pack4x8unorm(vec4) -> u32 fn pow(T, T) -> T fn pow(vec, vec) -> vec +fn quantizeToF16(f32) -> f32 +fn quantizeToF16(vec) -> vec fn radians(T) -> T fn radians(vec) -> vec fn reflect(vec, vec) -> vec diff --git a/src/tint/reader/spirv/function_conversion_test.cc b/src/tint/reader/spirv/function_conversion_test.cc index eab003129c..1b28190cb8 100644 --- a/src/tint/reader/spirv/function_conversion_test.cc +++ b/src/tint/reader/spirv/function_conversion_test.cc @@ -615,7 +615,6 @@ OpFunctionEnd // TODO(dneto): OpSConvert // only if multiple widths // TODO(dneto): OpUConvert // only if multiple widths // TODO(dneto): OpFConvert // only if multiple widths -// TODO(dneto): OpQuantizeToF16 // only if f16 supported // TODO(dneto): OpSatConvertSToU // Kernel (OpenCL), not in WebGPU // TODO(dneto): OpSatConvertUToS // Kernel (OpenCL), not in WebGPU diff --git a/src/tint/resolver/intrinsic_table.inl b/src/tint/resolver/intrinsic_table.inl index c6d3ad46d2..5335ed7e15 100644 --- a/src/tint/resolver/intrinsic_table.inl +++ b/src/tint/resolver/intrinsic_table.inl @@ -2777,12 +2777,12 @@ constexpr MatcherIndex kMatcherIndices[] = { /* [33] */ 45, /* [34] */ 5, /* [35] */ 6, - /* [36] */ 23, - /* [37] */ 0, - /* [38] */ 4, - /* [39] */ 44, - /* [40] */ 5, - /* [41] */ 6, + /* [36] */ 44, + /* [37] */ 5, + /* [38] */ 6, + /* [39] */ 23, + /* [40] */ 0, + /* [41] */ 4, /* [42] */ 43, /* [43] */ 5, /* [44] */ 6, @@ -2843,34 +2843,34 @@ constexpr MatcherIndex kMatcherIndices[] = { /* [99] */ 42, /* [100] */ 3, /* [101] */ 6, - /* [102] */ 12, + /* [102] */ 13, /* [103] */ 9, /* [104] */ 12, - /* [105] */ 1, + /* [105] */ 0, /* [106] */ 12, - /* [107] */ 10, + /* [107] */ 1, /* [108] */ 12, - /* [109] */ 7, + /* [109] */ 9, /* [110] */ 12, - /* [111] */ 0, + /* [111] */ 10, /* [112] */ 11, /* [113] */ 0, /* [114] */ 12, - /* [115] */ 8, + /* [115] */ 7, /* [116] */ 12, - /* [117] */ 4, - /* [118] */ 13, - /* [119] */ 0, + /* [117] */ 8, + /* [118] */ 12, + /* [119] */ 4, /* [120] */ 11, /* [121] */ 4, /* [122] */ 11, /* [123] */ 1, /* [124] */ 11, /* [125] */ 8, - /* [126] */ 11, - /* [127] */ 7, - /* [128] */ 13, - /* [129] */ 9, + /* [126] */ 13, + /* [127] */ 0, + /* [128] */ 11, + /* [129] */ 7, /* [130] */ 11, /* [131] */ 10, /* [132] */ 11, @@ -2879,10 +2879,10 @@ constexpr MatcherIndex kMatcherIndices[] = { /* [135] */ 0, /* [136] */ 30, /* [137] */ 0, - /* [138] */ 31, - /* [139] */ 0, - /* [140] */ 13, - /* [141] */ 1, + /* [138] */ 13, + /* [139] */ 1, + /* [140] */ 31, + /* [141] */ 0, /* [142] */ 32, /* [143] */ 0, /* [144] */ 33, @@ -2949,17 +2949,17 @@ constexpr MatcherIndex kMatcherIndices[] = { /* [205] */ 10, /* [206] */ 21, /* [207] */ 0, - /* [208] */ 30, - /* [209] */ 9, - /* [210] */ 51, - /* [211] */ 0, + /* [208] */ 51, + /* [209] */ 0, + /* [210] */ 30, + /* [211] */ 9, /* [212] */ 31, /* [213] */ 9, /* [214] */ 32, /* [215] */ 9, - /* [216] */ 33, + /* [216] */ 21, /* [217] */ 9, - /* [218] */ 21, + /* [218] */ 33, /* [219] */ 9, /* [220] */ 21, /* [221] */ 10, @@ -3346,12 +3346,12 @@ constexpr ParameterInfo kParameters[] = { { /* [71] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[128], }, { /* [72] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[212], + /* matcher indices */ &kMatcherIndices[214], }, { /* [73] */ @@ -3365,23 +3365,23 @@ constexpr ParameterInfo kParameters[] = { }, { /* [75] */ - /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[132], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], }, { /* [76] */ - /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[132], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[62], }, { /* [77] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[128], }, { /* [78] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[214], + /* matcher indices */ &kMatcherIndices[212], }, { /* [79] */ @@ -3395,53 +3395,53 @@ constexpr ParameterInfo kParameters[] = { }, { /* [81] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [82] */ /* usage */ ParameterUsage::kDdx, /* matcher indices */ &kMatcherIndices[132], }, { - /* [83] */ + /* [82] */ /* usage */ ParameterUsage::kDdy, /* matcher indices */ &kMatcherIndices[132], }, + { + /* [83] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], + }, { /* [84] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[234], }, { /* [85] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[231], }, { /* [86] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], }, { /* [87] */ - /* usage */ ParameterUsage::kNone, + /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[1], }, { /* [88] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[62], }, { /* [89] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { /* [90] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[216], + /* matcher indices */ &kMatcherIndices[214], }, { /* [91] */ @@ -3451,82 +3451,82 @@ constexpr ParameterInfo kParameters[] = { { /* [92] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [93] */ - /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [94] */ - /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [95] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[108], - }, - { - /* [96] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], - }, - { - /* [97] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [98] */ - /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[132], }, { - /* [99] */ + /* [93] */ /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[1], }, { - /* [100] */ - /* usage */ ParameterUsage::kLevel, + /* [94] */ + /* usage */ ParameterUsage::kDdx, + /* matcher indices */ &kMatcherIndices[132], + }, + { + /* [95] */ + /* usage */ ParameterUsage::kDdy, + /* matcher indices */ &kMatcherIndices[132], + }, + { + /* [96] */ + /* usage */ ParameterUsage::kComponent, /* matcher indices */ &kMatcherIndices[12], }, + { + /* [97] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[142], + }, + { + /* [98] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], + }, + { + /* [99] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], + }, + { + /* [100] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[20], + }, { /* [101] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[128], }, { /* [102] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[214], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [103] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [104] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [105] */ - /* usage */ ParameterUsage::kArrayIndex, + /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[1], }, { /* [106] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [107] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [108] */ @@ -3556,97 +3556,97 @@ constexpr ParameterInfo kParameters[] = { { /* [113] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[128], }, { /* [114] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[234], }, { /* [115] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[231], }, { /* [116] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], }, { /* [117] */ - /* usage */ ParameterUsage::kNone, + /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[1], }, { /* [118] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[62], }, { /* [119] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { /* [120] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], + /* matcher indices */ &kMatcherIndices[218], }, { /* [121] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* matcher indices */ &kMatcherIndices[230], }, { /* [122] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [123] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kDdx, + /* matcher indices */ &kMatcherIndices[108], }, { /* [124] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kDdy, + /* matcher indices */ &kMatcherIndices[108], }, { /* [125] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[114], }, { /* [126] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [127] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [128] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [129] */ - /* usage */ ParameterUsage::kArrayIndex, + /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[1], }, { /* [130] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [131] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [132] */ @@ -3676,12 +3676,12 @@ constexpr ParameterInfo kParameters[] = { { /* [137] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[128], }, { /* [138] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[224], + /* matcher indices */ &kMatcherIndices[234], }, { /* [139] */ @@ -3691,7 +3691,7 @@ constexpr ParameterInfo kParameters[] = { { /* [140] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [141] */ @@ -3700,48 +3700,48 @@ constexpr ParameterInfo kParameters[] = { }, { /* [142] */ - /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [143] */ - /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [144] */ - /* usage */ ParameterUsage::kComponent, + /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[12], }, { - /* [145] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[142], + /* [143] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { - /* [146] */ + /* [144] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[224], + }, + { + /* [145] */ /* usage */ ParameterUsage::kSampler, /* matcher indices */ &kMatcherIndices[230], }, { - /* [147] */ + /* [146] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], + }, + { + /* [147] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], }, { /* [148] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[20], + /* usage */ ParameterUsage::kDdx, + /* matcher indices */ &kMatcherIndices[108], }, { /* [149] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* usage */ ParameterUsage::kDdy, + /* matcher indices */ &kMatcherIndices[108], }, { /* [150] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[214], + /* matcher indices */ &kMatcherIndices[224], }, { /* [151] */ @@ -3751,7 +3751,7 @@ constexpr ParameterInfo kParameters[] = { { /* [152] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [153] */ @@ -3765,43 +3765,43 @@ constexpr ParameterInfo kParameters[] = { }, { /* [155] */ - /* usage */ ParameterUsage::kComponent, - /* matcher indices */ &kMatcherIndices[12], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[218], }, { /* [156] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[138], - }, - { - /* [157] */ /* usage */ ParameterUsage::kSampler, /* matcher indices */ &kMatcherIndices[230], }, { - /* [158] */ + /* [157] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], + }, + { + /* [158] */ + /* usage */ ParameterUsage::kBias, + /* matcher indices */ &kMatcherIndices[62], }, { /* [159] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[114], }, { /* [160] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[232], + /* matcher indices */ &kMatcherIndices[214], }, { /* [161] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* matcher indices */ &kMatcherIndices[230], }, { /* [162] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [163] */ @@ -3810,68 +3810,68 @@ constexpr ParameterInfo kParameters[] = { }, { /* [164] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[62], - }, - { - /* [165] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], - }, - { - /* [166] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [167] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], - }, - { - /* [168] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [169] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], - }, - { - /* [170] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[216], - }, - { - /* [171] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [172] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [173] */ /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[62], }, { - /* [174] */ + /* [165] */ + /* usage */ ParameterUsage::kComponent, + /* matcher indices */ &kMatcherIndices[12], + }, + { + /* [166] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[140], + }, + { + /* [167] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], + }, + { + /* [168] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], + }, + { + /* [169] */ /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], + }, + { + /* [170] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[232], + }, + { + /* [171] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[231], + }, + { + /* [172] */ + /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[108], }, + { + /* [173] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [174] */ + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[62], + }, { /* [175] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], + /* matcher indices */ &kMatcherIndices[235], }, { /* [176] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* matcher indices */ &kMatcherIndices[231], }, { /* [177] */ @@ -3880,38 +3880,38 @@ constexpr ParameterInfo kParameters[] = { }, { /* [178] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [179] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], - }, - { - /* [180] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], - }, - { - /* [181] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], - }, - { - /* [182] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], - }, - { - /* [183] */ /* usage */ ParameterUsage::kDepthRef, /* matcher indices */ &kMatcherIndices[62], }, { - /* [184] */ + /* [179] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[128], + }, + { + /* [180] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[232], + }, + { + /* [181] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], + }, + { + /* [182] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[108], + }, + { + /* [183] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [184] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[12], }, { /* [185] */ @@ -3955,18 +3955,18 @@ constexpr ParameterInfo kParameters[] = { }, { /* [193] */ - /* usage */ ParameterUsage::kBias, + /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[62], }, { /* [194] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[128], }, { /* [195] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[214], + /* matcher indices */ &kMatcherIndices[218], }, { /* [196] */ @@ -3976,47 +3976,47 @@ constexpr ParameterInfo kParameters[] = { { /* [197] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [198] */ + /* usage */ ParameterUsage::kDdx, + /* matcher indices */ &kMatcherIndices[108], + }, + { + /* [199] */ + /* usage */ ParameterUsage::kDdy, + /* matcher indices */ &kMatcherIndices[108], + }, + { + /* [200] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[232], + }, + { + /* [201] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[231], + }, + { + /* [202] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[108], + }, + { + /* [203] */ /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[1], }, - { - /* [199] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], - }, - { - /* [200] */ - /* usage */ ParameterUsage::kComponent, - /* matcher indices */ &kMatcherIndices[12], - }, - { - /* [201] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[150], - }, - { - /* [202] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [203] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], - }, { /* [204] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[20], + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[62], }, { /* [205] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[224], + /* matcher indices */ &kMatcherIndices[214], }, { /* [206] */ @@ -4026,7 +4026,7 @@ constexpr ParameterInfo kParameters[] = { { /* [207] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [208] */ @@ -4035,13 +4035,13 @@ constexpr ParameterInfo kParameters[] = { }, { /* [209] */ - /* usage */ ParameterUsage::kLevel, + /* usage */ ParameterUsage::kBias, /* matcher indices */ &kMatcherIndices[62], }, { /* [210] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[216], + /* matcher indices */ &kMatcherIndices[234], }, { /* [211] */ @@ -4051,22 +4051,22 @@ constexpr ParameterInfo kParameters[] = { { /* [212] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [213] */ - /* usage */ ParameterUsage::kBias, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], }, { /* [214] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[108], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[12], }, { /* [215] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], + /* matcher indices */ &kMatcherIndices[212], }, { /* [216] */ @@ -4080,68 +4080,68 @@ constexpr ParameterInfo kParameters[] = { }, { /* [218] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kBias, + /* matcher indices */ &kMatcherIndices[62], }, { /* [219] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[128], }, { /* [220] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[232], + /* matcher indices */ &kMatcherIndices[235], }, { /* [221] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* matcher indices */ &kMatcherIndices[230], }, { /* [222] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [223] */ - /* usage */ ParameterUsage::kArrayIndex, + /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[1], }, { /* [224] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { /* [225] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], + /* usage */ ParameterUsage::kComponent, + /* matcher indices */ &kMatcherIndices[12], }, { /* [226] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[142], }, { /* [227] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], + }, + { + /* [228] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[132], }, - { - /* [228] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[62], - }, { /* [229] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[20], }, { /* [230] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[214], + /* matcher indices */ &kMatcherIndices[224], }, { /* [231] */ @@ -4151,7 +4151,7 @@ constexpr ParameterInfo kParameters[] = { { /* [232] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [233] */ @@ -4166,7 +4166,7 @@ constexpr ParameterInfo kParameters[] = { { /* [235] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[224], + /* matcher indices */ &kMatcherIndices[234], }, { /* [236] */ @@ -4176,7 +4176,7 @@ constexpr ParameterInfo kParameters[] = { { /* [237] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [238] */ @@ -4185,18 +4185,18 @@ constexpr ParameterInfo kParameters[] = { }, { /* [239] */ - /* usage */ ParameterUsage::kBias, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { /* [240] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], + /* matcher indices */ &kMatcherIndices[235], }, { /* [241] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* matcher indices */ &kMatcherIndices[231], }, { /* [242] */ @@ -4205,18 +4205,18 @@ constexpr ParameterInfo kParameters[] = { }, { /* [243] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[62], }, { /* [244] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[12], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { /* [245] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[232], + /* matcher indices */ &kMatcherIndices[234], }, { /* [246] */ @@ -4226,7 +4226,7 @@ constexpr ParameterInfo kParameters[] = { { /* [247] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [248] */ @@ -4266,7 +4266,7 @@ constexpr ParameterInfo kParameters[] = { { /* [255] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], + /* matcher indices */ &kMatcherIndices[232], }, { /* [256] */ @@ -4276,7 +4276,7 @@ constexpr ParameterInfo kParameters[] = { { /* [257] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [258] */ @@ -4291,88 +4291,88 @@ constexpr ParameterInfo kParameters[] = { { /* [260] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], + /* matcher indices */ &kMatcherIndices[218], }, { /* [261] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* matcher indices */ &kMatcherIndices[230], }, { /* [262] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [263] */ - /* usage */ ParameterUsage::kDepthRef, + /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[62], }, { /* [264] */ /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* matcher indices */ &kMatcherIndices[114], }, { /* [265] */ - /* usage */ ParameterUsage::kComponent, - /* matcher indices */ &kMatcherIndices[12], - }, - { - /* [266] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[142], - }, - { - /* [267] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [268] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], - }, - { - /* [269] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[20], - }, - { - /* [270] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[216], - }, - { - /* [271] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [272] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [273] */ - /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [274] */ - /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [275] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[234], }, { - /* [276] */ + /* [266] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], + }, + { + /* [267] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], + }, + { + /* [268] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [269] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], + }, + { + /* [270] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[234], + }, + { + /* [271] */ /* usage */ ParameterUsage::kSampler, /* matcher indices */ &kMatcherIndices[231], }, + { + /* [272] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], + }, + { + /* [273] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [274] */ + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[62], + }, + { + /* [275] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[214], + }, + { + /* [276] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], + }, { /* [277] */ /* usage */ ParameterUsage::kCoords, @@ -4385,63 +4385,63 @@ constexpr ParameterInfo kParameters[] = { }, { /* [279] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { /* [280] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[222], + /* matcher indices */ &kMatcherIndices[235], }, { /* [281] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* matcher indices */ &kMatcherIndices[231], }, { /* [282] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [283] */ - /* usage */ ParameterUsage::kDdx, - /* matcher indices */ &kMatcherIndices[102], + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[62], }, { /* [284] */ - /* usage */ ParameterUsage::kDdy, - /* matcher indices */ &kMatcherIndices[102], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { /* [285] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[232], + /* usage */ ParameterUsage::kComponent, + /* matcher indices */ &kMatcherIndices[12], }, { /* [286] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[150], + }, + { + /* [287] */ /* usage */ ParameterUsage::kSampler, /* matcher indices */ &kMatcherIndices[230], }, - { - /* [287] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], - }, { /* [288] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[108], }, { /* [289] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[12], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[20], }, { /* [290] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[212], + /* matcher indices */ &kMatcherIndices[222], }, { /* [291] */ @@ -4451,22 +4451,22 @@ constexpr ParameterInfo kParameters[] = { { /* [292] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [293] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kDdx, + /* matcher indices */ &kMatcherIndices[108], }, { /* [294] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* usage */ ParameterUsage::kDdy, + /* matcher indices */ &kMatcherIndices[108], }, { /* [295] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[214], + /* matcher indices */ &kMatcherIndices[212], }, { /* [296] */ @@ -4480,18 +4480,18 @@ constexpr ParameterInfo kParameters[] = { }, { /* [298] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[62], }, { /* [299] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[212], + /* matcher indices */ &kMatcherIndices[235], }, { /* [300] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* matcher indices */ &kMatcherIndices[231], }, { /* [301] */ @@ -4500,33 +4500,33 @@ constexpr ParameterInfo kParameters[] = { }, { /* [302] */ - /* usage */ ParameterUsage::kLevel, + /* usage */ ParameterUsage::kDepthRef, /* matcher indices */ &kMatcherIndices[62], }, { /* [303] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[233], + /* matcher indices */ &kMatcherIndices[214], }, { /* [304] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* matcher indices */ &kMatcherIndices[230], }, { /* [305] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [306] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], }, { /* [307] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[212], + /* matcher indices */ &kMatcherIndices[218], }, { /* [308] */ @@ -4536,57 +4536,57 @@ constexpr ParameterInfo kParameters[] = { { /* [309] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [310] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[62], }, { /* [311] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[233], + /* matcher indices */ &kMatcherIndices[218], }, { /* [312] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* matcher indices */ &kMatcherIndices[230], }, { /* [313] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[108], }, { /* [314] */ + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[114], + }, + { + /* [315] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[233], + }, + { + /* [316] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[231], + }, + { + /* [317] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[108], + }, + { + /* [318] */ /* usage */ ParameterUsage::kDepthRef, /* matcher indices */ &kMatcherIndices[62], }, - { - /* [315] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], - }, - { - /* [316] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], - }, - { - /* [317] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], - }, - { - /* [318] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], - }, { /* [319] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[216], + /* matcher indices */ &kMatcherIndices[224], }, { /* [320] */ @@ -4596,17 +4596,17 @@ constexpr ParameterInfo kParameters[] = { { /* [321] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[108], }, { /* [322] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[108], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], }, { /* [323] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[224], + /* matcher indices */ &kMatcherIndices[222], }, { /* [324] */ @@ -4616,12 +4616,12 @@ constexpr ParameterInfo kParameters[] = { { /* [325] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[108], }, { /* [326] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[62], }, { /* [327] */ @@ -4631,7 +4631,7 @@ constexpr ParameterInfo kParameters[] = { { /* [328] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* matcher indices */ &kMatcherIndices[230], }, { /* [329] */ @@ -4640,13 +4640,13 @@ constexpr ParameterInfo kParameters[] = { }, { /* [330] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { /* [331] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[232], + /* matcher indices */ &kMatcherIndices[234], }, { /* [332] */ @@ -4656,7 +4656,7 @@ constexpr ParameterInfo kParameters[] = { { /* [333] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [334] */ @@ -4666,7 +4666,7 @@ constexpr ParameterInfo kParameters[] = { { /* [335] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], + /* matcher indices */ &kMatcherIndices[232], }, { /* [336] */ @@ -4676,117 +4676,117 @@ constexpr ParameterInfo kParameters[] = { { /* [337] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [338] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], }, { /* [339] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], - }, - { - /* [340] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [341] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], - }, - { - /* [342] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [343] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], - }, - { - /* [344] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [345] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], - }, - { - /* [346] */ - /* usage */ ParameterUsage::kOffset, - /* matcher indices */ &kMatcherIndices[126], - }, - { - /* [347] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], - }, - { - /* [348] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [349] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], - }, - { - /* [350] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [351] */ - /* usage */ ParameterUsage::kComponent, - /* matcher indices */ &kMatcherIndices[12], - }, - { - /* [352] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[148], - }, - { - /* [353] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [354] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], - }, - { - /* [355] */ /* usage */ ParameterUsage::kX, /* matcher indices */ &kMatcherIndices[1], }, { - /* [356] */ + /* [340] */ /* usage */ ParameterUsage::kY, /* matcher indices */ &kMatcherIndices[1], }, { - /* [357] */ + /* [341] */ /* usage */ ParameterUsage::kZ, /* matcher indices */ &kMatcherIndices[1], }, { - /* [358] */ + /* [342] */ /* usage */ ParameterUsage::kW, /* matcher indices */ &kMatcherIndices[1], }, + { + /* [343] */ + /* usage */ ParameterUsage::kComponent, + /* matcher indices */ &kMatcherIndices[12], + }, + { + /* [344] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[140], + }, + { + /* [345] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], + }, + { + /* [346] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], + }, + { + /* [347] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[72], + }, + { + /* [348] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[112], + }, + { + /* [349] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[12], + }, + { + /* [350] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[102], + }, + { + /* [351] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[233], + }, + { + /* [352] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], + }, + { + /* [353] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[108], + }, + { + /* [354] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [355] */ + /* usage */ ParameterUsage::kComponent, + /* matcher indices */ &kMatcherIndices[12], + }, + { + /* [356] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[148], + }, + { + /* [357] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], + }, + { + /* [358] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[108], + }, { /* [359] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], + /* matcher indices */ &kMatcherIndices[54], }, { /* [360] */ @@ -4800,53 +4800,53 @@ constexpr ParameterInfo kParameters[] = { }, { /* [362] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[20], + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[152], }, { /* [363] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[39], + /* matcher indices */ &kMatcherIndices[235], }, { /* [364] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[231], }, { /* [365] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[12], - }, - { - /* [366] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[156], - }, - { - /* [367] */ - /* usage */ ParameterUsage::kComponent, - /* matcher indices */ &kMatcherIndices[12], - }, - { - /* [368] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[138], - }, - { - /* [369] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [370] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[132], }, + { + /* [366] */ + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[62], + }, + { + /* [367] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[142], + }, + { + /* [368] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[122], + }, + { + /* [369] */ + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[20], + }, + { + /* [370] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[67], + }, { /* [371] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[216], + /* matcher indices */ &kMatcherIndices[218], }, { /* [372] */ @@ -4856,57 +4856,57 @@ constexpr ParameterInfo kParameters[] = { { /* [373] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[108], }, { /* [374] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[62], - }, - { - /* [375] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[212], - }, - { - /* [376] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [377] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], - }, - { - /* [378] */ /* usage */ ParameterUsage::kBias, /* matcher indices */ &kMatcherIndices[62], }, + { + /* [375] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [376] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [377] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [378] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, { /* [379] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[222], + /* matcher indices */ &kMatcherIndices[233], }, { /* [380] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* matcher indices */ &kMatcherIndices[231], }, { /* [381] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[108], }, { /* [382] */ - /* usage */ ParameterUsage::kLevel, + /* usage */ ParameterUsage::kDepthRef, /* matcher indices */ &kMatcherIndices[62], }, { /* [383] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[216], + /* matcher indices */ &kMatcherIndices[222], }, { /* [384] */ @@ -4916,7 +4916,7 @@ constexpr ParameterInfo kParameters[] = { { /* [385] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[108], }, { /* [386] */ @@ -4926,82 +4926,82 @@ constexpr ParameterInfo kParameters[] = { { /* [387] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], + /* matcher indices */ &kMatcherIndices[233], }, { /* [388] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* matcher indices */ &kMatcherIndices[231], }, { /* [389] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [390] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kDepthRef, + /* matcher indices */ &kMatcherIndices[62], }, { /* [391] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[222], + /* matcher indices */ &kMatcherIndices[36], }, { /* [392] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[112], }, { /* [393] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[12], }, { /* [394] */ - /* usage */ ParameterUsage::kBias, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[156], }, { /* [395] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[232], + /* matcher indices */ &kMatcherIndices[234], }, { /* [396] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[112], }, { /* [397] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[12], }, { /* [398] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[20], }, { /* [399] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[112], }, { /* [400] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[112], }, { /* [401] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[112], }, { /* [402] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[112], }, { /* [403] */ @@ -5026,7 +5026,7 @@ constexpr ParameterInfo kParameters[] = { { /* [407] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[233], + /* matcher indices */ &kMatcherIndices[232], }, { /* [408] */ @@ -5036,72 +5036,72 @@ constexpr ParameterInfo kParameters[] = { { /* [409] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[108], }, { /* [410] */ - /* usage */ ParameterUsage::kLevel, + /* usage */ ParameterUsage::kArrayIndex, /* matcher indices */ &kMatcherIndices[1], }, { /* [411] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[233], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[104], }, { /* [412] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[104], }, { /* [413] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[104], }, { /* [414] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[104], }, { /* [415] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[72], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[126], }, { /* [416] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[126], }, { /* [417] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[12], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[126], }, { /* [418] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[128], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[126], }, { /* [419] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[118], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[234], }, { /* [420] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[118], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], }, { /* [421] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[118], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], }, { /* [422] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[118], + /* usage */ ParameterUsage::kArrayIndex, + /* matcher indices */ &kMatcherIndices[1], }, { /* [423] */ @@ -5146,62 +5146,62 @@ constexpr ParameterInfo kParameters[] = { { /* [431] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[54], + /* matcher indices */ &kMatcherIndices[235], }, { /* [432] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], }, { /* [433] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[12], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], }, { /* [434] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[152], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { /* [435] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[142], + /* matcher indices */ &kMatcherIndices[212], }, { /* [436] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[122], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], }, { /* [437] */ - /* usage */ ParameterUsage::kArrayIndex, - /* matcher indices */ &kMatcherIndices[20], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], }, { /* [438] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[67], + /* usage */ ParameterUsage::kOffset, + /* matcher indices */ &kMatcherIndices[128], }, { /* [439] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[212], }, { /* [440] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], }, { /* [441] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], }, { /* [442] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kBias, + /* matcher indices */ &kMatcherIndices[62], }, { /* [443] */ @@ -5211,7 +5211,7 @@ constexpr ParameterInfo kParameters[] = { { /* [444] */ /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[231], + /* matcher indices */ &kMatcherIndices[230], }, { /* [445] */ @@ -5220,118 +5220,118 @@ constexpr ParameterInfo kParameters[] = { }, { /* [446] */ - /* usage */ ParameterUsage::kDepthRef, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[1], }, { /* [447] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[138], + /* matcher indices */ &kMatcherIndices[235], }, { /* [448] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[122], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], }, { /* [449] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[20], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], }, { /* [450] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], + /* matcher indices */ &kMatcherIndices[30], }, { /* [451] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], + /* matcher indices */ &kMatcherIndices[30], }, { /* [452] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], + /* matcher indices */ &kMatcherIndices[30], }, { /* [453] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[112], + /* matcher indices */ &kMatcherIndices[1], }, { /* [454] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[112], + /* matcher indices */ &kMatcherIndices[1], }, { /* [455] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[112], + /* matcher indices */ &kMatcherIndices[1], }, { /* [456] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [457] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [458] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[30], }, { /* [459] */ - /* usage */ ParameterUsage::kX, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], }, { /* [460] */ - /* usage */ ParameterUsage::kY, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[95], }, { /* [461] */ - /* usage */ ParameterUsage::kZw, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[95], }, { /* [462] */ - /* usage */ ParameterUsage::kX, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[210], }, { /* [463] */ - /* usage */ ParameterUsage::kYz, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], }, { /* [464] */ - /* usage */ ParameterUsage::kW, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[62], }, { /* [465] */ - /* usage */ ParameterUsage::kXy, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[212], }, { /* [466] */ - /* usage */ ParameterUsage::kZ, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], }, { /* [467] */ - /* usage */ ParameterUsage::kW, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], }, { /* [468] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[233], + /* matcher indices */ &kMatcherIndices[218], }, { /* [469] */ @@ -5341,37 +5341,37 @@ constexpr ParameterInfo kParameters[] = { { /* [470] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[108], }, { /* [471] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[222], }, { /* [472] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], }, { /* [473] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[108], }, { /* [474] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[235], }, { /* [475] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], }, { /* [476] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[132], }, { /* [477] */ @@ -5421,7 +5421,7 @@ constexpr ParameterInfo kParameters[] = { { /* [486] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], + /* matcher indices */ &kMatcherIndices[233], }, { /* [487] */ @@ -5431,102 +5431,102 @@ constexpr ParameterInfo kParameters[] = { { /* [488] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[108], }, { /* [489] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[222], + /* matcher indices */ &kMatcherIndices[51], }, { /* [490] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[104], }, { /* [491] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[152], }, { /* [492] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[144], + }, + { + /* [493] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[106], + }, + { + /* [494] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[20], + }, + { + /* [495] */ /* usage */ ParameterUsage::kX, /* matcher indices */ &kMatcherIndices[1], }, { - /* [493] */ + /* [496] */ /* usage */ ParameterUsage::kY, /* matcher indices */ &kMatcherIndices[1], }, { - /* [494] */ + /* [497] */ /* usage */ ParameterUsage::kZ, /* matcher indices */ &kMatcherIndices[1], }, - { - /* [495] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[216], - }, - { - /* [496] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [497] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], - }, { /* [498] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[212], + /* usage */ ParameterUsage::kXy, + /* matcher indices */ &kMatcherIndices[112], }, { /* [499] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* usage */ ParameterUsage::kZ, + /* matcher indices */ &kMatcherIndices[1], }, { /* [500] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], + /* usage */ ParameterUsage::kW, + /* matcher indices */ &kMatcherIndices[1], }, { /* [501] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[208], + /* usage */ ParameterUsage::kX, + /* matcher indices */ &kMatcherIndices[1], }, { /* [502] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], + /* usage */ ParameterUsage::kYz, + /* matcher indices */ &kMatcherIndices[112], }, { /* [503] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[62], + /* usage */ ParameterUsage::kW, + /* matcher indices */ &kMatcherIndices[1], }, { /* [504] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[118], + /* usage */ ParameterUsage::kX, + /* matcher indices */ &kMatcherIndices[1], }, { /* [505] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[118], + /* usage */ ParameterUsage::kY, + /* matcher indices */ &kMatcherIndices[1], }, { /* [506] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[118], + /* usage */ ParameterUsage::kZw, + /* matcher indices */ &kMatcherIndices[112], }, { /* [507] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[233], + /* matcher indices */ &kMatcherIndices[236], }, { /* [508] */ @@ -5536,178 +5536,178 @@ constexpr ParameterInfo kParameters[] = { { /* [509] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[102], + /* matcher indices */ &kMatcherIndices[132], }, { /* [510] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [511] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], - }, - { - /* [512] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], - }, - { - /* [513] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [514] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], - }, - { - /* [515] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], - }, - { - /* [516] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [517] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [518] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [519] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [520] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [521] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [522] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [523] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [524] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [525] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [526] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [527] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [528] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[0], - }, - { - /* [529] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [530] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [531] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], - }, - { - /* [532] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [533] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], - }, - { - /* [534] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[236], - }, - { - /* [535] */ - /* usage */ ParameterUsage::kSampler, - /* matcher indices */ &kMatcherIndices[230], - }, - { - /* [536] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[132], - }, - { - /* [537] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[212], }, { - /* [538] */ + /* [511] */ /* usage */ ParameterUsage::kSampler, /* matcher indices */ &kMatcherIndices[230], }, { - /* [539] */ + /* [512] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[132], }, { - /* [540] */ + /* [513] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[236], }, { - /* [541] */ + /* [514] */ /* usage */ ParameterUsage::kSampler, /* matcher indices */ &kMatcherIndices[230], }, { - /* [542] */ + /* [515] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[132], }, { - /* [543] */ + /* [516] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[99], }, + { + /* [517] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [518] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[102], + }, + { + /* [519] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[75], + }, + { + /* [520] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[112], + }, + { + /* [521] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[102], + }, + { + /* [522] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[66], + }, + { + /* [523] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[104], + }, + { + /* [524] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[102], + }, + { + /* [525] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[63], + }, + { + /* [526] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [527] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[152], + }, + { + /* [528] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[57], + }, + { + /* [529] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[112], + }, + { + /* [530] */ + /* usage */ ParameterUsage::kValue, + /* matcher indices */ &kMatcherIndices[152], + }, + { + /* [531] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [532] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [533] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [534] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[0], + }, + { + /* [535] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [536] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [537] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [538] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [539] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [540] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [541] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [542] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [543] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[48], + }, { /* [544] */ /* usage */ ParameterUsage::kCoords, @@ -5716,267 +5716,267 @@ constexpr ParameterInfo kParameters[] = { { /* [545] */ /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[128], + /* matcher indices */ &kMatcherIndices[156], }, { /* [546] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[75], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[112], }, { /* [547] */ - /* usage */ ParameterUsage::kCoords, + /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[112], }, { /* [548] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[128], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[112], }, { /* [549] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [550] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [551] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], - }, - { - /* [552] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [553] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [554] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[36], - }, - { - /* [555] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[66], - }, - { - /* [556] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[110], - }, - { - /* [557] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[128], - }, - { - /* [558] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[63], - }, - { - /* [559] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [560] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[152], - }, - { - /* [561] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[57], - }, - { - /* [562] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[112], - }, - { - /* [563] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[152], - }, - { - /* [564] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[51], - }, - { - /* [565] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[110], - }, - { - /* [566] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[152], - }, - { - /* [567] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[48], - }, - { - /* [568] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [569] */ - /* usage */ ParameterUsage::kValue, - /* matcher indices */ &kMatcherIndices[156], - }, - { - /* [570] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[237], - }, - { - /* [571] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[112], - }, - { - /* [572] */ - /* usage */ ParameterUsage::kSampleIndex, - /* matcher indices */ &kMatcherIndices[12], - }, - { - /* [573] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [574] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [575] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], - }, - { - /* [576] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [577] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [578] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, - { - /* [579] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[42], }, { - /* [580] */ + /* [550] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[112], }, { - /* [581] */ + /* [551] */ /* usage */ ParameterUsage::kValue, /* matcher indices */ &kMatcherIndices[156], }, { - /* [582] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], + /* [552] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { - /* [583] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[112], + /* [553] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { - /* [584] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[12], + /* [554] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[41], }, { - /* [585] */ + /* [555] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [556] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [557] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[41], + }, + { + /* [558] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [559] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [560] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[39], + }, + { + /* [561] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[104], + }, + { + /* [562] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[104], + }, + { + /* [563] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[104], + }, + { + /* [564] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[33], }, { - /* [586] */ + /* [565] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[108], + /* matcher indices */ &kMatcherIndices[114], }, { - /* [587] */ + /* [566] */ /* usage */ ParameterUsage::kValue, /* matcher indices */ &kMatcherIndices[156], }, { - /* [588] */ + /* [567] */ /* usage */ ParameterUsage::kTexture, /* matcher indices */ &kMatcherIndices[136], }, { - /* [589] */ + /* [568] */ /* usage */ ParameterUsage::kCoords, /* matcher indices */ &kMatcherIndices[12], }, { - /* [590] */ + /* [569] */ /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[20], }, + { + /* [570] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[140], + }, + { + /* [571] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[122], + }, + { + /* [572] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[20], + }, + { + /* [573] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[233], + }, + { + /* [574] */ + /* usage */ ParameterUsage::kSampler, + /* matcher indices */ &kMatcherIndices[230], + }, + { + /* [575] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[108], + }, + { + /* [576] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[126], + }, + { + /* [577] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[126], + }, + { + /* [578] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[126], + }, + { + /* [579] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [580] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [581] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [582] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [583] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [584] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], + }, + { + /* [585] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[235], + }, + { + /* [586] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[112], + }, + { + /* [587] */ + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[12], + }, + { + /* [588] */ + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[154], + }, + { + /* [589] */ + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[122], + }, + { + /* [590] */ + /* usage */ ParameterUsage::kSampleIndex, + /* matcher indices */ &kMatcherIndices[20], + }, { /* [591] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[154], + /* matcher indices */ &kMatcherIndices[237], }, { /* [592] */ /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[122], + /* matcher indices */ &kMatcherIndices[112], }, { /* [593] */ /* usage */ ParameterUsage::kSampleIndex, - /* matcher indices */ &kMatcherIndices[20], + /* matcher indices */ &kMatcherIndices[12], }, { /* [594] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[144], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [595] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[104], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[95], }, { /* [596] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[20], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[95], }, { /* [597] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[10], + /* matcher indices */ &kMatcherIndices[30], }, { /* [598] */ @@ -5986,27 +5986,27 @@ constexpr ParameterInfo kParameters[] = { { /* [599] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[69], + /* matcher indices */ &kMatcherIndices[1], }, { /* [600] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[10], + /* matcher indices */ &kMatcherIndices[1], }, { /* [601] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[236], }, { /* [602] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kCoords, + /* matcher indices */ &kMatcherIndices[112], }, { /* [603] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[0], }, { /* [604] */ @@ -6015,33 +6015,33 @@ constexpr ParameterInfo kParameters[] = { }, { /* [605] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[232], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[0], }, { /* [606] */ - /* usage */ ParameterUsage::kLevel, + /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[1], }, { /* [607] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[0], }, { /* [608] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[4], + /* matcher indices */ &kMatcherIndices[1], }, { /* [609] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[236], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[0], }, { /* [610] */ - /* usage */ ParameterUsage::kCoords, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [611] */ @@ -6056,12 +6056,12 @@ constexpr ParameterInfo kParameters[] = { { /* [613] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[18], + /* matcher indices */ &kMatcherIndices[0], }, { /* [614] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[22], + /* matcher indices */ &kMatcherIndices[1], }, { /* [615] */ @@ -6076,12 +6076,12 @@ constexpr ParameterInfo kParameters[] = { { /* [617] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[0], + /* matcher indices */ &kMatcherIndices[30], }, { /* [618] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [619] */ @@ -6096,22 +6096,22 @@ constexpr ParameterInfo kParameters[] = { { /* [621] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[0], + /* matcher indices */ &kMatcherIndices[30], }, { /* [622] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [623] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[136], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[0], }, { /* [624] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[12], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, { /* [625] */ @@ -6121,12 +6121,12 @@ constexpr ParameterInfo kParameters[] = { { /* [626] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [627] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[138], + /* matcher indices */ &kMatcherIndices[136], }, { /* [628] */ @@ -6136,17 +6136,17 @@ constexpr ParameterInfo kParameters[] = { { /* [629] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [630] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[90], + /* matcher indices */ &kMatcherIndices[30], }, { /* [631] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[142], + /* matcher indices */ &kMatcherIndices[140], }, { /* [632] */ @@ -6156,17 +6156,17 @@ constexpr ParameterInfo kParameters[] = { { /* [633] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[0], + /* matcher indices */ &kMatcherIndices[30], }, { /* [634] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [635] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[144], + /* matcher indices */ &kMatcherIndices[142], }, { /* [636] */ @@ -6176,7 +6176,7 @@ constexpr ParameterInfo kParameters[] = { { /* [637] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[0], + /* matcher indices */ &kMatcherIndices[1], }, { /* [638] */ @@ -6186,7 +6186,7 @@ constexpr ParameterInfo kParameters[] = { { /* [639] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[148], + /* matcher indices */ &kMatcherIndices[144], }, { /* [640] */ @@ -6196,17 +6196,17 @@ constexpr ParameterInfo kParameters[] = { { /* [641] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[0], + /* matcher indices */ &kMatcherIndices[10], }, { /* [642] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[10], }, { /* [643] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[150], + /* matcher indices */ &kMatcherIndices[148], }, { /* [644] */ @@ -6216,7 +6216,7 @@ constexpr ParameterInfo kParameters[] = { { /* [645] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[0], + /* matcher indices */ &kMatcherIndices[1], }, { /* [646] */ @@ -6225,38 +6225,38 @@ constexpr ParameterInfo kParameters[] = { }, { /* [647] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[150], }, { /* [648] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[12], }, { /* [649] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[0], + /* matcher indices */ &kMatcherIndices[30], }, { /* [650] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [651] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [652] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [653] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], + /* matcher indices */ &kMatcherIndices[235], }, { /* [654] */ @@ -6271,12 +6271,12 @@ constexpr ParameterInfo kParameters[] = { { /* [656] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [657] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[233], + /* matcher indices */ &kMatcherIndices[234], }, { /* [658] */ @@ -6286,21 +6286,21 @@ constexpr ParameterInfo kParameters[] = { { /* [659] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[10], }, { /* [660] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[10], }, { /* [661] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[233], }, { /* [662] */ - /* usage */ ParameterUsage::kNone, + /* usage */ ParameterUsage::kLevel, /* matcher indices */ &kMatcherIndices[1], }, { @@ -6311,57 +6311,57 @@ constexpr ParameterInfo kParameters[] = { { /* [664] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [665] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[232], }, { /* [666] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kLevel, + /* matcher indices */ &kMatcherIndices[1], }, { /* [667] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[30], }, { /* [668] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[30], }, { /* [669] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [670] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [671] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [672] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [673] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[36], + /* matcher indices */ &kMatcherIndices[30], }, { /* [674] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[36], + /* matcher indices */ &kMatcherIndices[30], }, { /* [675] */ @@ -6381,92 +6381,92 @@ constexpr ParameterInfo kParameters[] = { { /* [678] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [679] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[1], }, { /* [680] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[30], }, { /* [681] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[36], + /* matcher indices */ &kMatcherIndices[10], }, { /* [682] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[36], + /* matcher indices */ &kMatcherIndices[1], }, { /* [683] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[10], }, { /* [684] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [685] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[69], }, { /* [686] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[10], }, { /* [687] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], }, { /* [688] */ - /* usage */ ParameterUsage::kLevel, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[90], }, { /* [689] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [690] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[4], }, { /* [691] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[18], }, { /* [692] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[22], }, { /* [693] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [694] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [695] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [696] */ @@ -6476,42 +6476,42 @@ constexpr ParameterInfo kParameters[] = { { /* [697] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[30], }, { /* [698] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[1], }, { /* [699] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[1], }, { /* [700] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[30], }, { /* [701] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[10], + /* matcher indices */ &kMatcherIndices[1], }, { /* [702] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[10], + /* matcher indices */ &kMatcherIndices[1], }, { /* [703] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [704] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [705] */ @@ -6521,7 +6521,7 @@ constexpr ParameterInfo kParameters[] = { { /* [706] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [707] */ @@ -6531,47 +6531,47 @@ constexpr ParameterInfo kParameters[] = { { /* [708] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [709] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [710] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [711] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [712] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [713] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[41], }, { /* [714] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[41], }, { /* [715] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[39], }, { /* [716] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[39], }, { /* [717] */ @@ -6596,22 +6596,22 @@ constexpr ParameterInfo kParameters[] = { { /* [721] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[41], }, { /* [722] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[41], }, { /* [723] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[39], }, { /* [724] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[39], }, { /* [725] */ @@ -6621,47 +6621,47 @@ constexpr ParameterInfo kParameters[] = { { /* [726] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], + /* matcher indices */ &kMatcherIndices[1], }, { /* [727] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], + /* usage */ ParameterUsage::kX, + /* matcher indices */ &kMatcherIndices[1], }, { /* [728] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], + /* usage */ ParameterUsage::kYz, + /* matcher indices */ &kMatcherIndices[112], }, { /* [729] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], + /* matcher indices */ &kMatcherIndices[30], }, { /* [730] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], + /* matcher indices */ &kMatcherIndices[30], }, { /* [731] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[41], }, { /* [732] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[41], }, { /* [733] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[41], }, { /* [734] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[41], }, { /* [735] */ @@ -6681,7 +6681,7 @@ constexpr ParameterInfo kParameters[] = { { /* [738] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[93], + /* matcher indices */ &kMatcherIndices[30], }, { /* [739] */ @@ -6691,27 +6691,27 @@ constexpr ParameterInfo kParameters[] = { { /* [740] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], + /* matcher indices */ &kMatcherIndices[1], }, { /* [741] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [742] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[93], + /* matcher indices */ &kMatcherIndices[1], }, { /* [743] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], + /* matcher indices */ &kMatcherIndices[30], }, { /* [744] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], + /* matcher indices */ &kMatcherIndices[30], }, { /* [745] */ @@ -6741,7 +6741,7 @@ constexpr ParameterInfo kParameters[] = { { /* [750] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], + /* matcher indices */ &kMatcherIndices[1], }, { /* [751] */ @@ -6751,16 +6751,16 @@ constexpr ParameterInfo kParameters[] = { { /* [752] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[93], + /* matcher indices */ &kMatcherIndices[30], }, { /* [753] */ - /* usage */ ParameterUsage::kX, + /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[1], }, { /* [754] */ - /* usage */ ParameterUsage::kY, + /* usage */ ParameterUsage::kNone, /* matcher indices */ &kMatcherIndices[1], }, { @@ -6771,7 +6771,7 @@ constexpr ParameterInfo kParameters[] = { { /* [756] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [757] */ @@ -6781,47 +6781,47 @@ constexpr ParameterInfo kParameters[] = { { /* [758] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[95], }, { /* [759] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[10], + /* matcher indices */ &kMatcherIndices[30], }, { /* [760] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[10], + /* matcher indices */ &kMatcherIndices[93], }, { /* [761] */ - /* usage */ ParameterUsage::kXy, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[95], }, { /* [762] */ - /* usage */ ParameterUsage::kZ, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[95], }, { /* [763] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[95], }, { /* [764] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[95], }, { /* [765] */ - /* usage */ ParameterUsage::kX, - /* matcher indices */ &kMatcherIndices[1], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], }, { /* [766] */ - /* usage */ ParameterUsage::kYz, - /* matcher indices */ &kMatcherIndices[112], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[30], }, { /* [767] */ @@ -6846,42 +6846,42 @@ constexpr ParameterInfo kParameters[] = { { /* [771] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [772] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[95], }, { /* [773] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [774] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[93], }, { /* [775] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [776] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[95], }, { /* [777] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[104], }, { /* [778] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[104], }, { /* [779] */ @@ -6891,16 +6891,16 @@ constexpr ParameterInfo kParameters[] = { { /* [780] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[93], }, { /* [781] */ - /* usage */ ParameterUsage::kNone, + /* usage */ ParameterUsage::kX, /* matcher indices */ &kMatcherIndices[1], }, { /* [782] */ - /* usage */ ParameterUsage::kNone, + /* usage */ ParameterUsage::kY, /* matcher indices */ &kMatcherIndices[1], }, { @@ -6910,38 +6910,38 @@ constexpr ParameterInfo kParameters[] = { }, { /* [784] */ + /* usage */ ParameterUsage::kZ, + /* matcher indices */ &kMatcherIndices[1], + }, + { + /* [785] */ + /* usage */ ParameterUsage::kXy, + /* matcher indices */ &kMatcherIndices[112], + }, + { + /* [786] */ /* usage */ ParameterUsage::kZw, /* matcher indices */ &kMatcherIndices[112], }, { - /* [785] */ + /* [787] */ /* usage */ ParameterUsage::kXyz, - /* matcher indices */ &kMatcherIndices[110], + /* matcher indices */ &kMatcherIndices[104], }, { - /* [786] */ + /* [788] */ /* usage */ ParameterUsage::kW, /* matcher indices */ &kMatcherIndices[1], }, { - /* [787] */ + /* [789] */ /* usage */ ParameterUsage::kX, /* matcher indices */ &kMatcherIndices[1], }, - { - /* [788] */ - /* usage */ ParameterUsage::kZyw, - /* matcher indices */ &kMatcherIndices[110], - }, - { - /* [789] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], - }, { /* [790] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kZyw, + /* matcher indices */ &kMatcherIndices[104], }, { /* [791] */ @@ -6956,22 +6956,22 @@ constexpr ParameterInfo kParameters[] = { { /* [793] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], + /* matcher indices */ &kMatcherIndices[30], }, { /* [794] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], + /* matcher indices */ &kMatcherIndices[30], }, { /* [795] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[118], + /* matcher indices */ &kMatcherIndices[0], }, { /* [796] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[118], + /* matcher indices */ &kMatcherIndices[1], }, { /* [797] */ @@ -6981,47 +6981,47 @@ constexpr ParameterInfo kParameters[] = { { /* [798] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[10], + /* matcher indices */ &kMatcherIndices[1], }, { /* [799] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[10], + /* matcher indices */ &kMatcherIndices[104], }, { /* [800] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[104], }, { /* [801] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[126], }, { /* [802] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[126], }, { /* [803] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [804] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[10], }, { /* [805] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [806] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [807] */ @@ -7031,82 +7031,82 @@ constexpr ParameterInfo kParameters[] = { { /* [808] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[232], + /* matcher indices */ &kMatcherIndices[154], }, { /* [809] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[233], + /* matcher indices */ &kMatcherIndices[232], }, { /* [810] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], + /* matcher indices */ &kMatcherIndices[233], }, { /* [811] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[235], + /* matcher indices */ &kMatcherIndices[234], }, { /* [812] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[150], + /* matcher indices */ &kMatcherIndices[235], }, { /* [813] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[148], + /* matcher indices */ &kMatcherIndices[150], }, { /* [814] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[144], + /* matcher indices */ &kMatcherIndices[148], }, { /* [815] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[142], + /* matcher indices */ &kMatcherIndices[144], }, { /* [816] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[138], + /* matcher indices */ &kMatcherIndices[142], }, { /* [817] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[136], + /* matcher indices */ &kMatcherIndices[140], }, { /* [818] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[45], + /* matcher indices */ &kMatcherIndices[136], }, { /* [819] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[232], + /* matcher indices */ &kMatcherIndices[45], }, { /* [820] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[234], + /* matcher indices */ &kMatcherIndices[232], }, { /* [821] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[150], + /* matcher indices */ &kMatcherIndices[234], }, { /* [822] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[142], + /* matcher indices */ &kMatcherIndices[150], }, { /* [823] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[236], + /* matcher indices */ &kMatcherIndices[142], }, { /* [824] */ @@ -7181,7 +7181,7 @@ constexpr ParameterInfo kParameters[] = { { /* [838] */ /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[138], + /* matcher indices */ &kMatcherIndices[140], }, { /* [839] */ @@ -7191,7 +7191,7 @@ constexpr ParameterInfo kParameters[] = { { /* [840] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], + /* matcher indices */ &kMatcherIndices[162], }, { /* [841] */ @@ -7216,42 +7216,42 @@ constexpr ParameterInfo kParameters[] = { { /* [845] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[95], }, { /* [846] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [847] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[10], + /* matcher indices */ &kMatcherIndices[1], }, { /* [848] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[10], }, { /* [849] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [850] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [851] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [852] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[162], + /* matcher indices */ &kMatcherIndices[1], }, { /* [853] */ @@ -7261,22 +7261,22 @@ constexpr ParameterInfo kParameters[] = { { /* [854] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [855] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [856] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [857] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[0], + /* matcher indices */ &kMatcherIndices[1], }, { /* [858] */ @@ -7286,12 +7286,12 @@ constexpr ParameterInfo kParameters[] = { { /* [859] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[0], }, { /* [860] */ - /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* usage */ ParameterUsage::kTexture, + /* matcher indices */ &kMatcherIndices[236], }, { /* [861] */ @@ -7331,27 +7331,27 @@ constexpr ParameterInfo kParameters[] = { { /* [868] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [869] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[1], }, { /* [870] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[36], + /* matcher indices */ &kMatcherIndices[1], }, { /* [871] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[41], }, { /* [872] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[39], }, { /* [873] */ @@ -7376,47 +7376,47 @@ constexpr ParameterInfo kParameters[] = { { /* [877] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [878] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[128], + /* matcher indices */ &kMatcherIndices[1], }, { /* [879] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[128], + /* matcher indices */ &kMatcherIndices[60], }, { /* [880] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[62], }, { /* [881] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[102], }, { /* [882] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[132], + /* matcher indices */ &kMatcherIndices[102], }, { /* [883] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[132], }, { /* [884] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[132], }, { /* [885] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[132], }, { /* [886] */ @@ -7426,82 +7426,82 @@ constexpr ParameterInfo kParameters[] = { { /* [887] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [888] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [889] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [890] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [891] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [892] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [893] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [894] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[60], + /* matcher indices */ &kMatcherIndices[1], }, { /* [895] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[62], + /* matcher indices */ &kMatcherIndices[30], }, { /* [896] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[60], + /* matcher indices */ &kMatcherIndices[1], }, { /* [897] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[62], + /* matcher indices */ &kMatcherIndices[60], }, { /* [898] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[60], + /* matcher indices */ &kMatcherIndices[62], }, { /* [899] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[62], + /* matcher indices */ &kMatcherIndices[60], }, { /* [900] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[62], }, { /* [901] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[60], }, { /* [902] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[62], }, { /* [903] */ @@ -7561,27 +7561,27 @@ constexpr ParameterInfo kParameters[] = { { /* [914] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[60], + /* matcher indices */ &kMatcherIndices[1], }, { /* [915] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[62], + /* matcher indices */ &kMatcherIndices[30], }, { /* [916] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[60], + /* matcher indices */ &kMatcherIndices[1], }, { /* [917] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[62], + /* matcher indices */ &kMatcherIndices[60], }, { /* [918] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[60], + /* matcher indices */ &kMatcherIndices[62], }, { /* [919] */ @@ -7591,72 +7591,72 @@ constexpr ParameterInfo kParameters[] = { { /* [920] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[62], + /* matcher indices */ &kMatcherIndices[60], }, { /* [921] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[60], + /* matcher indices */ &kMatcherIndices[62], }, { /* [922] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[62], + /* matcher indices */ &kMatcherIndices[41], }, { /* [923] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[60], + /* matcher indices */ &kMatcherIndices[62], }, { /* [924] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[62], + /* matcher indices */ &kMatcherIndices[60], }, { /* [925] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[60], + /* matcher indices */ &kMatcherIndices[62], }, { /* [926] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[62], + /* matcher indices */ &kMatcherIndices[60], }, { /* [927] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[14], + /* matcher indices */ &kMatcherIndices[62], }, { /* [928] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[60], }, { /* [929] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[62], }, { /* [930] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[14], }, { /* [931] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [932] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [933] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[4], + /* matcher indices */ &kMatcherIndices[30], }, { /* [934] */ @@ -7666,72 +7666,72 @@ constexpr ParameterInfo kParameters[] = { { /* [935] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[226], + /* matcher indices */ &kMatcherIndices[4], }, { /* [936] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[95], + /* matcher indices */ &kMatcherIndices[1], }, { /* [937] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[226], }, { /* [938] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[220], + /* matcher indices */ &kMatcherIndices[95], }, { /* [939] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[62], + /* matcher indices */ &kMatcherIndices[1], }, { /* [940] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[220], }, { /* [941] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[218], + /* matcher indices */ &kMatcherIndices[62], }, { /* [942] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[6], + /* matcher indices */ &kMatcherIndices[1], }, { /* [943] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[216], }, { /* [944] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[6], }, { /* [945] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[1], }, { /* [946] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [947] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[41], }, { /* [948] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[112], + /* matcher indices */ &kMatcherIndices[1], }, { /* [949] */ @@ -7741,17 +7741,17 @@ constexpr ParameterInfo kParameters[] = { { /* [950] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[112], }, { /* [951] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[122], + /* matcher indices */ &kMatcherIndices[1], }, { /* [952] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[122], + /* matcher indices */ &kMatcherIndices[1], }, { /* [953] */ @@ -7771,77 +7771,77 @@ constexpr ParameterInfo kParameters[] = { { /* [956] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[206], + /* matcher indices */ &kMatcherIndices[122], }, { /* [957] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[110], + /* matcher indices */ &kMatcherIndices[122], }, { /* [958] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[206], }, { /* [959] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[104], }, { /* [960] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [961] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [962] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[104], + /* matcher indices */ &kMatcherIndices[1], }, { /* [963] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[104], + /* matcher indices */ &kMatcherIndices[30], }, { /* [964] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[104], + /* matcher indices */ &kMatcherIndices[106], }, { /* [965] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[104], + /* matcher indices */ &kMatcherIndices[106], }, { /* [966] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[104], + /* matcher indices */ &kMatcherIndices[106], }, { /* [967] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[204], + /* matcher indices */ &kMatcherIndices[106], }, { /* [968] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[118], + /* matcher indices */ &kMatcherIndices[106], }, { /* [969] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[204], }, { /* [970] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[126], }, { /* [971] */ @@ -7851,227 +7851,237 @@ constexpr ParameterInfo kParameters[] = { { /* [972] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [973] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [974] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [975] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [976] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[1], }, { /* [977] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[30], }, { /* [978] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[140], + /* matcher indices */ &kMatcherIndices[1], }, { /* [979] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[140], + /* matcher indices */ &kMatcherIndices[138], }, { /* [980] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[140], + /* matcher indices */ &kMatcherIndices[138], }, { /* [981] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[140], + /* matcher indices */ &kMatcherIndices[138], }, { /* [982] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[202], + /* matcher indices */ &kMatcherIndices[138], }, { /* [983] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[160], + /* matcher indices */ &kMatcherIndices[138], }, { /* [984] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[202], }, { /* [985] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[160], }, { /* [986] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[164], + /* matcher indices */ &kMatcherIndices[30], }, { /* [987] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[166], + /* matcher indices */ &kMatcherIndices[1], }, { /* [988] */ - /* usage */ ParameterUsage::kTexture, - /* matcher indices */ &kMatcherIndices[154], + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[164], }, { /* [989] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[168], + /* matcher indices */ &kMatcherIndices[166], }, { /* [990] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[36], + /* matcher indices */ &kMatcherIndices[30], }, { /* [991] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[168], }, { /* [992] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[170], + /* matcher indices */ &kMatcherIndices[30], }, { /* [993] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[174], + /* matcher indices */ &kMatcherIndices[1], }, { /* [994] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[36], + /* matcher indices */ &kMatcherIndices[170], }, { /* [995] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[176], + /* matcher indices */ &kMatcherIndices[174], }, { /* [996] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[38], + /* matcher indices */ &kMatcherIndices[41], }, { /* [997] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[176], }, { /* [998] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[178], + /* matcher indices */ &kMatcherIndices[30], }, { /* [999] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[180], + /* matcher indices */ &kMatcherIndices[1], }, { /* [1000] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[200], + /* matcher indices */ &kMatcherIndices[178], }, { /* [1001] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[182], + /* matcher indices */ &kMatcherIndices[180], }, { /* [1002] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[200], }, { /* [1003] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[182], }, { /* [1004] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[184], + /* matcher indices */ &kMatcherIndices[30], }, { /* [1005] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[186], + /* matcher indices */ &kMatcherIndices[1], }, { /* [1006] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[198], + /* matcher indices */ &kMatcherIndices[184], }, { /* [1007] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[188], + /* matcher indices */ &kMatcherIndices[186], }, { /* [1008] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[198], }, { /* [1009] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[30], + /* matcher indices */ &kMatcherIndices[188], }, { /* [1010] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[190], + /* matcher indices */ &kMatcherIndices[5], }, { /* [1011] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[192], + /* matcher indices */ &kMatcherIndices[39], }, { /* [1012] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[196], + /* matcher indices */ &kMatcherIndices[190], }, { /* [1013] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[194], + /* matcher indices */ &kMatcherIndices[192], }, { /* [1014] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[5], + /* matcher indices */ &kMatcherIndices[196], }, { /* [1015] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[1], + /* matcher indices */ &kMatcherIndices[194], }, { /* [1016] */ /* usage */ ParameterUsage::kNone, - /* matcher indices */ &kMatcherIndices[140], + /* matcher indices */ &kMatcherIndices[60], + }, + { + /* [1017] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[39], + }, + { + /* [1018] */ + /* usage */ ParameterUsage::kNone, + /* matcher indices */ &kMatcherIndices[1], }, }; @@ -8189,22 +8199,22 @@ constexpr TemplateTypeInfo kTemplateTypes[] = { { /* [22] */ /* name */ "T", - /* matcher index */ 65, + /* matcher index */ 69, }, { /* [23] */ /* name */ "T", - /* matcher index */ 69, + /* matcher index */ 63, }, { /* [24] */ /* name */ "T", - /* matcher index */ 63, + /* matcher index */ 70, }, { /* [25] */ /* name */ "T", - /* matcher index */ 70, + /* matcher index */ 65, }, { /* [26] */ @@ -8244,12 +8254,12 @@ constexpr TemplateTypeInfo kTemplateTypes[] = { { /* [33] */ /* name */ "T", - /* matcher index */ kNoMatcher, + /* matcher index */ 56, }, { /* [34] */ /* name */ "T", - /* matcher index */ 56, + /* matcher index */ kNoMatcher, }, { /* [35] */ @@ -8341,7 +8351,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[10], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[623], + /* parameters */ &kParameters[627], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8365,7 +8375,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[10], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[627], + /* parameters */ &kParameters[631], /* return matcher indices */ &kMatcherIndices[124], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8389,7 +8399,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[10], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[631], + /* parameters */ &kParameters[635], /* return matcher indices */ &kMatcherIndices[124], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8402,7 +8412,7 @@ constexpr OverloadInfo kOverloads[] = { /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[836], - /* return matcher indices */ &kMatcherIndices[114], + /* return matcher indices */ &kMatcherIndices[116], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8413,8 +8423,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[10], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[635], - /* return matcher indices */ &kMatcherIndices[114], + /* parameters */ &kParameters[639], + /* return matcher indices */ &kMatcherIndices[116], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8437,7 +8447,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[10], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[639], + /* parameters */ &kParameters[643], /* return matcher indices */ &kMatcherIndices[124], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8461,7 +8471,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[10], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[643], + /* parameters */ &kParameters[647], /* return matcher indices */ &kMatcherIndices[124], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8497,7 +8507,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[3], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[687], + /* parameters */ &kParameters[653], /* return matcher indices */ &kMatcherIndices[124], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8521,7 +8531,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[3], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[653], + /* parameters */ &kParameters[657], /* return matcher indices */ &kMatcherIndices[124], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8545,7 +8555,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[3], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[657], + /* parameters */ &kParameters[661], /* return matcher indices */ &kMatcherIndices[124], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8569,7 +8579,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[3], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[605], + /* parameters */ &kParameters[665], /* return matcher indices */ &kMatcherIndices[124], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8630,7 +8640,7 @@ constexpr OverloadInfo kOverloads[] = { /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[3], /* parameters */ &kParameters[824], - /* return matcher indices */ &kMatcherIndices[114], + /* return matcher indices */ &kMatcherIndices[116], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8641,7 +8651,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[823], + /* parameters */ &kParameters[860], /* return matcher indices */ &kMatcherIndices[124], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8653,8 +8663,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[299], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[295], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8665,8 +8675,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[290], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[190], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8677,8 +8687,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[230], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[160], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8689,8 +8699,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[102], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[72], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8701,8 +8711,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[371], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[307], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8713,8 +8723,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[170], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[260], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8725,8 +8735,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[379], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[323], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8737,8 +8747,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[205], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[230], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -8749,7 +8759,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[3], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[387], + /* parameters */ &kParameters[443], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8761,7 +8771,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[3], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[215], + /* parameters */ &kParameters[220], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8773,7 +8783,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[240], + /* parameters */ &kParameters[210], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8785,7 +8795,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[96], + /* parameters */ &kParameters[138], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8797,7 +8807,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[3], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[407], + /* parameters */ &kParameters[351], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8809,7 +8819,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[285], + /* parameters */ &kParameters[180], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -8821,8 +8831,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[534], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[507], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kIsDeprecated), /* const eval */ nullptr, }, @@ -8833,8 +8843,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[27], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[1019], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, }, @@ -8845,8 +8855,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[968], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[970], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, }, @@ -8857,8 +8867,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[969], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[971], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecSplat, }, @@ -8869,8 +8879,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[355], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[339], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitS, }, @@ -8881,8 +8891,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[465], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[498], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitM, }, @@ -8893,8 +8903,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[462], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[501], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitM, }, @@ -8905,8 +8915,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[459], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[504], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitM, }, @@ -8917,8 +8927,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[783], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[785], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitM, }, @@ -8929,8 +8939,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[785], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[787], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitM, }, @@ -8941,8 +8951,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[787], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[789], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitM, }, @@ -8953,8 +8963,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[12], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1016], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[979], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, }, @@ -8965,7 +8975,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[978], + /* parameters */ &kParameters[980], /* return matcher indices */ &kMatcherIndices[146], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -8977,7 +8987,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[16], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[979], + /* parameters */ &kParameters[981], /* return matcher indices */ &kMatcherIndices[152], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -8989,7 +8999,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[18], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[980], + /* parameters */ &kParameters[982], /* return matcher indices */ &kMatcherIndices[156], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -9001,7 +9011,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[20], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[981], + /* parameters */ &kParameters[983], /* return matcher indices */ &kMatcherIndices[158], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -9013,8 +9023,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[501], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[462], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -9025,8 +9035,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[498], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[465], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -9037,8 +9047,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[307], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[435], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -9049,8 +9059,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[295], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[303], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -9061,8 +9071,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[195], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[275], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -9073,8 +9083,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[495], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[468], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -9085,8 +9095,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[319], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[311], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -9097,8 +9107,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[489], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[471], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -9109,8 +9119,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[323], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[319], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -9121,7 +9131,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[486], + /* parameters */ &kParameters[474], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -9133,7 +9143,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[335], + /* parameters */ &kParameters[327], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -9145,7 +9155,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[347], + /* parameters */ &kParameters[331], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -9157,7 +9167,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[165], + /* parameters */ &kParameters[235], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -9169,7 +9179,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[468], + /* parameters */ &kParameters[486], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -9181,157 +9191,109 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[395], + /* parameters */ &kParameters[335], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, { /* [72] */ - /* num parameters */ 4, - /* num template types */ 2, + /* num parameters */ 3, + /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[0], + /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[367], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[516], + /* return matcher indices */ nullptr, /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [73] */ - /* num parameters */ 5, - /* num template types */ 2, + /* num parameters */ 3, + /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[0], + /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[155], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[519], + /* return matcher indices */ nullptr, /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [74] */ - /* num parameters */ 5, - /* num template types */ 3, + /* num parameters */ 4, + /* num template types */ 2, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[0], + /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[265], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[347], + /* return matcher indices */ nullptr, /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [75] */ - /* num parameters */ 6, - /* num template types */ 3, + /* num parameters */ 3, + /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[0], + /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[144], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[522], + /* return matcher indices */ nullptr, /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [76] */ - /* num parameters */ 4, - /* num template types */ 2, + /* num parameters */ 3, + /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[0], + /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[351], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[525], + /* return matcher indices */ nullptr, /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [77] */ - /* num parameters */ 5, - /* num template types */ 3, + /* num parameters */ 3, + /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[0], + /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[200], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[528], + /* return matcher indices */ nullptr, /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [78] */ - /* num parameters */ 3, - /* num template types */ 0, + /* num parameters */ 4, + /* num template types */ 2, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], + /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[531], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[359], + /* return matcher indices */ nullptr, /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [79] */ - /* num parameters */ 4, - /* num template types */ 0, + /* num parameters */ 3, + /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], + /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[343], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[489], + /* return matcher indices */ nullptr, /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [80] */ - /* num parameters */ 4, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[2], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[339], - /* return matcher indices */ &kMatcherIndices[128], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [81] */ - /* num parameters */ 5, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[2], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[175], - /* return matcher indices */ &kMatcherIndices[128], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [82] */ - /* num parameters */ 3, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[507], - /* return matcher indices */ &kMatcherIndices[128], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [83] */ - /* num parameters */ 4, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[2], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[331], - /* return matcher indices */ &kMatcherIndices[128], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [84] */ /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 0, @@ -9343,83 +9305,35 @@ constexpr OverloadInfo kOverloads[] = { /* const eval */ nullptr, }, { - /* [85] */ + /* [81] */ /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 0, /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[546], + /* parameters */ &kParameters[549], /* return matcher indices */ nullptr, /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { - /* [86] */ + /* [82] */ /* num parameters */ 4, /* num template types */ 2, /* num template numbers */ 0, /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[415], + /* parameters */ &kParameters[391], /* return matcher indices */ nullptr, /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { - /* [87] */ + /* [83] */ /* num parameters */ 3, - /* num template types */ 1, + /* num template types */ 0, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[1], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[555], - /* return matcher indices */ nullptr, - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [88] */ - /* num parameters */ 3, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[1], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[558], - /* return matcher indices */ nullptr, - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [89] */ - /* num parameters */ 3, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[1], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[561], - /* return matcher indices */ nullptr, - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [90] */ - /* num parameters */ 4, - /* num template types */ 2, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[1], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[431], - /* return matcher indices */ nullptr, - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [91] */ - /* num parameters */ 3, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[1], + /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[564], /* return matcher indices */ nullptr, @@ -9427,50 +9341,146 @@ constexpr OverloadInfo kOverloads[] = { /* const eval */ nullptr, }, { - /* [92] */ - /* num parameters */ 3, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[1], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[567], - /* return matcher indices */ nullptr, - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [93] */ - /* num parameters */ 3, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[1], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[579], - /* return matcher indices */ nullptr, - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [94] */ + /* [84] */ /* num parameters */ 4, /* num template types */ 2, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[1], + /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[363], - /* return matcher indices */ nullptr, + /* parameters */ &kParameters[343], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { - /* [95] */ + /* [85] */ + /* num parameters */ 5, + /* num template types */ 2, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[0], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[165], + /* return matcher indices */ &kMatcherIndices[126], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [86] */ + /* num parameters */ 5, + /* num template types */ 3, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[0], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[225], + /* return matcher indices */ &kMatcherIndices[126], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [87] */ + /* num parameters */ 6, + /* num template types */ 3, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[0], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[96], + /* return matcher indices */ &kMatcherIndices[126], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [88] */ + /* num parameters */ 4, + /* num template types */ 2, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[0], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[355], + /* return matcher indices */ &kMatcherIndices[126], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [89] */ + /* num parameters */ 5, + /* num template types */ 3, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[0], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[285], + /* return matcher indices */ &kMatcherIndices[126], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [90] */ /* num parameters */ 3, /* num template types */ 0, /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[585], - /* return matcher indices */ nullptr, + /* parameters */ &kParameters[447], + /* return matcher indices */ &kMatcherIndices[102], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [91] */ + /* num parameters */ 4, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[431], + /* return matcher indices */ &kMatcherIndices[102], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [92] */ + /* num parameters */ 4, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[2], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[419], + /* return matcher indices */ &kMatcherIndices[102], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [93] */ + /* num parameters */ 5, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[2], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[265], + /* return matcher indices */ &kMatcherIndices[102], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [94] */ + /* num parameters */ 3, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[573], + /* return matcher indices */ &kMatcherIndices[102], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [95] */ + /* num parameters */ 4, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[2], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[407], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -9481,8 +9491,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[27], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], - /* return matcher indices */ &kMatcherIndices[110], + /* parameters */ &kParameters[1019], + /* return matcher indices */ &kMatcherIndices[104], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, }, @@ -9493,8 +9503,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[957], - /* return matcher indices */ &kMatcherIndices[110], + /* parameters */ &kParameters[959], + /* return matcher indices */ &kMatcherIndices[104], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, }, @@ -9505,8 +9515,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[902], - /* return matcher indices */ &kMatcherIndices[110], + /* parameters */ &kParameters[960], + /* return matcher indices */ &kMatcherIndices[104], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecSplat, }, @@ -9517,8 +9527,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[492], - /* return matcher indices */ &kMatcherIndices[110], + /* parameters */ &kParameters[495], + /* return matcher indices */ &kMatcherIndices[104], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitS, }, @@ -9529,8 +9539,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[761], - /* return matcher indices */ &kMatcherIndices[110], + /* parameters */ &kParameters[783], + /* return matcher indices */ &kMatcherIndices[104], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitM, }, @@ -9541,8 +9551,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[765], - /* return matcher indices */ &kMatcherIndices[110], + /* parameters */ &kParameters[727], + /* return matcher indices */ &kMatcherIndices[104], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitM, }, @@ -9553,8 +9563,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[12], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[962], - /* return matcher indices */ &kMatcherIndices[102], + /* parameters */ &kParameters[964], + /* return matcher indices */ &kMatcherIndices[108], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, }, @@ -9565,8 +9575,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[963], - /* return matcher indices */ &kMatcherIndices[106], + /* parameters */ &kParameters[965], + /* return matcher indices */ &kMatcherIndices[110], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, }, @@ -9577,8 +9587,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[16], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[964], - /* return matcher indices */ &kMatcherIndices[108], + /* parameters */ &kParameters[966], + /* return matcher indices */ &kMatcherIndices[114], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, }, @@ -9589,8 +9599,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[18], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[965], - /* return matcher indices */ &kMatcherIndices[114], + /* parameters */ &kParameters[967], + /* return matcher indices */ &kMatcherIndices[116], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, }, @@ -9601,8 +9611,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[20], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[966], - /* return matcher indices */ &kMatcherIndices[116], + /* parameters */ &kParameters[968], + /* return matcher indices */ &kMatcherIndices[118], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, }, @@ -9613,7 +9623,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[817], + /* parameters */ &kParameters[818], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -9625,7 +9635,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[816], + /* parameters */ &kParameters[817], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -9637,7 +9647,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[815], + /* parameters */ &kParameters[816], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -9649,7 +9659,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[814], + /* parameters */ &kParameters[815], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -9661,7 +9671,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[813], + /* parameters */ &kParameters[814], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -9673,7 +9683,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[812], + /* parameters */ &kParameters[813], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -9685,7 +9695,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[811], + /* parameters */ &kParameters[812], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -9697,7 +9707,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[810], + /* parameters */ &kParameters[811], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -9709,7 +9719,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[809], + /* parameters */ &kParameters[810], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -9721,7 +9731,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[808], + /* parameters */ &kParameters[809], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -9733,7 +9743,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[763], + /* parameters */ &kParameters[663], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMultiply, @@ -9745,7 +9755,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[775], + /* parameters */ &kParameters[667], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMultiply, @@ -9757,7 +9767,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[777], + /* parameters */ &kParameters[677], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMultiply, @@ -9769,7 +9779,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[801], + /* parameters */ &kParameters[679], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMultiply, @@ -9779,9 +9789,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 2, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[797], + /* parameters */ &kParameters[803], /* return matcher indices */ &kMatcherIndices[10], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMultiply, @@ -9791,9 +9801,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 2, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[799], + /* parameters */ &kParameters[681], /* return matcher indices */ &kMatcherIndices[10], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMultiply, @@ -9803,9 +9813,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 2, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[1], - /* parameters */ &kParameters[597], + /* parameters */ &kParameters[683], /* return matcher indices */ &kMatcherIndices[69], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMultiplyMatVec, @@ -9815,9 +9825,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 2, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[1], - /* parameters */ &kParameters[599], + /* parameters */ &kParameters[685], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMultiplyVecMat, @@ -9827,9 +9837,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 3, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[0], - /* parameters */ &kParameters[613], + /* parameters */ &kParameters[691], /* return matcher indices */ &kMatcherIndices[26], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMultiplyMatMat, @@ -9841,7 +9851,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[27], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[112], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -9853,7 +9863,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[948], + /* parameters */ &kParameters[950], /* return matcher indices */ &kMatcherIndices[112], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -9865,7 +9875,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[949], + /* parameters */ &kParameters[951], /* return matcher indices */ &kMatcherIndices[112], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecSplat, @@ -9877,7 +9887,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[753], + /* parameters */ &kParameters[781], /* return matcher indices */ &kMatcherIndices[112], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::VecInitS, @@ -9889,7 +9899,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[12], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[951], + /* parameters */ &kParameters[953], /* return matcher indices */ &kMatcherIndices[132], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -9901,7 +9911,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[952], + /* parameters */ &kParameters[954], /* return matcher indices */ &kMatcherIndices[130], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -9913,8 +9923,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[16], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[953], - /* return matcher indices */ &kMatcherIndices[126], + /* parameters */ &kParameters[955], + /* return matcher indices */ &kMatcherIndices[128], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, }, @@ -9925,7 +9935,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[18], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[954], + /* parameters */ &kParameters[956], /* return matcher indices */ &kMatcherIndices[124], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -9937,7 +9947,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[20], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[955], + /* parameters */ &kParameters[957], /* return matcher indices */ &kMatcherIndices[120], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -9949,8 +9959,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[7], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[588], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[567], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -9961,8 +9971,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[7], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[447], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[570], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -9973,8 +9983,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[435], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[367], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -9985,8 +9995,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[7], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[594], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[492], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -9997,8 +10007,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[4], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[591], - /* return matcher indices */ &kMatcherIndices[118], + /* parameters */ &kParameters[588], + /* return matcher indices */ &kMatcherIndices[126], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10009,7 +10019,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[8], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[582], + /* parameters */ &kParameters[585], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -10021,7 +10031,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[359], + /* parameters */ &kParameters[395], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -10033,7 +10043,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[5], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[570], + /* parameters */ &kParameters[591], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -10045,8 +10055,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[1], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[609], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[601], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10057,8 +10067,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[375], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[439], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -10069,8 +10079,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[190], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[215], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -10081,8 +10091,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[150], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[205], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -10094,7 +10104,7 @@ constexpr OverloadInfo kOverloads[] = { /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[132], - /* return matcher indices */ &kMatcherIndices[128], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -10105,8 +10115,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[383], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[371], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -10117,8 +10127,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[210], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[155], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -10129,8 +10139,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[391], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[383], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -10141,8 +10151,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[235], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[150], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, @@ -10154,7 +10164,7 @@ constexpr OverloadInfo kOverloads[] = { /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[250], - /* return matcher indices */ &kMatcherIndices[128], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10165,8 +10175,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[72], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[78], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10177,8 +10187,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[78], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[90], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10190,7 +10200,7 @@ constexpr OverloadInfo kOverloads[] = { /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[65], - /* return matcher indices */ &kMatcherIndices[128], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10201,8 +10211,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[270], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[195], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10213,8 +10223,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[90], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[120], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10225,8 +10235,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[280], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[290], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10237,8 +10247,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[138], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[144], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10247,9 +10257,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 0, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[182], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -10259,9 +10269,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1001], + /* parameters */ &kParameters[1003], /* return matcher indices */ &kMatcherIndices[182], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -10271,9 +10281,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 6, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[114], + /* parameters */ &kParameters[102], /* return matcher indices */ &kMatcherIndices[182], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitS, @@ -10283,9 +10293,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[453], + /* parameters */ &kParameters[546], /* return matcher indices */ &kMatcherIndices[182], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitV, @@ -10297,7 +10307,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1004], + /* parameters */ &kParameters[1006], /* return matcher indices */ &kMatcherIndices[186], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -10309,7 +10319,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[12], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1005], + /* parameters */ &kParameters[1007], /* return matcher indices */ &kMatcherIndices[184], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -10321,9 +10331,9 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[443], + /* parameters */ &kParameters[363], /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, { @@ -10333,9 +10343,9 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[225], + /* parameters */ &kParameters[175], /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, { @@ -10345,9 +10355,9 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[255], + /* parameters */ &kParameters[185], /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, { @@ -10359,7 +10369,7 @@ constexpr OverloadInfo kOverloads[] = { /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[108], /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, { @@ -10369,9 +10379,9 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[303], + /* parameters */ &kParameters[379], /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, { @@ -10381,163 +10391,163 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[245], + /* parameters */ &kParameters[200], + /* return matcher indices */ &kMatcherIndices[62], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* const eval */ nullptr, + }, + { + /* [172] */ + /* num parameters */ 4, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[299], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, - { - /* [172] */ - /* num parameters */ 0, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], - /* return matcher indices */ &kMatcherIndices[176], - /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::Zero, - }, { /* [173] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[995], - /* return matcher indices */ &kMatcherIndices[176], - /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::Identity, - }, - { - /* [174] */ - /* num parameters */ 8, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[57], - /* return matcher indices */ &kMatcherIndices[176], - /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::MatInitS, - }, - { - /* [175] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[795], - /* return matcher indices */ &kMatcherIndices[176], - /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::MatInitV, - }, - { - /* [176] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[14], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[998], - /* return matcher indices */ &kMatcherIndices[180], - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::Conv, - }, - { - /* [177] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[12], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[999], - /* return matcher indices */ &kMatcherIndices[178], - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::Conv, - }, - { - /* [178] */ - /* num parameters */ 4, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[403], - /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), - /* const eval */ nullptr, - }, - { - /* [179] */ /* num parameters */ 5, /* num template types */ 0, /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[260], + /* parameters */ &kParameters[280], /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { - /* [180] */ + /* [174] */ /* num parameters */ 5, /* num template types */ 1, /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[275], + /* parameters */ &kParameters[270], /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { - /* [181] */ + /* [175] */ /* num parameters */ 6, /* num template types */ 1, /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[120], + /* parameters */ &kParameters[114], /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { - /* [182] */ + /* [176] */ /* num parameters */ 4, /* num template types */ 0, /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[411], + /* parameters */ &kParameters[315], /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { - /* [183] */ + /* [177] */ /* num parameters */ 5, /* num template types */ 1, /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[160], + /* parameters */ &kParameters[255], /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, + { + /* [178] */ + /* num parameters */ 0, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[1019], + /* return matcher indices */ &kMatcherIndices[176], + /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::Zero, + }, + { + /* [179] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[997], + /* return matcher indices */ &kMatcherIndices[176], + /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::Identity, + }, + { + /* [180] */ + /* num parameters */ 8, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[23], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[49], + /* return matcher indices */ &kMatcherIndices[176], + /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::MatInitS, + }, + { + /* [181] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[23], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[801], + /* return matcher indices */ &kMatcherIndices[176], + /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::MatInitV, + }, + { + /* [182] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[14], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[1000], + /* return matcher indices */ &kMatcherIndices[180], + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::Conv, + }, + { + /* [183] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[12], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[1001], + /* return matcher indices */ &kMatcherIndices[178], + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::Conv, + }, { /* [184] */ /* num parameters */ 0, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[226], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -10547,9 +10557,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[935], + /* parameters */ &kParameters[937], /* return matcher indices */ &kMatcherIndices[226], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -10559,7 +10569,7 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 16, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[0], /* return matcher indices */ &kMatcherIndices[226], @@ -10571,9 +10581,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 4, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[419], + /* parameters */ &kParameters[415], /* return matcher indices */ &kMatcherIndices[226], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitV, @@ -10585,7 +10595,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[852], + /* parameters */ &kParameters[840], /* return matcher indices */ &kMatcherIndices[228], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -10609,8 +10619,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[327], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[403], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10621,8 +10631,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[180], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[240], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10633,8 +10643,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[185], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[245], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10645,8 +10655,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[126], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[84], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10657,8 +10667,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[311], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[387], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10669,8 +10679,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[2], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[220], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[170], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -10679,9 +10689,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 0, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[206], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -10691,9 +10701,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[956], + /* parameters */ &kParameters[958], /* return matcher indices */ &kMatcherIndices[206], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -10703,9 +10713,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 12, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[16], + /* parameters */ &kParameters[28], /* return matcher indices */ &kMatcherIndices[206], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitS, @@ -10715,9 +10725,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 4, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[315], + /* parameters */ &kParameters[411], /* return matcher indices */ &kMatcherIndices[206], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitV, @@ -10729,7 +10739,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[941], + /* parameters */ &kParameters[943], /* return matcher indices */ &kMatcherIndices[220], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -10741,8 +10751,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[12], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[938], - /* return matcher indices */ &kMatcherIndices[218], + /* parameters */ &kParameters[940], + /* return matcher indices */ &kMatcherIndices[216], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, }, @@ -10751,9 +10761,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 0, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[168], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -10763,9 +10773,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[989], + /* parameters */ &kParameters[991], /* return matcher indices */ &kMatcherIndices[168], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -10775,9 +10785,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 6, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[84], + /* parameters */ &kParameters[126], /* return matcher indices */ &kMatcherIndices[168], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitS, @@ -10787,9 +10797,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[793], + /* parameters */ &kParameters[799], /* return matcher indices */ &kMatcherIndices[168], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitV, @@ -10801,7 +10811,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[992], + /* parameters */ &kParameters[994], /* return matcher indices */ &kMatcherIndices[174], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -10813,7 +10823,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[12], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[993], + /* parameters */ &kParameters[995], /* return matcher indices */ &kMatcherIndices[170], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -10823,9 +10833,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 0, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[160], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -10835,9 +10845,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[983], + /* parameters */ &kParameters[985], /* return matcher indices */ &kMatcherIndices[160], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -10847,9 +10857,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 4, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[399], + /* parameters */ &kParameters[375], /* return matcher indices */ &kMatcherIndices[160], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitS, @@ -10859,7 +10869,7 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[791], /* return matcher indices */ &kMatcherIndices[160], @@ -10873,7 +10883,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[986], + /* parameters */ &kParameters[988], /* return matcher indices */ &kMatcherIndices[166], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -10885,7 +10895,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[12], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[987], + /* parameters */ &kParameters[989], /* return matcher indices */ &kMatcherIndices[164], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -10895,9 +10905,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 0, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[194], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -10907,9 +10917,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1013], + /* parameters */ &kParameters[1015], /* return matcher indices */ &kMatcherIndices[194], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -10919,9 +10929,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 12, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[28], + /* parameters */ &kParameters[16], /* return matcher indices */ &kMatcherIndices[194], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitS, @@ -10931,9 +10941,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[504], + /* parameters */ &kParameters[576], /* return matcher indices */ &kMatcherIndices[194], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitV, @@ -10945,7 +10955,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1012], + /* parameters */ &kParameters[1014], /* return matcher indices */ &kMatcherIndices[198], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -10957,7 +10967,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[12], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1006], + /* parameters */ &kParameters[1008], /* return matcher indices */ &kMatcherIndices[196], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -10967,9 +10977,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 0, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[188], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -10979,9 +10989,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1007], + /* parameters */ &kParameters[1009], /* return matcher indices */ &kMatcherIndices[188], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -10991,7 +11001,7 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 9, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[40], /* return matcher indices */ &kMatcherIndices[188], @@ -11003,9 +11013,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[450], + /* parameters */ &kParameters[561], /* return matcher indices */ &kMatcherIndices[188], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitV, @@ -11017,7 +11027,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1010], + /* parameters */ &kParameters[1012], /* return matcher indices */ &kMatcherIndices[192], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -11029,7 +11039,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[12], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1011], + /* parameters */ &kParameters[1013], /* return matcher indices */ &kMatcherIndices[190], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -11039,9 +11049,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 0, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[200], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -11051,9 +11061,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1000], + /* parameters */ &kParameters[1002], /* return matcher indices */ &kMatcherIndices[200], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -11063,9 +11073,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 8, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[49], + /* parameters */ &kParameters[57], /* return matcher indices */ &kMatcherIndices[200], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitS, @@ -11075,9 +11085,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 4, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[439], + /* parameters */ &kParameters[399], /* return matcher indices */ &kMatcherIndices[200], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::MatInitV, @@ -11089,7 +11099,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[14], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[982], + /* parameters */ &kParameters[984], /* return matcher indices */ &kMatcherIndices[204], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -11101,7 +11111,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[12], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[967], + /* parameters */ &kParameters[969], /* return matcher indices */ &kMatcherIndices[202], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -11113,7 +11123,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[669], + /* parameters */ &kParameters[619], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpPlus, @@ -11125,7 +11135,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[671], + /* parameters */ &kParameters[621], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpPlus, @@ -11137,7 +11147,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[685], + /* parameters */ &kParameters[625], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpPlus, @@ -11149,7 +11159,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[695], + /* parameters */ &kParameters[629], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpPlus, @@ -11159,9 +11169,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 2, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[701], + /* parameters */ &kParameters[641], /* return matcher indices */ &kMatcherIndices[10], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpPlus, @@ -11173,7 +11183,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[745], + /* parameters */ &kParameters[645], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMinus, @@ -11185,7 +11195,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[747], + /* parameters */ &kParameters[649], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMinus, @@ -11197,7 +11207,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[755], + /* parameters */ &kParameters[651], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMinus, @@ -11209,7 +11219,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[757], + /* parameters */ &kParameters[655], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMinus, @@ -11219,9 +11229,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 2, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[759], + /* parameters */ &kParameters[659], /* return matcher indices */ &kMatcherIndices[10], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpMinus, @@ -11233,7 +11243,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[822], + /* parameters */ &kParameters[823], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11245,7 +11255,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[821], + /* parameters */ &kParameters[822], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11257,7 +11267,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[820], + /* parameters */ &kParameters[821], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11269,7 +11279,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[819], + /* parameters */ &kParameters[820], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11281,7 +11291,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 2, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[3], - /* parameters */ &kParameters[818], + /* parameters */ &kParameters[819], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11293,8 +11303,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[679], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[721], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpOr, }, @@ -11305,8 +11315,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[681], - /* return matcher indices */ &kMatcherIndices[36], + /* parameters */ &kParameters[723], + /* return matcher indices */ &kMatcherIndices[39], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpOr, }, @@ -11317,7 +11327,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[36], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[683], + /* parameters */ &kParameters[725], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpOr, @@ -11329,7 +11339,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[36], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[693], + /* parameters */ &kParameters[729], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpOr, @@ -11339,9 +11349,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[725], + /* parameters */ &kParameters[757], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpShiftLeft, @@ -11351,9 +11361,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[737], + /* parameters */ &kParameters[759], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpShiftLeft, @@ -11365,7 +11375,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[35], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[739], + /* parameters */ &kParameters[771], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpShiftLeft, @@ -11377,7 +11387,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[35], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[741], + /* parameters */ &kParameters[773], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpShiftLeft, @@ -11389,7 +11399,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[619], + /* parameters */ &kParameters[693], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpDivide, @@ -11401,7 +11411,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[625], + /* parameters */ &kParameters[695], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpDivide, @@ -11413,7 +11423,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[647], + /* parameters */ &kParameters[697], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpDivide, @@ -11425,7 +11435,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[651], + /* parameters */ &kParameters[699], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpDivide, @@ -11435,9 +11445,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[22], + /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[655], + /* parameters */ &kParameters[701], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11447,9 +11457,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[22], + /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[659], + /* parameters */ &kParameters[703], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11459,9 +11469,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[22], + /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[661], + /* parameters */ &kParameters[705], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11471,9 +11481,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[22], + /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[663], + /* parameters */ &kParameters[707], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11485,8 +11495,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[667], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[713], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpAnd, }, @@ -11497,8 +11507,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[673], - /* return matcher indices */ &kMatcherIndices[36], + /* parameters */ &kParameters[715], + /* return matcher indices */ &kMatcherIndices[39], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpAnd, }, @@ -11509,7 +11519,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[36], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[675], + /* parameters */ &kParameters[717], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpAnd, @@ -11521,7 +11531,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[36], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[677], + /* parameters */ &kParameters[719], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpAnd, @@ -11533,8 +11543,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[1019], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, }, @@ -11545,8 +11555,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[945], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[947], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, }, @@ -11557,8 +11567,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[29], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[946], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[948], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, }, @@ -11569,7 +11579,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[6], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -11581,7 +11591,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[942], + /* parameters */ &kParameters[944], /* return matcher indices */ &kMatcherIndices[6], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -11593,7 +11603,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[30], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[943], + /* parameters */ &kParameters[945], /* return matcher indices */ &kMatcherIndices[6], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -11605,7 +11615,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -11617,7 +11627,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[939], + /* parameters */ &kParameters[941], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -11629,7 +11639,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[31], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[940], + /* parameters */ &kParameters[942], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -11641,7 +11651,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[456], + /* parameters */ &kParameters[552], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::select_bool, @@ -11653,7 +11663,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[549], + /* parameters */ &kParameters[555], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::select_bool, @@ -11665,7 +11675,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[552], + /* parameters */ &kParameters[558], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::select_boolvec, @@ -11677,7 +11687,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -11689,7 +11699,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[936], + /* parameters */ &kParameters[938], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -11701,7 +11711,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[32], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[937], + /* parameters */ &kParameters[939], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -11713,7 +11723,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], + /* parameters */ &kParameters[1019], /* return matcher indices */ &kMatcherIndices[4], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Zero, @@ -11725,7 +11735,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[933], + /* parameters */ &kParameters[935], /* return matcher indices */ &kMatcherIndices[4], /* flags */ OverloadFlags(OverloadFlag::kIsInitializer, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Identity, @@ -11735,9 +11745,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[34], + /* template types */ &kTemplateTypes[33], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[934], + /* parameters */ &kParameters[936], /* return matcher indices */ &kMatcherIndices[4], /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::Conv, @@ -11747,7 +11757,7 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[477], /* return matcher indices */ &kMatcherIndices[1], @@ -11759,7 +11769,7 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], /* parameters */ &kParameters[480], /* return matcher indices */ &kMatcherIndices[30], @@ -11771,7 +11781,7 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], /* parameters */ &kParameters[483], /* return matcher indices */ &kMatcherIndices[30], @@ -11785,8 +11795,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[869], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[871], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpNot, }, @@ -11797,8 +11807,8 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[870], - /* return matcher indices */ &kMatcherIndices[36], + /* parameters */ &kParameters[872], + /* return matcher indices */ &kMatcherIndices[39], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpNot, }, @@ -11809,7 +11819,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[899], + /* parameters */ &kParameters[902], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -11821,7 +11831,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[898], + /* parameters */ &kParameters[901], /* return matcher indices */ &kMatcherIndices[60], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -11831,9 +11841,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[901], + /* parameters */ &kParameters[904], /* return matcher indices */ &kMatcherIndices[172], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11843,9 +11853,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[900], + /* parameters */ &kParameters[903], /* return matcher indices */ &kMatcherIndices[78], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11857,7 +11867,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[895], + /* parameters */ &kParameters[898], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -11869,7 +11879,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[894], + /* parameters */ &kParameters[897], /* return matcher indices */ &kMatcherIndices[60], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -11879,7 +11889,7 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 4, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[423], /* return matcher indices */ &kMatcherIndices[1], @@ -11891,7 +11901,7 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 4, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[6], /* parameters */ &kParameters[427], /* return matcher indices */ &kMatcherIndices[30], @@ -11903,9 +11913,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[893], + /* parameters */ &kParameters[896], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11915,9 +11925,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[892], + /* parameters */ &kParameters[895], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11927,9 +11937,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[607], + /* parameters */ &kParameters[689], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11939,9 +11949,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[629], + /* parameters */ &kParameters[687], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11951,9 +11961,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[891], + /* parameters */ &kParameters[894], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11963,9 +11973,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[890], + /* parameters */ &kParameters[893], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11975,9 +11985,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[889], + /* parameters */ &kParameters[892], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11987,9 +11997,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[888], + /* parameters */ &kParameters[891], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -11999,9 +12009,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[887], + /* parameters */ &kParameters[890], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12011,9 +12021,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[886], + /* parameters */ &kParameters[889], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12023,9 +12033,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[22], + /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[773], + /* parameters */ &kParameters[675], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12035,9 +12045,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[22], + /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[771], + /* parameters */ &kParameters[673], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12047,9 +12057,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[22], + /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[769], + /* parameters */ &kParameters[671], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12059,9 +12069,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[22], + /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[767], + /* parameters */ &kParameters[669], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12071,9 +12081,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[904], + /* parameters */ &kParameters[906], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12083,9 +12093,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[903], + /* parameters */ &kParameters[905], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12095,9 +12105,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[885], + /* parameters */ &kParameters[888], /* return matcher indices */ &kMatcherIndices[134], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12107,9 +12117,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[884], + /* parameters */ &kParameters[887], /* return matcher indices */ &kMatcherIndices[96], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12119,9 +12129,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[519], + /* parameters */ &kParameters[453], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12131,9 +12141,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[522], + /* parameters */ &kParameters[450], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12141,59 +12151,59 @@ constexpr OverloadInfo kOverloads[] = { { /* [318] */ /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[897], - /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), - /* const eval */ nullptr, - }, - { - /* [319] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[896], - /* return matcher indices */ &kMatcherIndices[60], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), - /* const eval */ nullptr, - }, - { - /* [320] */ - /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[906], + /* parameters */ &kParameters[908], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { - /* [321] */ + /* [319] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[905], + /* parameters */ &kParameters[907], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, + { + /* [320] */ + /* num parameters */ 1, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[900], + /* return matcher indices */ &kMatcherIndices[62], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* const eval */ nullptr, + }, + { + /* [321] */ + /* num parameters */ 1, + /* num template types */ 0, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[899], + /* return matcher indices */ &kMatcherIndices[60], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* const eval */ nullptr, + }, { /* [322] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[910], + /* parameters */ &kParameters[912], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::firstLeadingBit, @@ -12203,9 +12213,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[909], + /* parameters */ &kParameters[911], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::firstLeadingBit, @@ -12215,9 +12225,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[510], + /* parameters */ &kParameters[594], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12227,9 +12237,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[513], + /* parameters */ &kParameters[459], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12239,9 +12249,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[912], + /* parameters */ &kParameters[914], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12251,9 +12261,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[911], + /* parameters */ &kParameters[913], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12263,9 +12273,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[691], + /* parameters */ &kParameters[637], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12275,9 +12285,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[689], + /* parameters */ &kParameters[633], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12285,24 +12295,24 @@ constexpr OverloadInfo kOverloads[] = { { /* [330] */ /* num parameters */ 1, - /* num template types */ 1, + /* num template types */ 0, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[877], - /* return matcher indices */ &kMatcherIndices[1], + /* parameters */ &kParameters[880], + /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [331] */ /* num parameters */ 1, - /* num template types */ 1, + /* num template types */ 0, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[876], - /* return matcher indices */ &kMatcherIndices[30], + /* parameters */ &kParameters[879], + /* return matcher indices */ &kMatcherIndices[60], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -12311,9 +12321,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[875], + /* parameters */ &kParameters[878], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12323,9 +12333,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[913], + /* parameters */ &kParameters[877], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12333,59 +12343,59 @@ constexpr OverloadInfo kOverloads[] = { { /* [334] */ /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[915], - /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), - /* const eval */ nullptr, - }, - { - /* [335] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[914], - /* return matcher indices */ &kMatcherIndices[60], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), - /* const eval */ nullptr, - }, - { - /* [336] */ - /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[867], + /* parameters */ &kParameters[916], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { - /* [337] */ + /* [335] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[866], + /* parameters */ &kParameters[915], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, + { + /* [336] */ + /* num parameters */ 1, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[918], + /* return matcher indices */ &kMatcherIndices[62], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* const eval */ nullptr, + }, + { + /* [337] */ + /* num parameters */ 1, + /* num template types */ 0, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[917], + /* return matcher indices */ &kMatcherIndices[60], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* const eval */ nullptr, + }, { /* [338] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[865], + /* parameters */ &kParameters[869], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12395,9 +12405,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[864], + /* parameters */ &kParameters[868], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12407,73 +12417,73 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[863], + /* parameters */ &kParameters[867], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::saturate, + /* const eval */ nullptr, }, { /* [341] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[862], + /* parameters */ &kParameters[866], + /* return matcher indices */ &kMatcherIndices[30], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [342] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[23], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[865], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::saturate, + }, + { + /* [343] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[23], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[864], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::saturate, }, { - /* [342] */ + /* [344] */ /* num parameters */ 1, /* num template types */ 0, /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[917], + /* parameters */ &kParameters[921], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, { - /* [343] */ + /* [345] */ /* num parameters */ 1, /* num template types */ 0, /* num template numbers */ 1, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[916], + /* parameters */ &kParameters[920], /* return matcher indices */ &kMatcherIndices[60], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, - { - /* [344] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[861], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::sign, - }, - { - /* [345] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[24], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[860], - /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::sign, - }, { /* [346] */ /* num parameters */ 1, @@ -12481,10 +12491,10 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[859], + /* parameters */ &kParameters[863], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, + /* const eval */ &ConstEval::sign, }, { /* [347] */ @@ -12493,19 +12503,19 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[858], + /* parameters */ &kParameters[862], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, + /* const eval */ &ConstEval::sign, }, { /* [348] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[856], + /* parameters */ &kParameters[861], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12515,109 +12525,109 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[855], + /* parameters */ &kParameters[858], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [350] */ - /* num parameters */ 3, + /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[573], + /* parameters */ &kParameters[857], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [351] */ - /* num parameters */ 3, + /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[576], + /* parameters */ &kParameters[856], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [352] */ - /* num parameters */ 1, + /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[854], + /* parameters */ &kParameters[579], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [353] */ - /* num parameters */ 1, + /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[853], + /* parameters */ &kParameters[582], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [354] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[855], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [355] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[854], + /* return matcher indices */ &kMatcherIndices[30], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [356] */ /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[603], + /* parameters */ &kParameters[599], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::step, }, { - /* [355] */ + /* [357] */ /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[601], + /* parameters */ &kParameters[597], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::step, }, - { - /* [356] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[920], - /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), - /* const eval */ nullptr, - }, - { - /* [357] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[918], - /* return matcher indices */ &kMatcherIndices[60], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), - /* const eval */ nullptr, - }, { /* [358] */ /* num parameters */ 1, @@ -12625,7 +12635,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[922], + /* parameters */ &kParameters[923], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -12637,7 +12647,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[921], + /* parameters */ &kParameters[1016], /* return matcher indices */ &kMatcherIndices[60], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -12647,9 +12657,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[849], + /* parameters */ &kParameters[852], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12659,9 +12669,9 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[848], + /* parameters */ &kParameters[851], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12669,73 +12679,73 @@ constexpr OverloadInfo kOverloads[] = { { /* [362] */ /* num parameters */ 1, - /* num template types */ 0, + /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[924], - /* return matcher indices */ &kMatcherIndices[62], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* parameters */ &kParameters[850], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [363] */ /* num parameters */ 1, - /* num template types */ 0, + /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[38], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[923], - /* return matcher indices */ &kMatcherIndices[60], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* parameters */ &kParameters[849], + /* return matcher indices */ &kMatcherIndices[30], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [364] */ /* num parameters */ 1, - /* num template types */ 1, + /* num template types */ 0, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[846], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* parameters */ &kParameters[925], + /* return matcher indices */ &kMatcherIndices[62], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, { /* [365] */ /* num parameters */ 1, - /* num template types */ 1, + /* num template types */ 0, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[845], - /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* parameters */ &kParameters[924], + /* return matcher indices */ &kMatcherIndices[60], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, }, { /* [366] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[749], + /* parameters */ &kParameters[847], /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [367] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[751], + /* parameters */ &kParameters[846], /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { @@ -12745,7 +12755,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[926], + /* parameters */ &kParameters[927], /* return matcher indices */ &kMatcherIndices[62], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -12757,7 +12767,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[925], + /* parameters */ &kParameters[926], /* return matcher indices */ &kMatcherIndices[60], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* const eval */ nullptr, @@ -12767,48 +12777,48 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[28], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[721], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[775], + /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpGreaterThanEqual, + /* const eval */ nullptr, }, { /* [371] */ /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[22], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[723], - /* return matcher indices */ &kMatcherIndices[36], + /* parameters */ &kParameters[779], + /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpGreaterThanEqual, + /* const eval */ nullptr, }, { /* [372] */ - /* num parameters */ 2, - /* num template types */ 1, + /* num parameters */ 1, + /* num template types */ 0, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[28], + /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[717], - /* return matcher indices */ &kMatcherIndices[38], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpLessThanEqual, + /* parameters */ &kParameters[929], + /* return matcher indices */ &kMatcherIndices[62], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* const eval */ nullptr, }, { /* [373] */ - /* num parameters */ 2, - /* num template types */ 1, + /* num parameters */ 1, + /* num template types */ 0, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[28], + /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[719], - /* return matcher indices */ &kMatcherIndices[36], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpLessThanEqual, + /* parameters */ &kParameters[928], + /* return matcher indices */ &kMatcherIndices[60], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), + /* const eval */ nullptr, }, { /* [374] */ @@ -12817,22 +12827,22 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[713], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[753], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpGreaterThan, + /* const eval */ &ConstEval::OpGreaterThanEqual, }, { /* [375] */ /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[28], + /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[715], - /* return matcher indices */ &kMatcherIndices[36], + /* parameters */ &kParameters[755], + /* return matcher indices */ &kMatcherIndices[39], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpGreaterThan, + /* const eval */ &ConstEval::OpGreaterThanEqual, }, { /* [376] */ @@ -12841,10 +12851,10 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[711], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[749], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpLessThan, + /* const eval */ &ConstEval::OpLessThanEqual, }, { /* [377] */ @@ -12853,56 +12863,56 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[789], - /* return matcher indices */ &kMatcherIndices[36], + /* parameters */ &kParameters[751], + /* return matcher indices */ &kMatcherIndices[39], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpLessThan, + /* const eval */ &ConstEval::OpLessThanEqual, }, { /* [378] */ /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[735], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, + /* parameters */ &kParameters[745], + /* return matcher indices */ &kMatcherIndices[41], + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpGreaterThan, }, { /* [379] */ /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[733], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, + /* parameters */ &kParameters[747], + /* return matcher indices */ &kMatcherIndices[39], + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpGreaterThan, }, { /* [380] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[929], + /* parameters */ &kParameters[769], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [381] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[928], - /* return matcher indices */ &kMatcherIndices[30], + /* parameters */ &kParameters[767], + /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -12913,7 +12923,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1015], + /* parameters */ &kParameters[932], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12925,7 +12935,7 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[1009], + /* parameters */ &kParameters[931], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -12937,10 +12947,10 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 0, /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[931], + /* parameters */ &kParameters[1018], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::countTrailingZeros, + /* const eval */ nullptr, }, { /* [385] */ @@ -12949,49 +12959,73 @@ constexpr OverloadInfo kOverloads[] = { /* num template numbers */ 1, /* template types */ &kTemplateTypes[25], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[930], + /* parameters */ &kParameters[853], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::countTrailingZeros, + /* const eval */ nullptr, }, { /* [386] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[944], + /* parameters */ &kParameters[952], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::countOneBits, + /* const eval */ &ConstEval::countTrailingZeros, }, { /* [387] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[932], + /* parameters */ &kParameters[933], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::countOneBits, + /* const eval */ &ConstEval::countTrailingZeros, }, { /* [388] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[962], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::countOneBits, + }, + { + /* [389] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[961], + /* return matcher indices */ &kMatcherIndices[30], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::countOneBits, + }, + { + /* [390] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 0, /* template types */ &kTemplateTypes[0], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[988], + /* parameters */ &kParameters[808], /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { - /* [389] */ + /* [391] */ /* num parameters */ 1, /* num template types */ 0, /* num template numbers */ 0, @@ -13002,86 +13036,62 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, - { - /* [390] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[950], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::countLeadingZeros, - }, - { - /* [391] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[947], - /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::countLeadingZeros, - }, { /* [392] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[959], + /* parameters */ &kParameters[972], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, + /* const eval */ &ConstEval::countLeadingZeros, }, { /* [393] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[24], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[958], + /* parameters */ &kParameters[963], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, + /* const eval */ &ConstEval::countLeadingZeros, }, { /* [394] */ /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[26], + /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[707], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[741], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpNotEqual, + /* const eval */ &ConstEval::OpLessThan, }, { /* [395] */ /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[26], + /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[709], - /* return matcher indices */ &kMatcherIndices[36], + /* parameters */ &kParameters[743], + /* return matcher indices */ &kMatcherIndices[39], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpNotEqual, + /* const eval */ &ConstEval::OpLessThan, }, { /* [396] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[961], + /* parameters */ &kParameters[974], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -13091,346 +13101,346 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[960], + /* parameters */ &kParameters[973], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [398] */ - /* num parameters */ 3, + /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[28], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[471], + /* parameters */ &kParameters[976], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::clamp, + /* const eval */ nullptr, }, { /* [399] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[975], + /* return matcher indices */ &kMatcherIndices[30], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [400] */ + /* num parameters */ 3, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[28], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[540], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::clamp, + }, + { + /* [401] */ /* num parameters */ 3, /* num template types */ 1, /* num template numbers */ 1, /* template types */ &kTemplateTypes[28], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[474], + /* parameters */ &kParameters[537], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::clamp, }, - { - /* [400] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[971], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [401] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[970], - /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, { /* [402] */ - /* num parameters */ 3, - /* num template types */ 0, + /* num parameters */ 1, + /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[537], - /* return matcher indices */ &kMatcherIndices[128], + /* parameters */ &kParameters[978], + /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [403] */ - /* num parameters */ 3, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[540], - /* return matcher indices */ &kMatcherIndices[128], + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[977], + /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [404] */ - /* num parameters */ 1, - /* num template types */ 1, + /* num parameters */ 3, + /* num template types */ 0, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[973], - /* return matcher indices */ &kMatcherIndices[1], + /* parameters */ &kParameters[510], + /* return matcher indices */ &kMatcherIndices[102], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::atanh, + /* const eval */ nullptr, }, { /* [405] */ + /* num parameters */ 3, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[513], + /* return matcher indices */ &kMatcherIndices[102], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [406] */ /* num parameters */ 1, /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[24], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[972], - /* return matcher indices */ &kMatcherIndices[30], + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[23], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[987], + /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::atanh, }, - { - /* [406] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[781], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::atan2, - }, { /* [407] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[779], + /* parameters */ &kParameters[986], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::atan2, + /* const eval */ &ConstEval::atanh, }, { /* [408] */ /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[26], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[703], - /* return matcher indices */ &kMatcherIndices[38], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpEqual, + /* parameters */ &kParameters[797], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::atan2, }, { /* [409] */ /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, + /* template types */ &kTemplateTypes[23], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[793], + /* return matcher indices */ &kMatcherIndices[30], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::atan2, + }, + { + /* [410] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[26], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[739], + /* return matcher indices */ &kMatcherIndices[41], + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpNotEqual, + }, + { + /* [411] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[705], - /* return matcher indices */ &kMatcherIndices[36], + /* parameters */ &kParameters[805], + /* return matcher indices */ &kMatcherIndices[39], + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpNotEqual, + }, + { + /* [412] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[26], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[735], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::OpEqual, }, - { - /* [410] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[975], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::atan, - }, - { - /* [411] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[24], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[974], - /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::atan, - }, - { - /* [412] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[977], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::asinh, - }, { /* [413] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[26], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[976], - /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::asinh, + /* parameters */ &kParameters[737], + /* return matcher indices */ &kMatcherIndices[39], + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpEqual, }, { /* [414] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[36], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[805], + /* parameters */ &kParameters[993], /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpXor, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::atan, }, { /* [415] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[36], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[665], + /* parameters */ &kParameters[992], /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpXor, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::atan, }, { /* [416] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[985], + /* parameters */ &kParameters[999], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::asin, + /* const eval */ &ConstEval::asinh, }, { /* [417] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[24], + /* template types */ &kTemplateTypes[23], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[984], + /* parameters */ &kParameters[998], + /* return matcher indices */ &kMatcherIndices[30], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::asinh, + }, + { + /* [418] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[36], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[709], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpXor, + }, + { + /* [419] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[36], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[711], + /* return matcher indices */ &kMatcherIndices[30], + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpXor, + }, + { + /* [420] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[23], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[1005], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::asin, + }, + { + /* [421] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[23], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[1004], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::asin, }, { - /* [418] */ + /* [422] */ /* num parameters */ 1, /* num template types */ 0, /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[991], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[922], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::any, }, { - /* [419] */ + /* [423] */ /* num parameters */ 1, /* num template types */ 0, /* num template numbers */ 1, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[990], - /* return matcher indices */ &kMatcherIndices[38], + /* parameters */ &kParameters[1011], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::any, }, { - /* [420] */ + /* [424] */ /* num parameters */ 1, /* num template types */ 0, /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], /* parameters */ &kParameters[996], - /* return matcher indices */ &kMatcherIndices[38], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [421] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[994], - /* return matcher indices */ &kMatcherIndices[38], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [422] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1002], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [423] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[997], - /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [424] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1008], - /* return matcher indices */ &kMatcherIndices[1], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [425] */ /* num parameters */ 1, - /* num template types */ 1, + /* num template types */ 0, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[1003], - /* return matcher indices */ &kMatcherIndices[30], + /* parameters */ &kParameters[1017], + /* return matcher indices */ &kMatcherIndices[41], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -13439,99 +13449,339 @@ constexpr OverloadInfo kOverloads[] = { /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[37], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[873], + /* parameters */ &kParameters[949], /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpUnaryMinus, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, }, { /* [427] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[37], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[874], + /* parameters */ &kParameters[990], /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpUnaryMinus, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, }, { /* [428] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[36], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[871], + /* parameters */ &kParameters[934], /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpComplement, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, }, { /* [429] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[36], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[872], + /* parameters */ &kParameters[946], /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::OpComplement, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, }, { /* [430] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[37], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[851], + /* parameters */ &kParameters[875], /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpUnaryMinus, }, { /* [431] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[37], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[850], + /* parameters */ &kParameters[876], /* return matcher indices */ &kMatcherIndices[30], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpUnaryMinus, }, { /* [432] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[36], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[908], + /* parameters */ &kParameters[873], /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::firstTrailingBit, + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpComplement, }, { /* [433] */ /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], + /* template types */ &kTemplateTypes[36], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[907], + /* parameters */ &kParameters[874], + /* return matcher indices */ &kMatcherIndices[30], + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::OpComplement, + }, + { + /* [434] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[910], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::firstTrailingBit, + }, + { + /* [435] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[909], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ &ConstEval::firstTrailingBit, }, { - /* [434] */ + /* [436] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[34], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[870], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ &ConstEval::Identity, + }, + { + /* [437] */ + /* num parameters */ 3, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[534], + /* return matcher indices */ &kMatcherIndices[208], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [438] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[615], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [439] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[613], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [440] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[611], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [441] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[623], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [442] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[609], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [443] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[607], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [444] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[605], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [445] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[603], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [446] */ + /* num parameters */ 2, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[731], + /* return matcher indices */ &kMatcherIndices[41], + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [447] */ + /* num parameters */ 2, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[733], + /* return matcher indices */ &kMatcherIndices[41], + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [448] */ + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[795], + /* return matcher indices */ nullptr, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [449] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[24], + /* template numbers */ &kTemplateNumbers[9], + /* parameters */ &kParameters[859], + /* return matcher indices */ &kMatcherIndices[1], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [450] */ + /* num parameters */ 0, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[1019], + /* return matcher indices */ nullptr, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [451] */ + /* num parameters */ 0, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[1019], + /* return matcher indices */ nullptr, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [452] */ + /* num parameters */ 1, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[841], + /* return matcher indices */ &kMatcherIndices[102], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [453] */ + /* num parameters */ 1, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[842], + /* return matcher indices */ &kMatcherIndices[102], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [454] */ /* num parameters */ 1, /* num template types */ 0, /* num template numbers */ 0, @@ -13543,223 +13793,7 @@ constexpr OverloadInfo kOverloads[] = { /* const eval */ nullptr, }, { - /* [435] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[649], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [436] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[645], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [437] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[641], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [438] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[637], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [439] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[633], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [440] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[621], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [441] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[617], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [442] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[615], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [443] */ - /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[611], - /* return matcher indices */ nullptr, - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [444] */ - /* num parameters */ 2, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[697], - /* return matcher indices */ &kMatcherIndices[38], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [445] */ - /* num parameters */ 2, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[699], - /* return matcher indices */ &kMatcherIndices[38], - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [446] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[857], - /* return matcher indices */ &kMatcherIndices[1], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [447] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[880], - /* return matcher indices */ &kMatcherIndices[95], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [448] */ - /* num parameters */ 0, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], - /* return matcher indices */ nullptr, - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [449] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[840], - /* return matcher indices */ &kMatcherIndices[128], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [450] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[841], - /* return matcher indices */ &kMatcherIndices[128], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [451] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[842], - /* return matcher indices */ &kMatcherIndices[132], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [452] */ - /* num parameters */ 3, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[25], - /* template numbers */ &kTemplateNumbers[9], - /* parameters */ &kParameters[528], - /* return matcher indices */ &kMatcherIndices[210], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [453] */ + /* [455] */ /* num parameters */ 1, /* num template types */ 0, /* num template numbers */ 0, @@ -13771,74 +13805,50 @@ constexpr OverloadInfo kOverloads[] = { /* const eval */ nullptr, }, { - /* [454] */ + /* [456] */ /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 2, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[5], - /* parameters */ &kParameters[847], - /* return matcher indices */ &kMatcherIndices[22], - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [455] */ - /* num parameters */ 0, /* num template types */ 0, /* num template numbers */ 0, /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[1017], - /* return matcher indices */ nullptr, - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* const eval */ nullptr, - }, - { - /* [456] */ - /* num parameters */ 3, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[525], - /* return matcher indices */ &kMatcherIndices[30], + /* parameters */ &kParameters[845], + /* return matcher indices */ &kMatcherIndices[132], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [457] */ - /* num parameters */ 2, + /* num parameters */ 1, /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[803], - /* return matcher indices */ &kMatcherIndices[30], + /* num template numbers */ 2, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[5], + /* parameters */ &kParameters[848], + /* return matcher indices */ &kMatcherIndices[22], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [458] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[878], - /* return matcher indices */ &kMatcherIndices[95], + /* num parameters */ 3, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[531], + /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [459] */ - /* num parameters */ 1, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[879], - /* return matcher indices */ &kMatcherIndices[95], + /* num parameters */ 2, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[617], + /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -13869,35 +13879,35 @@ constexpr OverloadInfo kOverloads[] = { { /* [462] */ /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[883], - /* return matcher indices */ &kMatcherIndices[30], + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[884], + /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [463] */ - /* num parameters */ 2, - /* num template types */ 1, + /* num parameters */ 1, + /* num template types */ 0, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[38], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[743], - /* return matcher indices */ &kMatcherIndices[110], + /* parameters */ &kParameters[885], + /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [464] */ - /* num parameters */ 3, + /* num parameters */ 1, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[516], + /* parameters */ &kParameters[886], /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, @@ -13905,60 +13915,60 @@ constexpr OverloadInfo kOverloads[] = { { /* [465] */ /* num parameters */ 2, - /* num template types */ 0, + /* num template types */ 1, /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], + /* template types */ &kTemplateTypes[22], /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[727], - /* return matcher indices */ &kMatcherIndices[95], + /* parameters */ &kParameters[777], + /* return matcher indices */ &kMatcherIndices[104], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [466] */ - /* num parameters */ 2, - /* num template types */ 0, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[38], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[729], - /* return matcher indices */ &kMatcherIndices[4], + /* num parameters */ 3, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[456], + /* return matcher indices */ &kMatcherIndices[30], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [467] */ /* num parameters */ 2, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[22], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[731], - /* return matcher indices */ &kMatcherIndices[1], + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[761], + /* return matcher indices */ &kMatcherIndices[95], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [468] */ - /* num parameters */ 1, - /* num template types */ 1, - /* num template numbers */ 1, - /* template types */ &kTemplateTypes[23], - /* template numbers */ &kTemplateNumbers[6], - /* parameters */ &kParameters[927], - /* return matcher indices */ &kMatcherIndices[1], + /* num parameters */ 2, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[763], + /* return matcher indices */ &kMatcherIndices[4], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, { /* [469] */ - /* num parameters */ 1, + /* num parameters */ 2, /* num template types */ 1, /* num template numbers */ 1, - /* template types */ &kTemplateTypes[33], - /* template numbers */ &kTemplateNumbers[8], - /* parameters */ &kParameters[1014], - /* return matcher indices */ &kMatcherIndices[95], + /* template types */ &kTemplateTypes[25], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[765], + /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* const eval */ nullptr, }, @@ -13966,13 +13976,37 @@ constexpr OverloadInfo kOverloads[] = { /* [470] */ /* num parameters */ 1, /* num template types */ 1, - /* num template numbers */ 0, - /* template types */ &kTemplateTypes[33], - /* template numbers */ &kTemplateNumbers[10], - /* parameters */ &kParameters[868], + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[22], + /* template numbers */ &kTemplateNumbers[6], + /* parameters */ &kParameters[930], /* return matcher indices */ &kMatcherIndices[1], /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* const eval */ &ConstEval::Identity, + /* const eval */ nullptr, + }, + { + /* [471] */ + /* num parameters */ 1, + /* num template types */ 1, + /* num template numbers */ 1, + /* template types */ &kTemplateTypes[34], + /* template numbers */ &kTemplateNumbers[8], + /* parameters */ &kParameters[1010], + /* return matcher indices */ &kMatcherIndices[95], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, + }, + { + /* [472] */ + /* num parameters */ 1, + /* num template types */ 0, + /* num template numbers */ 0, + /* template types */ &kTemplateTypes[38], + /* template numbers */ &kTemplateNumbers[10], + /* parameters */ &kParameters[883], + /* return matcher indices */ &kMatcherIndices[95], + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* const eval */ nullptr, }, }; @@ -13982,218 +14016,218 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn abs(T) -> T */ /* fn abs(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[382], + /* overloads */ &kOverloads[384], }, { /* [1] */ /* fn acos(T) -> T */ /* fn acos(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[424], + /* overloads */ &kOverloads[428], }, { /* [2] */ /* fn acosh(T) -> T */ /* fn acosh(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[422], + /* overloads */ &kOverloads[426], }, { /* [3] */ /* fn all(bool) -> bool */ /* fn all(vec) -> bool */ /* num overloads */ 2, - /* overloads */ &kOverloads[420], + /* overloads */ &kOverloads[424], }, { /* [4] */ /* fn any(bool) -> bool */ /* fn any(vec) -> bool */ /* num overloads */ 2, - /* overloads */ &kOverloads[418], + /* overloads */ &kOverloads[422], }, { /* [5] */ /* fn arrayLength(ptr, A>) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[469], + /* overloads */ &kOverloads[471], }, { /* [6] */ /* fn asin(@test_value(0.479425538604) T) -> T */ /* fn asin(@test_value(0.479425538604) vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[416], + /* overloads */ &kOverloads[420], }, { /* [7] */ /* fn asinh(T) -> T */ /* fn asinh(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[412], + /* overloads */ &kOverloads[416], }, { /* [8] */ /* fn atan(T) -> T */ /* fn atan(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[410], + /* overloads */ &kOverloads[414], }, { /* [9] */ /* fn atan2(T, T) -> T */ /* fn atan2(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[406], + /* overloads */ &kOverloads[408], }, { /* [10] */ /* fn atanh(@test_value(0.5) T) -> T */ /* fn atanh(@test_value(0.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[404], + /* overloads */ &kOverloads[406], }, { /* [11] */ /* fn ceil(T) -> T */ /* fn ceil(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[400], + /* overloads */ &kOverloads[402], }, { /* [12] */ /* fn clamp(T, T, T) -> T */ /* fn clamp(vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[398], + /* overloads */ &kOverloads[400], }, { /* [13] */ /* fn cos(T) -> T */ /* fn cos(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[396], + /* overloads */ &kOverloads[398], }, { /* [14] */ /* fn cosh(T) -> T */ /* fn cosh(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[392], + /* overloads */ &kOverloads[396], }, { /* [15] */ /* fn countLeadingZeros(T) -> T */ /* fn countLeadingZeros(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[390], + /* overloads */ &kOverloads[392], }, { /* [16] */ /* fn countOneBits(T) -> T */ /* fn countOneBits(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[386], + /* overloads */ &kOverloads[388], }, { /* [17] */ /* fn countTrailingZeros(T) -> T */ /* fn countTrailingZeros(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[384], + /* overloads */ &kOverloads[386], }, { /* [18] */ /* fn cross(vec3, vec3) -> vec3 */ /* num overloads */ 1, - /* overloads */ &kOverloads[463], + /* overloads */ &kOverloads[465], }, { /* [19] */ /* fn degrees(T) -> T */ /* fn degrees(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[380], + /* overloads */ &kOverloads[382], }, { /* [20] */ /* fn determinant(mat) -> T */ /* num overloads */ 1, - /* overloads */ &kOverloads[468], + /* overloads */ &kOverloads[470], }, { /* [21] */ /* fn distance(T, T) -> T */ /* fn distance(vec, vec) -> T */ /* num overloads */ 2, - /* overloads */ &kOverloads[378], + /* overloads */ &kOverloads[380], }, { /* [22] */ /* fn dot(vec, vec) -> T */ /* num overloads */ 1, - /* overloads */ &kOverloads[467], + /* overloads */ &kOverloads[469], }, { /* [23] */ /* fn dot4I8Packed(u32, u32) -> i32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[466], + /* overloads */ &kOverloads[468], }, { /* [24] */ /* fn dot4U8Packed(u32, u32) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[465], + /* overloads */ &kOverloads[467], }, { /* [25] */ /* fn dpdx(f32) -> f32 */ /* fn dpdx(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[368], + /* overloads */ &kOverloads[372], }, { /* [26] */ /* fn dpdxCoarse(f32) -> f32 */ /* fn dpdxCoarse(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[362], + /* overloads */ &kOverloads[368], }, { /* [27] */ /* fn dpdxFine(f32) -> f32 */ /* fn dpdxFine(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[358], + /* overloads */ &kOverloads[364], }, { /* [28] */ /* fn dpdy(f32) -> f32 */ /* fn dpdy(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[356], + /* overloads */ &kOverloads[358], }, { /* [29] */ /* fn dpdyCoarse(f32) -> f32 */ /* fn dpdyCoarse(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[342], + /* overloads */ &kOverloads[344], }, { /* [30] */ /* fn dpdyFine(f32) -> f32 */ /* fn dpdyFine(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[334], + /* overloads */ &kOverloads[336], }, { /* [31] */ /* fn exp(T) -> T */ /* fn exp(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[332], + /* overloads */ &kOverloads[334], }, { /* [32] */ @@ -14213,7 +14247,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* [34] */ /* fn faceForward(vec, vec, vec) -> vec */ /* num overloads */ 1, - /* overloads */ &kOverloads[464], + /* overloads */ &kOverloads[466], }, { /* [35] */ @@ -14227,14 +14261,14 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn firstTrailingBit(T) -> T */ /* fn firstTrailingBit(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[432], + /* overloads */ &kOverloads[434], }, { /* [37] */ /* fn floor(T) -> T */ /* fn floor(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[320], + /* overloads */ &kOverloads[318], }, { /* [38] */ @@ -14269,7 +14303,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn fwidthCoarse(f32) -> f32 */ /* fn fwidthCoarse(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[318], + /* overloads */ &kOverloads[320], }, { /* [43] */ @@ -14353,37 +14387,37 @@ constexpr IntrinsicInfo kBuiltins[] = { /* [54] */ /* fn normalize(vec) -> vec */ /* num overloads */ 1, - /* overloads */ &kOverloads[462], + /* overloads */ &kOverloads[464], }, { /* [55] */ /* fn pack2x16float(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[461], + /* overloads */ &kOverloads[463], }, { /* [56] */ /* fn pack2x16snorm(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[460], + /* overloads */ &kOverloads[462], }, { /* [57] */ /* fn pack2x16unorm(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[447], + /* overloads */ &kOverloads[472], }, { /* [58] */ /* fn pack4x8snorm(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[459], + /* overloads */ &kOverloads[461], }, { /* [59] */ /* fn pack4x8unorm(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ &kOverloads[458], + /* overloads */ &kOverloads[460], }, { /* [60] */ @@ -14394,46 +14428,53 @@ constexpr IntrinsicInfo kBuiltins[] = { }, { /* [61] */ - /* fn radians(T) -> T */ - /* fn radians(vec) -> vec */ + /* fn quantizeToF16(f32) -> f32 */ + /* fn quantizeToF16(vec) -> vec */ /* num overloads */ 2, /* overloads */ &kOverloads[330], }, { /* [62] */ - /* fn reflect(vec, vec) -> vec */ - /* num overloads */ 1, - /* overloads */ &kOverloads[457], + /* fn radians(T) -> T */ + /* fn radians(vec) -> vec */ + /* num overloads */ 2, + /* overloads */ &kOverloads[332], }, { /* [63] */ - /* fn refract(vec, vec, T) -> vec */ + /* fn reflect(vec, vec) -> vec */ /* num overloads */ 1, - /* overloads */ &kOverloads[456], + /* overloads */ &kOverloads[459], }, { /* [64] */ - /* fn reverseBits(T) -> T */ - /* fn reverseBits(vec) -> vec */ - /* num overloads */ 2, - /* overloads */ &kOverloads[336], + /* fn refract(vec, vec, T) -> vec */ + /* num overloads */ 1, + /* overloads */ &kOverloads[458], }, { /* [65] */ - /* fn round(T) -> T */ - /* fn round(vec) -> vec */ + /* fn reverseBits(T) -> T */ + /* fn reverseBits(vec) -> vec */ /* num overloads */ 2, /* overloads */ &kOverloads[338], }, { /* [66] */ - /* fn saturate(@test_value(2) T) -> T */ - /* fn saturate(@test_value(2) vec) -> vec */ + /* fn round(T) -> T */ + /* fn round(vec) -> vec */ /* num overloads */ 2, /* overloads */ &kOverloads[340], }, { /* [67] */ + /* fn saturate(@test_value(2) T) -> T */ + /* fn saturate(@test_value(2) vec) -> vec */ + /* num overloads */ 2, + /* overloads */ &kOverloads[342], + }, + { + /* [68] */ /* fn select(T, T, bool) -> T */ /* fn select(vec, vec, bool) -> vec */ /* fn select(vec, vec, vec) -> vec */ @@ -14441,118 +14482,118 @@ constexpr IntrinsicInfo kBuiltins[] = { /* overloads */ &kOverloads[276], }, { - /* [68] */ + /* [69] */ /* fn sign(T) -> T */ /* fn sign(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[344], - }, - { - /* [69] */ - /* fn sin(T) -> T */ - /* fn sin(vec) -> vec */ - /* num overloads */ 2, /* overloads */ &kOverloads[346], }, { /* [70] */ - /* fn sinh(T) -> T */ - /* fn sinh(vec) -> vec */ + /* fn sin(T) -> T */ + /* fn sin(vec) -> vec */ /* num overloads */ 2, /* overloads */ &kOverloads[348], }, { /* [71] */ - /* fn smoothstep(T, T, T) -> T */ - /* fn smoothstep(vec, vec, vec) -> vec */ + /* fn sinh(T) -> T */ + /* fn sinh(vec) -> vec */ /* num overloads */ 2, /* overloads */ &kOverloads[350], }, { /* [72] */ - /* fn sqrt(T) -> T */ - /* fn sqrt(vec) -> vec */ + /* fn smoothstep(T, T, T) -> T */ + /* fn smoothstep(vec, vec, vec) -> vec */ /* num overloads */ 2, /* overloads */ &kOverloads[352], }, { /* [73] */ - /* fn step(T, T) -> T */ - /* fn step(vec, vec) -> vec */ + /* fn sqrt(T) -> T */ + /* fn sqrt(vec) -> vec */ /* num overloads */ 2, /* overloads */ &kOverloads[354], }, { /* [74] */ - /* fn storageBarrier() */ - /* num overloads */ 1, - /* overloads */ &kOverloads[455], + /* fn step(T, T) -> T */ + /* fn step(vec, vec) -> vec */ + /* num overloads */ 2, + /* overloads */ &kOverloads[356], }, { /* [75] */ - /* fn tan(T) -> T */ - /* fn tan(vec) -> vec */ - /* num overloads */ 2, - /* overloads */ &kOverloads[430], + /* fn storageBarrier() */ + /* num overloads */ 1, + /* overloads */ &kOverloads[450], }, { /* [76] */ - /* fn tanh(T) -> T */ - /* fn tanh(vec) -> vec */ + /* fn tan(T) -> T */ + /* fn tan(vec) -> vec */ /* num overloads */ 2, /* overloads */ &kOverloads[360], }, { /* [77] */ + /* fn tanh(T) -> T */ + /* fn tanh(vec) -> vec */ + /* num overloads */ 2, + /* overloads */ &kOverloads[362], + }, + { + /* [78] */ /* fn transpose(mat) -> mat */ /* num overloads */ 1, + /* overloads */ &kOverloads[457], + }, + { + /* [79] */ + /* fn trunc(T) -> T */ + /* fn trunc(vec) -> vec */ + /* num overloads */ 2, + /* overloads */ &kOverloads[366], + }, + { + /* [80] */ + /* fn unpack2x16float(u32) -> vec2 */ + /* num overloads */ 1, + /* overloads */ &kOverloads[456], + }, + { + /* [81] */ + /* fn unpack2x16snorm(u32) -> vec2 */ + /* num overloads */ 1, + /* overloads */ &kOverloads[455], + }, + { + /* [82] */ + /* fn unpack2x16unorm(u32) -> vec2 */ + /* num overloads */ 1, /* overloads */ &kOverloads[454], }, { - /* [78] */ - /* fn trunc(T) -> T */ - /* fn trunc(vec) -> vec */ - /* num overloads */ 2, - /* overloads */ &kOverloads[364], - }, - { - /* [79] */ - /* fn unpack2x16float(u32) -> vec2 */ + /* [83] */ + /* fn unpack4x8snorm(u32) -> vec4 */ /* num overloads */ 1, /* overloads */ &kOverloads[453], }, { - /* [80] */ - /* fn unpack2x16snorm(u32) -> vec2 */ + /* [84] */ + /* fn unpack4x8unorm(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ &kOverloads[434], + /* overloads */ &kOverloads[452], }, { - /* [81] */ - /* fn unpack2x16unorm(u32) -> vec2 */ + /* [85] */ + /* fn workgroupBarrier() */ /* num overloads */ 1, /* overloads */ &kOverloads[451], }, { - /* [82] */ - /* fn unpack4x8snorm(u32) -> vec4 */ - /* num overloads */ 1, - /* overloads */ &kOverloads[450], - }, - { - /* [83] */ - /* fn unpack4x8unorm(u32) -> vec4 */ - /* num overloads */ 1, - /* overloads */ &kOverloads[449], - }, - { - /* [84] */ - /* fn workgroupBarrier() */ - /* num overloads */ 1, - /* overloads */ &kOverloads[448], - }, - { - /* [85] */ + /* [86] */ /* fn textureDimensions(texture: texture_1d) -> u32 */ /* fn textureDimensions(texture: texture_1d, level: L) -> u32 */ /* fn textureDimensions(texture: texture_2d) -> vec2 */ @@ -14584,7 +14625,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* overloads */ &kOverloads[0], }, { - /* [86] */ + /* [87] */ /* fn textureGather(@const component: C, texture: texture_2d, sampler: sampler, coords: vec2) -> vec4 */ /* fn textureGather(@const component: C, texture: texture_2d, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ /* fn textureGather(@const component: C, texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ @@ -14598,10 +14639,10 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureGather(texture: texture_depth_cube, sampler: sampler, coords: vec3) -> vec4 */ /* fn textureGather(texture: texture_depth_cube_array, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ /* num overloads */ 12, - /* overloads */ &kOverloads[72], + /* overloads */ &kOverloads[84], }, { - /* [87] */ + /* [88] */ /* fn textureGatherCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2, depth_ref: f32) -> vec4 */ /* fn textureGatherCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2, depth_ref: f32, @const offset: vec2) -> vec4 */ /* fn textureGatherCompare(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2, array_index: A, depth_ref: f32) -> vec4 */ @@ -14612,7 +14653,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* overloads */ &kOverloads[190], }, { - /* [88] */ + /* [89] */ /* fn textureNumLayers(texture: texture_2d_array) -> u32 */ /* fn textureNumLayers(texture: texture_cube_array) -> u32 */ /* fn textureNumLayers(texture: texture_depth_2d_array) -> u32 */ @@ -14622,7 +14663,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* overloads */ &kOverloads[242], }, { - /* [89] */ + /* [90] */ /* fn textureNumLevels(texture: texture_1d) -> u32 */ /* fn textureNumLevels(texture: texture_2d) -> u32 */ /* fn textureNumLevels(texture: texture_2d_array) -> u32 */ @@ -14637,14 +14678,14 @@ constexpr IntrinsicInfo kBuiltins[] = { /* overloads */ &kOverloads[107], }, { - /* [90] */ + /* [91] */ /* fn textureNumSamples(texture: texture_multisampled_2d) -> u32 */ /* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> u32 */ /* num overloads */ 2, - /* overloads */ &kOverloads[388], + /* overloads */ &kOverloads[390], }, { - /* [91] */ + /* [92] */ /* fn textureSample(texture: texture_1d, sampler: sampler, coords: f32) -> vec4 */ /* fn textureSample(texture: texture_2d, sampler: sampler, coords: vec2) -> vec4 */ /* fn textureSample(texture: texture_2d, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ @@ -14664,7 +14705,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* overloads */ &kOverloads[57], }, { - /* [92] */ + /* [93] */ /* fn textureSampleBias(texture: texture_2d, sampler: sampler, coords: vec2, bias: f32) -> vec4 */ /* fn textureSampleBias(texture: texture_2d, sampler: sampler, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ /* fn textureSampleBias(texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, bias: f32) -> vec4 */ @@ -14677,7 +14718,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* overloads */ &kOverloads[144], }, { - /* [93] */ + /* [94] */ /* fn textureSampleCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2, depth_ref: f32) -> f32 */ /* fn textureSampleCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2, depth_ref: f32, @const offset: vec2) -> f32 */ /* fn textureSampleCompare(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2, array_index: A, depth_ref: f32) -> f32 */ @@ -14685,10 +14726,10 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureSampleCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> f32 */ /* fn textureSampleCompare(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: A, depth_ref: f32) -> f32 */ /* num overloads */ 6, - /* overloads */ &kOverloads[178], + /* overloads */ &kOverloads[166], }, { - /* [94] */ + /* [95] */ /* 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, @const offset: vec2) -> f32 */ /* fn textureSampleCompareLevel(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2, array_index: A, depth_ref: f32) -> f32 */ @@ -14696,10 +14737,10 @@ constexpr IntrinsicInfo kBuiltins[] = { /* 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: A, depth_ref: f32) -> f32 */ /* num overloads */ 6, - /* overloads */ &kOverloads[166], + /* overloads */ &kOverloads[172], }, { - /* [95] */ + /* [96] */ /* 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, @const offset: vec2) -> vec4 */ /* fn textureSampleGrad(texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ @@ -14712,7 +14753,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* overloads */ &kOverloads[152], }, { - /* [96] */ + /* [97] */ /* fn textureSampleLevel(texture: texture_2d, sampler: sampler, coords: vec2, level: f32) -> vec4 */ /* fn textureSampleLevel(texture: texture_2d, sampler: sampler, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ /* fn textureSampleLevel(texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, level: f32) -> vec4 */ @@ -14732,14 +14773,14 @@ constexpr IntrinsicInfo kBuiltins[] = { /* overloads */ &kOverloads[27], }, { - /* [97] */ + /* [98] */ /* fn textureSampleBaseClampToEdge(texture: texture_2d, sampler: sampler, coords: vec2) -> vec4 */ /* fn textureSampleBaseClampToEdge(texture: texture_external, sampler: sampler, coords: vec2) -> vec4 */ /* num overloads */ 2, - /* overloads */ &kOverloads[402], + /* overloads */ &kOverloads[404], }, { - /* [98] */ + /* [99] */ /* fn textureStore(texture: texture_storage_1d, coords: C, value: vec4) */ /* fn textureStore(texture: texture_storage_2d, coords: vec2, value: vec4) */ /* fn textureStore(texture: texture_storage_2d_array, coords: vec2, array_index: A, value: vec4) */ @@ -14753,10 +14794,10 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureStore(texture: texture_storage_2d_array, coords: vec2, array_index: A, value: vec4) */ /* fn textureStore(texture: texture_storage_3d, coords: vec3, value: vec4) */ /* num overloads */ 12, - /* overloads */ &kOverloads[84], + /* overloads */ &kOverloads[72], }, { - /* [99] */ + /* [100] */ /* fn textureLoad(texture: texture_1d, coords: C, level: L) -> vec4 */ /* fn textureLoad(texture: texture_2d, coords: vec2, level: L) -> vec4 */ /* fn textureLoad(texture: texture_2d_array, coords: vec2, array_index: A, level: L) -> vec4 */ @@ -14770,76 +14811,76 @@ constexpr IntrinsicInfo kBuiltins[] = { /* overloads */ &kOverloads[135], }, { - /* [100] */ + /* [101] */ /* fn atomicLoad(ptr, read_write>) -> T */ /* num overloads */ 1, - /* overloads */ &kOverloads[446], + /* overloads */ &kOverloads[449], }, { - /* [101] */ + /* [102] */ /* fn atomicStore(ptr, read_write>, T) */ /* num overloads */ 1, + /* overloads */ &kOverloads[448], + }, + { + /* [103] */ + /* fn atomicAdd(ptr, read_write>, T) -> T */ + /* num overloads */ 1, + /* overloads */ &kOverloads[445], + }, + { + /* [104] */ + /* fn atomicSub(ptr, read_write>, T) -> T */ + /* num overloads */ 1, + /* overloads */ &kOverloads[444], + }, + { + /* [105] */ + /* fn atomicMax(ptr, read_write>, T) -> T */ + /* num overloads */ 1, /* overloads */ &kOverloads[443], }, { - /* [102] */ - /* fn atomicAdd(ptr, read_write>, T) -> T */ + /* [106] */ + /* fn atomicMin(ptr, read_write>, T) -> T */ /* num overloads */ 1, /* overloads */ &kOverloads[442], }, { - /* [103] */ - /* fn atomicSub(ptr, read_write>, T) -> T */ + /* [107] */ + /* fn atomicAnd(ptr, read_write>, T) -> T */ /* num overloads */ 1, /* overloads */ &kOverloads[441], }, { - /* [104] */ - /* fn atomicMax(ptr, read_write>, T) -> T */ + /* [108] */ + /* fn atomicOr(ptr, read_write>, T) -> T */ /* num overloads */ 1, /* overloads */ &kOverloads[440], }, { - /* [105] */ - /* fn atomicMin(ptr, read_write>, T) -> T */ + /* [109] */ + /* fn atomicXor(ptr, read_write>, T) -> T */ /* num overloads */ 1, /* overloads */ &kOverloads[439], }, { - /* [106] */ - /* fn atomicAnd(ptr, read_write>, T) -> T */ + /* [110] */ + /* fn atomicExchange(ptr, read_write>, T) -> T */ /* num overloads */ 1, /* overloads */ &kOverloads[438], }, { - /* [107] */ - /* fn atomicOr(ptr, read_write>, T) -> T */ + /* [111] */ + /* fn atomicCompareExchangeWeak(ptr, read_write>, T, T) -> __atomic_compare_exchange_result */ /* num overloads */ 1, /* overloads */ &kOverloads[437], }, { - /* [108] */ - /* fn atomicXor(ptr, read_write>, T) -> T */ - /* num overloads */ 1, - /* overloads */ &kOverloads[436], - }, - { - /* [109] */ - /* fn atomicExchange(ptr, read_write>, T) -> T */ - /* num overloads */ 1, - /* overloads */ &kOverloads[435], - }, - { - /* [110] */ - /* fn atomicCompareExchangeWeak(ptr, read_write>, T, T) -> __atomic_compare_exchange_result */ - /* num overloads */ 1, - /* overloads */ &kOverloads[452], - }, - { - /* [111] */ + /* [112] */ /* fn _tint_materialize(T) -> T */ /* num overloads */ 1, - /* overloads */ &kOverloads[470], + /* overloads */ &kOverloads[436], }, }; @@ -14856,14 +14897,14 @@ constexpr IntrinsicInfo kUnaryOperators[] = { /* op ~(T) -> T */ /* op ~(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[428], + /* overloads */ &kOverloads[432], }, { /* [2] */ /* op -(T) -> T */ /* op -(vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[426], + /* overloads */ &kOverloads[430], }, }; constexpr uint8_t kUnaryOperatorNot = 0; @@ -14928,7 +14969,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op ^(T, T) -> T */ /* op ^(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[414], + /* overloads */ &kOverloads[418], }, { /* [6] */ @@ -14952,55 +14993,55 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* [8] */ /* op &&(bool, bool) -> bool */ /* num overloads */ 1, - /* overloads */ &kOverloads[444], + /* overloads */ &kOverloads[446], }, { /* [9] */ /* op ||(bool, bool) -> bool */ /* num overloads */ 1, - /* overloads */ &kOverloads[445], + /* overloads */ &kOverloads[447], }, { /* [10] */ /* op ==(T, T) -> bool */ /* op ==(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[408], + /* overloads */ &kOverloads[412], }, { /* [11] */ /* op !=(T, T) -> bool */ /* op !=(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[394], + /* overloads */ &kOverloads[410], }, { /* [12] */ /* op <(T, T) -> bool */ /* op <(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[376], + /* overloads */ &kOverloads[394], }, { /* [13] */ /* op >(T, T) -> bool */ /* op >(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[374], + /* overloads */ &kOverloads[378], }, { /* [14] */ /* op <=(T, T) -> bool */ /* op <=(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[372], + /* overloads */ &kOverloads[376], }, { /* [15] */ /* op >=(T, T) -> bool */ /* op >=(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[370], + /* overloads */ &kOverloads[374], }, { /* [16] */ @@ -15016,7 +15057,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op >>(T, u32) -> T */ /* op >>(vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ &kOverloads[366], + /* overloads */ &kOverloads[370], }, }; constexpr uint8_t kBinaryOperatorPlus = 0; @@ -15160,7 +15201,7 @@ constexpr IntrinsicInfo kInitializersAndConverters[] = { /* conv mat2x4(mat2x4) -> mat2x4 */ /* conv mat2x4(mat2x4) -> mat2x4 */ /* num overloads */ 6, - /* overloads */ &kOverloads[172], + /* overloads */ &kOverloads[178], }, { /* [11] */ diff --git a/src/tint/sem/builtin_type.cc b/src/tint/sem/builtin_type.cc index d010d8950a..899fbd38e5 100644 --- a/src/tint/sem/builtin_type.cc +++ b/src/tint/sem/builtin_type.cc @@ -210,6 +210,9 @@ BuiltinType ParseBuiltinType(const std::string& name) { if (name == "pow") { return BuiltinType::kPow; } + if (name == "quantizeToF16") { + return BuiltinType::kQuantizeToF16; + } if (name == "radians") { return BuiltinType::kRadians; } @@ -492,6 +495,8 @@ const char* str(BuiltinType i) { return "pack4x8unorm"; case BuiltinType::kPow: return "pow"; + case BuiltinType::kQuantizeToF16: + return "quantizeToF16"; case BuiltinType::kRadians: return "radians"; case BuiltinType::kReflect: diff --git a/src/tint/sem/builtin_type.h b/src/tint/sem/builtin_type.h index 05c2def89c..0cfc48ebeb 100644 --- a/src/tint/sem/builtin_type.h +++ b/src/tint/sem/builtin_type.h @@ -92,6 +92,7 @@ enum class BuiltinType { kPack4X8Snorm, kPack4X8Unorm, kPow, + kQuantizeToF16, kRadians, kReflect, kRefract, diff --git a/src/tint/transform/builtin_polyfill.cc b/src/tint/transform/builtin_polyfill.cc index ec00672bfc..1e28e7e515 100644 --- a/src/tint/transform/builtin_polyfill.cc +++ b/src/tint/transform/builtin_polyfill.cc @@ -556,6 +556,27 @@ struct BuiltinPolyfill::State { return name; } + /// Builds the polyfill function for the `quantizeToF16` builtin, by replacing the vector form + /// with scalar calls. + /// @param vec the vector type + /// @return the polyfill function name + Symbol quantizeToF16(const sem::Vector* vec) { + auto name = b.Symbols().New("tint_quantizeToF16"); + utils::Vector args; + for (uint32_t i = 0; i < vec->Width(); i++) { + args.Push(b.Call("quantizeToF16", b.IndexAccessor("v", u32(i)))); + } + b.Func(name, + utils::Vector{ + b.Param("v", T(vec)), + }, + T(vec), + utils::Vector{ + b.Return(b.Construct(T(vec), std::move(args))), + }); + return name; + } + private: /// @returns the AST type for the given sem type const ast::Type* T(const sem::Type* ty) const { return CreateASTTypeFor(ctx, ty); } @@ -659,6 +680,13 @@ bool BuiltinPolyfill::ShouldRun(const Program* program, const DataMap& data) con } } break; + case sem::BuiltinType::kQuantizeToF16: + if (builtins.quantize_to_vec_f16) { + if (builtin->ReturnType()->Is()) { + return true; + } + } + break; default: break; } @@ -778,6 +806,15 @@ void BuiltinPolyfill::Run(CloneContext& ctx, const DataMap& data, DataMap&) cons } } break; + case sem::BuiltinType::kQuantizeToF16: + if (builtins.quantize_to_vec_f16) { + if (auto* vec = builtin->ReturnType()->As()) { + polyfill = utils::GetOrCreate(polyfills, builtin, + [&] { return s.quantizeToF16(vec); }); + } + } + break; + default: break; } diff --git a/src/tint/transform/builtin_polyfill.h b/src/tint/transform/builtin_polyfill.h index d083252ddd..71069156a5 100644 --- a/src/tint/transform/builtin_polyfill.h +++ b/src/tint/transform/builtin_polyfill.h @@ -65,6 +65,9 @@ class BuiltinPolyfill final : public Castable { bool saturate = false; /// Should `textureSampleBaseClampToEdge()` be polyfilled for texture_2d textures? bool texture_sample_base_clamp_to_edge_2d_f32 = false; + /// Should the vector form of `quantizeToF16()` be polyfilled with a scalar implementation? + /// See crbug.com/tint/1741 + bool quantize_to_vec_f16 = false; }; /// Config is consumed by the BuiltinPolyfill transform. diff --git a/src/tint/transform/builtin_polyfill_test.cc b/src/tint/transform/builtin_polyfill_test.cc index b93819555e..65547abf4d 100644 --- a/src/tint/transform/builtin_polyfill_test.cc +++ b/src/tint/transform/builtin_polyfill_test.cc @@ -1996,5 +1996,112 @@ fn f() { EXPECT_EQ(expect, str(got)); } +//////////////////////////////////////////////////////////////////////////////// +// quantizeToF16 +//////////////////////////////////////////////////////////////////////////////// +DataMap polyfillQuantizeToF16_2d_f32() { + BuiltinPolyfill::Builtins builtins; + builtins.quantize_to_vec_f16 = true; + DataMap data; + data.Add(builtins); + return data; +} + +TEST_F(BuiltinPolyfillTest, ShouldRunQuantizeToF16_Scalar) { + auto* src = R"( +fn f() { + let v = 0.5; + quantizeToF16(0.5); +} +)"; + + EXPECT_FALSE(ShouldRun(src)); + EXPECT_FALSE(ShouldRun(src, polyfillQuantizeToF16_2d_f32())); +} + +TEST_F(BuiltinPolyfillTest, ShouldRunQuantizeToF16_Vector) { + auto* src = R"( +fn f() { + let v = 0.5; + quantizeToF16(vec2(v)); +} +)"; + + EXPECT_FALSE(ShouldRun(src)); + EXPECT_TRUE(ShouldRun(src, polyfillQuantizeToF16_2d_f32())); +} + +TEST_F(BuiltinPolyfillTest, QuantizeToF16_Vec2) { + auto* src = R"( +fn f() { + let v = 0.5; + quantizeToF16(vec2(v)); +} +)"; + + auto* expect = R"( +fn tint_quantizeToF16(v : vec2) -> vec2 { + return vec2(quantizeToF16(v[0u]), quantizeToF16(v[1u])); +} + +fn f() { + let v = 0.5; + tint_quantizeToF16(vec2(v)); +} +)"; + + auto got = Run(src, polyfillQuantizeToF16_2d_f32()); + + EXPECT_EQ(expect, str(got)); +} + +TEST_F(BuiltinPolyfillTest, QuantizeToF16_Vec3) { + auto* src = R"( +fn f() { + let v = 0.5; + quantizeToF16(vec3(v)); +} +)"; + + auto* expect = R"( +fn tint_quantizeToF16(v : vec3) -> vec3 { + return vec3(quantizeToF16(v[0u]), quantizeToF16(v[1u]), quantizeToF16(v[2u])); +} + +fn f() { + let v = 0.5; + tint_quantizeToF16(vec3(v)); +} +)"; + + auto got = Run(src, polyfillQuantizeToF16_2d_f32()); + + EXPECT_EQ(expect, str(got)); +} + +TEST_F(BuiltinPolyfillTest, QuantizeToF16_Vec4) { + auto* src = R"( +fn f() { + let v = 0.5; + quantizeToF16(vec4(v)); +} +)"; + + auto* expect = R"( +fn tint_quantizeToF16(v : vec4) -> vec4 { + return vec4(quantizeToF16(v[0u]), quantizeToF16(v[1u]), quantizeToF16(v[2u]), quantizeToF16(v[3u])); +} + +fn f() { + let v = 0.5; + tint_quantizeToF16(vec4(v)); +} +)"; + + auto got = Run(src, polyfillQuantizeToF16_2d_f32()); + + EXPECT_EQ(expect, str(got)); +} + } // namespace } // namespace tint::transform diff --git a/src/tint/writer/glsl/generator_impl.cc b/src/tint/writer/glsl/generator_impl.cc index ab787224ca..a48d71b60d 100644 --- a/src/tint/writer/glsl/generator_impl.cc +++ b/src/tint/writer/glsl/generator_impl.cc @@ -796,6 +796,9 @@ bool GeneratorImpl::EmitBuiltinCall(std::ostream& out, if (builtin->Type() == sem::BuiltinType::kRadians) { return EmitRadiansCall(out, expr, builtin); } + if (builtin->Type() == sem::BuiltinType::kQuantizeToF16) { + return EmitQuantizeToF16Call(out, expr, builtin); + } if (builtin->Type() == sem::BuiltinType::kArrayLength) { return EmitArrayLength(out, expr); } @@ -1287,6 +1290,38 @@ bool GeneratorImpl::EmitRadiansCall(std::ostream& out, }); } +bool GeneratorImpl::EmitQuantizeToF16Call(std::ostream& out, + const ast::CallExpression* expr, + const sem::Builtin* builtin) { + // Emulate by casting to f16 and back again. + return CallBuiltinHelper( + out, expr, builtin, [&](TextBuffer* b, const std::vector& params) { + const auto v = params[0]; + if (auto* vec = builtin->ReturnType()->As()) { + switch (vec->Width()) { + case 2: { + line(b) << "return unpackHalf2x16(packHalf2x16(" << v << "));"; + return true; + } + case 3: { + line(b) << "return vec3("; + line(b) << " unpackHalf2x16(packHalf2x16(" << v << ".xy)),"; + line(b) << " unpackHalf2x16(packHalf2x16(" << v << ".zz)).x);"; + return true; + } + default: { + line(b) << "return vec4("; + line(b) << " unpackHalf2x16(packHalf2x16(" << v << ".xy)),"; + line(b) << " unpackHalf2x16(packHalf2x16(" << v << ".zw)));"; + return true; + } + } + } + line(b) << "return unpackHalf2x16(packHalf2x16(vec2(" << v << "))).x;"; + return true; + }); +} + bool GeneratorImpl::EmitBarrierCall(std::ostream& out, const sem::Builtin* builtin) { // TODO(crbug.com/tint/661): Combine sequential barriers to a single // instruction. diff --git a/src/tint/writer/glsl/generator_impl.h b/src/tint/writer/glsl/generator_impl.h index 889b406438..c34880df10 100644 --- a/src/tint/writer/glsl/generator_impl.h +++ b/src/tint/writer/glsl/generator_impl.h @@ -270,6 +270,14 @@ class GeneratorImpl : public TextGenerator { bool EmitRadiansCall(std::ostream& out, const ast::CallExpression* expr, const sem::Builtin* builtin); + /// Handles generating a call to the `quantizeToF16()` intrinsic + /// @param out the output of the expression stream + /// @param expr the call expression + /// @param builtin the semantic information for the builtin + /// @returns true if the call expression is emitted + bool EmitQuantizeToF16Call(std::ostream& out, + const ast::CallExpression* expr, + const sem::Builtin* builtin); /// Handles a case statement /// @param stmt the statement /// @returns true if the statement was emitted successfully diff --git a/src/tint/writer/glsl/generator_impl_builtin_test.cc b/src/tint/writer/glsl/generator_impl_builtin_test.cc index 511a3094d2..61d97b0d7e 100644 --- a/src/tint/writer/glsl/generator_impl_builtin_test.cc +++ b/src/tint/writer/glsl/generator_impl_builtin_test.cc @@ -1266,5 +1266,118 @@ void main() { )"); } +TEST_F(GlslGeneratorImplTest_Builtin, QuantizeToF16_Scalar) { + GlobalVar("v", Expr(2_f), ast::AddressSpace::kPrivate); + WrapInFunction(Call("quantizeToF16", "v")); + + GeneratorImpl& gen = SanitizeAndBuild(); + + ASSERT_TRUE(gen.Generate()) << gen.error(); + EXPECT_EQ(gen.result(), R"(#version 310 es + +float tint_quantizeToF16(float param_0) { + return unpackHalf2x16(packHalf2x16(vec2(param_0))).x; +} + + +float v = 2.0f; +void test_function() { + float tint_symbol = tint_quantizeToF16(v); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + test_function(); + return; +} +)"); +} + +TEST_F(GlslGeneratorImplTest_Builtin, QuantizeToF16_Vec2) { + GlobalVar("v", vec2(2_f), ast::AddressSpace::kPrivate); + WrapInFunction(Call("quantizeToF16", "v")); + + GeneratorImpl& gen = SanitizeAndBuild(); + + ASSERT_TRUE(gen.Generate()) << gen.error(); + EXPECT_EQ(gen.result(), R"(#version 310 es + +vec2 tint_quantizeToF16(vec2 param_0) { + return unpackHalf2x16(packHalf2x16(param_0)); +} + + +vec2 v = vec2(2.0f); +void test_function() { + vec2 tint_symbol = tint_quantizeToF16(v); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + test_function(); + return; +} +)"); +} + +TEST_F(GlslGeneratorImplTest_Builtin, QuantizeToF16_Vec3) { + GlobalVar("v", vec3(2_f), ast::AddressSpace::kPrivate); + WrapInFunction(Call("quantizeToF16", "v")); + + GeneratorImpl& gen = SanitizeAndBuild(); + + ASSERT_TRUE(gen.Generate()) << gen.error(); + EXPECT_EQ(gen.result(), R"(#version 310 es + +vec3 tint_quantizeToF16(vec3 param_0) { + return vec3( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zz)).x); +} + + +vec3 v = vec3(2.0f); +void test_function() { + vec3 tint_symbol = tint_quantizeToF16(v); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + test_function(); + return; +} +)"); +} + + +TEST_F(GlslGeneratorImplTest_Builtin, QuantizeToF16_Vec4) { + GlobalVar("v", vec4(2_f), ast::AddressSpace::kPrivate); + WrapInFunction(Call("quantizeToF16", "v")); + + GeneratorImpl& gen = SanitizeAndBuild(); + + ASSERT_TRUE(gen.Generate()) << gen.error(); + EXPECT_EQ(gen.result(), R"(#version 310 es + +vec4 tint_quantizeToF16(vec4 param_0) { + return vec4( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zw))); +} + + +vec4 v = vec4(2.0f); +void test_function() { + vec4 tint_symbol = tint_quantizeToF16(v); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + test_function(); + return; +} +)"); +} + } // namespace } // namespace tint::writer::glsl diff --git a/src/tint/writer/hlsl/generator_impl.cc b/src/tint/writer/hlsl/generator_impl.cc index d9c3479151..248da3807e 100644 --- a/src/tint/writer/hlsl/generator_impl.cc +++ b/src/tint/writer/hlsl/generator_impl.cc @@ -1047,6 +1047,9 @@ bool GeneratorImpl::EmitBuiltinCall(std::ostream& out, if (type == sem::BuiltinType::kRadians) { return EmitRadiansCall(out, expr, builtin); } + if (type == sem::BuiltinType::kQuantizeToF16) { + return EmitQuantizeToF16Call(out, expr, builtin); + } if (builtin->IsDataPacking()) { return EmitDataPackingCall(out, expr, builtin); } @@ -1940,6 +1943,22 @@ bool GeneratorImpl::EmitRadiansCall(std::ostream& out, }); } +bool GeneratorImpl::EmitQuantizeToF16Call(std::ostream& out, + const ast::CallExpression* expr, + const sem::Builtin* builtin) { + // Emulate by casting to min16float and back again. + std::string width; + if (auto* vec = builtin->ReturnType()->As()) { + width = std::to_string(vec->Width()); + } + out << "float" << width << "(min16float" << width << "("; + if (!EmitExpression(out, expr->args[0])) { + return false; + } + out << "))"; + return true; +} + bool GeneratorImpl::EmitDataPackingCall(std::ostream& out, const ast::CallExpression* expr, const sem::Builtin* builtin) { diff --git a/src/tint/writer/hlsl/generator_impl.h b/src/tint/writer/hlsl/generator_impl.h index 2742f0005f..eca773404e 100644 --- a/src/tint/writer/hlsl/generator_impl.h +++ b/src/tint/writer/hlsl/generator_impl.h @@ -267,6 +267,14 @@ class GeneratorImpl : public TextGenerator { bool EmitDataUnpackingCall(std::ostream& out, const ast::CallExpression* expr, const sem::Builtin* builtin); + /// Handles generating a call to the `quantizeToF16()` intrinsic + /// @param out the output of the expression stream + /// @param expr the call expression + /// @param builtin the semantic information for the builtin + /// @returns true if the call expression is emitted + bool EmitQuantizeToF16Call(std::ostream& out, + const ast::CallExpression* expr, + const sem::Builtin* builtin); /// Handles generating a call to DP4a builtins (dot4I8Packed and dot4U8Packed) /// @param out the output of the expression stream /// @param expr the call expression diff --git a/src/tint/writer/hlsl/generator_impl_import_test.cc b/src/tint/writer/hlsl/generator_impl_import_test.cc index e953afb109..96ed7ee052 100644 --- a/src/tint/writer/hlsl/generator_impl_import_test.cc +++ b/src/tint/writer/hlsl/generator_impl_import_test.cc @@ -268,5 +268,31 @@ TEST_F(HlslGeneratorImplTest_Import, HlslImportData_Determinant) { EXPECT_EQ(out.str(), std::string("determinant(var)")); } +TEST_F(HlslGeneratorImplTest_Import, HlslImportData_QuantizeToF16_Scalar) { + GlobalVar("v", Expr(2_f), ast::AddressSpace::kPrivate); + + auto* expr = Call("quantizeToF16", "v"); + WrapInFunction(expr); + + GeneratorImpl& gen = Build(); + + std::stringstream out; + ASSERT_TRUE(gen.EmitCall(out, expr)) << gen.error(); + EXPECT_EQ(out.str(), std::string("float(min16float(v))")); +} + +TEST_F(HlslGeneratorImplTest_Import, HlslImportData_QuantizeToF16_Vector) { + GlobalVar("v", vec3(2_f), ast::AddressSpace::kPrivate); + + auto* expr = Call("quantizeToF16", "v"); + WrapInFunction(expr); + + GeneratorImpl& gen = Build(); + + std::stringstream out; + ASSERT_TRUE(gen.EmitCall(out, expr)) << gen.error(); + EXPECT_EQ(out.str(), std::string("float3(min16float3(v))")); +} + } // namespace } // namespace tint::writer::hlsl diff --git a/src/tint/writer/msl/generator_impl.cc b/src/tint/writer/msl/generator_impl.cc index 43633b5b27..2cdbbf9202 100644 --- a/src/tint/writer/msl/generator_impl.cc +++ b/src/tint/writer/msl/generator_impl.cc @@ -691,6 +691,18 @@ bool GeneratorImpl::EmitBuiltinCall(std::ostream& out, out << "))"; return true; } + case sem::BuiltinType::kQuantizeToF16: { + std::string width = ""; + if (auto* vec = builtin->ReturnType()->As()) { + width = std::to_string(vec->Width()); + } + out << "float" << width << "(half" << width << "("; + if (!EmitExpression(out, expr->args[0])) { + return false; + } + out << "))"; + return true; + } // TODO(crbug.com/tint/661): Combine sequential barriers to a single // instruction. case sem::BuiltinType::kStorageBarrier: { diff --git a/src/tint/writer/msl/generator_impl_import_test.cc b/src/tint/writer/msl/generator_impl_import_test.cc index 4a81130216..07f4acd496 100644 --- a/src/tint/writer/msl/generator_impl_import_test.cc +++ b/src/tint/writer/msl/generator_impl_import_test.cc @@ -247,5 +247,31 @@ TEST_F(MslGeneratorImplTest, MslImportData_Determinant) { EXPECT_EQ(out.str(), std::string("determinant(var)")); } +TEST_F(MslGeneratorImplTest, MslImportData_QuantizeToF16_Scalar) { + GlobalVar("v", Expr(2_f), ast::AddressSpace::kPrivate); + + auto* expr = Call("quantizeToF16", "v"); + WrapInFunction(expr); + + GeneratorImpl& gen = Build(); + + std::stringstream out; + ASSERT_TRUE(gen.EmitCall(out, expr)) << gen.error(); + EXPECT_EQ(out.str(), "float(half(v))"); +} + +TEST_F(MslGeneratorImplTest, MslImportData_QuantizeToF16_Vector) { + GlobalVar("v", vec3(2_f), ast::AddressSpace::kPrivate); + + auto* expr = Call("quantizeToF16", "v"); + WrapInFunction(expr); + + GeneratorImpl& gen = Build(); + + std::stringstream out; + ASSERT_TRUE(gen.EmitCall(out, expr)) << gen.error(); + EXPECT_EQ(out.str(), "float3(half3(v))"); +} + } // namespace } // namespace tint::writer::msl diff --git a/src/tint/writer/spirv/builder.cc b/src/tint/writer/spirv/builder.cc index 97a29f3ede..6342f7151a 100644 --- a/src/tint/writer/spirv/builder.cc +++ b/src/tint/writer/spirv/builder.cc @@ -2505,6 +2505,9 @@ uint32_t Builder::GenerateBuiltinCall(const sem::Call* call, const sem::Builtin* } return result_id; } + case BuiltinType::kQuantizeToF16: + op = spv::Op::OpQuantizeToF16; + break; case BuiltinType::kReverseBits: op = spv::Op::OpBitReverse; break; diff --git a/src/tint/writer/spirv/builder_builtin_test.cc b/src/tint/writer/spirv/builder_builtin_test.cc index 3c97da7ca9..3d060b9eb7 100644 --- a/src/tint/writer/spirv/builder_builtin_test.cc +++ b/src/tint/writer/spirv/builder_builtin_test.cc @@ -1854,6 +1854,105 @@ OpFunctionEnd Validate(b); } +TEST_F(BuiltinBuilderTest, Call_QuantizeToF16_Scalar) { + GlobalVar("v", Expr(2_f), ast::AddressSpace::kPrivate); + + Func("a_func", utils::Empty, ty.void_(), + utils::Vector{ + Decl(Let("l", Call("quantizeToF16", "v"))), + }, + utils::Vector{ + Stage(ast::PipelineStage::kFragment), + }); + + spirv::Builder& b = SanitizeAndBuild(); + + ASSERT_TRUE(b.Build()) << b.error(); + auto got = DumpBuilder(b); + auto* expect = R"(OpCapability Shader +OpMemoryModel Logical GLSL450 +OpEntryPoint Fragment %7 "a_func" +OpExecutionMode %7 OriginUpperLeft +OpName %3 "v" +OpName %7 "a_func" +%1 = OpTypeFloat 32 +%2 = OpConstant %1 2 +%4 = OpTypePointer Private %1 +%3 = OpVariable %4 Private %2 +%6 = OpTypeVoid +%5 = OpTypeFunction %6 +%7 = OpFunction %6 None %5 +%8 = OpLabel +%10 = OpLoad %1 %3 +%9 = OpQuantizeToF16 %1 %10 +OpReturn +OpFunctionEnd +)"; + EXPECT_EQ(expect, got); + + Validate(b); +} + +TEST_F(BuiltinBuilderTest, Call_QuantizeToF16_Vector) { + GlobalVar("v", vec3(2_f), ast::AddressSpace::kPrivate); + + Func("a_func", utils::Empty, ty.void_(), + utils::Vector{ + Decl(Let("l", Call("quantizeToF16", "v"))), + }, + utils::Vector{ + Stage(ast::PipelineStage::kFragment), + }); + + spirv::Builder& b = SanitizeAndBuild(); + + ASSERT_TRUE(b.Build()) << b.error(); + auto got = DumpBuilder(b); + auto* expect = R"(OpCapability Shader +OpMemoryModel Logical GLSL450 +OpEntryPoint Fragment %24 "a_func" +OpExecutionMode %24 OriginUpperLeft +OpName %5 "v" +OpName %8 "tint_quantizeToF16" +OpName %9 "v_1" +OpName %24 "a_func" +%2 = OpTypeFloat 32 +%1 = OpTypeVector %2 3 +%3 = OpConstant %2 2 +%4 = OpConstantComposite %1 %3 %3 %3 +%6 = OpTypePointer Private %1 +%5 = OpVariable %6 Private %4 +%7 = OpTypeFunction %1 %1 +%12 = OpTypeInt 32 0 +%13 = OpConstantNull %12 +%16 = OpConstant %12 1 +%19 = OpConstant %12 2 +%23 = OpTypeVoid +%22 = OpTypeFunction %23 +%8 = OpFunction %1 None %7 +%9 = OpFunctionParameter %1 +%10 = OpLabel +%14 = OpCompositeExtract %2 %9 0 +%11 = OpQuantizeToF16 %2 %14 +%17 = OpCompositeExtract %2 %9 1 +%15 = OpQuantizeToF16 %2 %17 +%20 = OpCompositeExtract %2 %9 2 +%18 = OpQuantizeToF16 %2 %20 +%21 = OpCompositeConstruct %1 %11 %15 %18 +OpReturnValue %21 +OpFunctionEnd +%24 = OpFunction %23 None %22 +%25 = OpLabel +%27 = OpLoad %1 %5 +%26 = OpFunctionCall %1 %8 %27 +OpReturn +OpFunctionEnd +)"; + EXPECT_EQ(expect, got); + + Validate(b); +} + } // namespace float_builtin_tests // Tests for Numeric builtins with all integer parameter diff --git a/src/tint/writer/spirv/generator_impl.cc b/src/tint/writer/spirv/generator_impl.cc index f75f1f2228..44744eaa97 100644 --- a/src/tint/writer/spirv/generator_impl.cc +++ b/src/tint/writer/spirv/generator_impl.cc @@ -61,6 +61,7 @@ SanitizedResult Sanitize(const Program* in, const Options& options) { polyfills.insert_bits = transform::BuiltinPolyfill::Level::kClampParameters; polyfills.saturate = true; polyfills.texture_sample_base_clamp_to_edge_2d_f32 = true; + polyfills.quantize_to_vec_f16 = true; // crbug.com/tint/1741 data.Add(polyfills); manager.Add(); } diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl new file mode 100644 index 0000000000..c20e612458 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl @@ -0,0 +1,43 @@ +// Copyright 2022 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/src/cmd/gen +// using the template: +// test/tint/builtins/gen/gen.wgsl.tmpl +// +// Do not modify this file directly +//////////////////////////////////////////////////////////////////////////////// + + +// fn quantizeToF16(f32) -> f32 +fn quantizeToF16_12e50e() { + var res: f32 = quantizeToF16(1.f); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_12e50e(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_12e50e(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_12e50e(); +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000000..0068d1c74a --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.dxc.hlsl @@ -0,0 +1,30 @@ +void quantizeToF16_12e50e() { + float res = float(min16float(1.0f)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_12e50e(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_12e50e(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_12e50e(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000000..0068d1c74a --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.fxc.hlsl @@ -0,0 +1,30 @@ +void quantizeToF16_12e50e() { + float res = float(min16float(1.0f)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_12e50e(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_12e50e(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_12e50e(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl new file mode 100644 index 0000000000..b0c188fc4d --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl @@ -0,0 +1,64 @@ +#version 310 es + +float tint_quantizeToF16(float param_0) { + return unpackHalf2x16(packHalf2x16(vec2(param_0))).x; +} + + +void quantizeToF16_12e50e() { + float res = tint_quantizeToF16(1.0f); +} + +vec4 vertex_main() { + quantizeToF16_12e50e(); + return vec4(0.0f); +} + +void main() { + gl_PointSize = 1.0; + vec4 inner_result = vertex_main(); + gl_Position = inner_result; + gl_Position.y = -(gl_Position.y); + gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); + return; +} +#version 310 es +precision mediump float; + +float tint_quantizeToF16(float param_0) { + return unpackHalf2x16(packHalf2x16(vec2(param_0))).x; +} + + +void quantizeToF16_12e50e() { + float res = tint_quantizeToF16(1.0f); +} + +void fragment_main() { + quantizeToF16_12e50e(); +} + +void main() { + fragment_main(); + return; +} +#version 310 es + +float tint_quantizeToF16(float param_0) { + return unpackHalf2x16(packHalf2x16(vec2(param_0))).x; +} + + +void quantizeToF16_12e50e() { + float res = tint_quantizeToF16(1.0f); +} + +void compute_main() { + quantizeToF16_12e50e(); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + compute_main(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.msl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.msl new file mode 100644 index 0000000000..ef41ccf7a0 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.msl @@ -0,0 +1,33 @@ +#include + +using namespace metal; +void quantizeToF16_12e50e() { + float res = float(half(1.0f)); +} + +struct tint_symbol { + float4 value [[position]]; +}; + +float4 vertex_main_inner() { + quantizeToF16_12e50e(); + return float4(0.0f); +} + +vertex tint_symbol vertex_main() { + float4 const inner_result = vertex_main_inner(); + tint_symbol wrapper_result = {}; + wrapper_result.value = inner_result; + return wrapper_result; +} + +fragment void fragment_main() { + quantizeToF16_12e50e(); + return; +} + +kernel void compute_main() { + quantizeToF16_12e50e(); + return; +} + diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.spvasm new file mode 100644 index 0000000000..c9d9f279ad --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.spvasm @@ -0,0 +1,64 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 0 +; Bound: 30 +; Schema: 0 + OpCapability Shader + OpMemoryModel Logical GLSL450 + OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %value "value" + OpName %vertex_point_size "vertex_point_size" + OpName %quantizeToF16_12e50e "quantizeToF16_12e50e" + OpName %res "res" + OpName %vertex_main_inner "vertex_main_inner" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %value BuiltIn Position + OpDecorate %vertex_point_size BuiltIn PointSize + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5 = OpConstantNull %v4float + %value = OpVariable %_ptr_Output_v4float Output %5 +%_ptr_Output_float = OpTypePointer Output %float + %8 = OpConstantNull %float +%vertex_point_size = OpVariable %_ptr_Output_float Output %8 + %void = OpTypeVoid + %9 = OpTypeFunction %void + %float_1 = OpConstant %float 1 +%_ptr_Function_float = OpTypePointer Function %float + %17 = OpTypeFunction %v4float +%quantizeToF16_12e50e = OpFunction %void None %9 + %12 = OpLabel + %res = OpVariable %_ptr_Function_float Function %8 + %13 = OpQuantizeToF16 %float %float_1 + OpStore %res %13 + OpReturn + OpFunctionEnd +%vertex_main_inner = OpFunction %v4float None %17 + %19 = OpLabel + %20 = OpFunctionCall %void %quantizeToF16_12e50e + OpReturnValue %5 + OpFunctionEnd +%vertex_main = OpFunction %void None %9 + %22 = OpLabel + %23 = OpFunctionCall %v4float %vertex_main_inner + OpStore %value %23 + OpStore %vertex_point_size %float_1 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %9 + %25 = OpLabel + %26 = OpFunctionCall %void %quantizeToF16_12e50e + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %9 + %28 = OpLabel + %29 = OpFunctionCall %void %quantizeToF16_12e50e + OpReturn + OpFunctionEnd diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.wgsl new file mode 100644 index 0000000000..5c68e18b1a --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.wgsl @@ -0,0 +1,19 @@ +fn quantizeToF16_12e50e() { + var res : f32 = quantizeToF16(1.0f); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_12e50e(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_12e50e(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_12e50e(); +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl new file mode 100644 index 0000000000..9d496cd30c --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl @@ -0,0 +1,43 @@ +// Copyright 2022 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/src/cmd/gen +// using the template: +// test/tint/builtins/gen/gen.wgsl.tmpl +// +// Do not modify this file directly +//////////////////////////////////////////////////////////////////////////////// + + +// fn quantizeToF16(vec<2, f32>) -> vec<2, f32> +fn quantizeToF16_2cddf3() { + var res: vec2 = quantizeToF16(vec2(1.f)); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_2cddf3(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_2cddf3(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_2cddf3(); +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000000..d50ffc8c53 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.dxc.hlsl @@ -0,0 +1,30 @@ +void quantizeToF16_2cddf3() { + float2 res = float2(min16float2((1.0f).xx)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_2cddf3(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_2cddf3(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_2cddf3(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000000..d50ffc8c53 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.fxc.hlsl @@ -0,0 +1,30 @@ +void quantizeToF16_2cddf3() { + float2 res = float2(min16float2((1.0f).xx)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_2cddf3(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_2cddf3(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_2cddf3(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl new file mode 100644 index 0000000000..70672e9aeb --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl @@ -0,0 +1,64 @@ +#version 310 es + +vec2 tint_quantizeToF16(vec2 param_0) { + return unpackHalf2x16(packHalf2x16(param_0)); +} + + +void quantizeToF16_2cddf3() { + vec2 res = tint_quantizeToF16(vec2(1.0f)); +} + +vec4 vertex_main() { + quantizeToF16_2cddf3(); + return vec4(0.0f); +} + +void main() { + gl_PointSize = 1.0; + vec4 inner_result = vertex_main(); + gl_Position = inner_result; + gl_Position.y = -(gl_Position.y); + gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); + return; +} +#version 310 es +precision mediump float; + +vec2 tint_quantizeToF16(vec2 param_0) { + return unpackHalf2x16(packHalf2x16(param_0)); +} + + +void quantizeToF16_2cddf3() { + vec2 res = tint_quantizeToF16(vec2(1.0f)); +} + +void fragment_main() { + quantizeToF16_2cddf3(); +} + +void main() { + fragment_main(); + return; +} +#version 310 es + +vec2 tint_quantizeToF16(vec2 param_0) { + return unpackHalf2x16(packHalf2x16(param_0)); +} + + +void quantizeToF16_2cddf3() { + vec2 res = tint_quantizeToF16(vec2(1.0f)); +} + +void compute_main() { + quantizeToF16_2cddf3(); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + compute_main(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.msl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.msl new file mode 100644 index 0000000000..0ac4a09b09 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.msl @@ -0,0 +1,33 @@ +#include + +using namespace metal; +void quantizeToF16_2cddf3() { + float2 res = float2(half2(float2(1.0f))); +} + +struct tint_symbol { + float4 value [[position]]; +}; + +float4 vertex_main_inner() { + quantizeToF16_2cddf3(); + return float4(0.0f); +} + +vertex tint_symbol vertex_main() { + float4 const inner_result = vertex_main_inner(); + tint_symbol wrapper_result = {}; + wrapper_result.value = inner_result; + return wrapper_result; +} + +fragment void fragment_main() { + quantizeToF16_2cddf3(); + return; +} + +kernel void compute_main() { + quantizeToF16_2cddf3(); + return; +} + diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.spvasm new file mode 100644 index 0000000000..189b7c0abc --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.spvasm @@ -0,0 +1,83 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 0 +; Bound: 45 +; Schema: 0 + OpCapability Shader + OpMemoryModel Logical GLSL450 + OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %value "value" + OpName %vertex_point_size "vertex_point_size" + OpName %tint_quantizeToF16 "tint_quantizeToF16" + OpName %v "v" + OpName %quantizeToF16_2cddf3 "quantizeToF16_2cddf3" + OpName %res "res" + OpName %vertex_main_inner "vertex_main_inner" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %value BuiltIn Position + OpDecorate %vertex_point_size BuiltIn PointSize + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5 = OpConstantNull %v4float + %value = OpVariable %_ptr_Output_v4float Output %5 +%_ptr_Output_float = OpTypePointer Output %float + %8 = OpConstantNull %float +%vertex_point_size = OpVariable %_ptr_Output_float Output %8 + %v2float = OpTypeVector %float 2 + %9 = OpTypeFunction %v2float %v2float + %uint = OpTypeInt 32 0 + %16 = OpConstantNull %uint + %uint_1 = OpConstant %uint 1 + %void = OpTypeVoid + %22 = OpTypeFunction %void + %float_1 = OpConstant %float 1 + %28 = OpConstantComposite %v2float %float_1 %float_1 +%_ptr_Function_v2float = OpTypePointer Function %v2float + %31 = OpConstantNull %v2float + %32 = OpTypeFunction %v4float +%tint_quantizeToF16 = OpFunction %v2float None %9 + %v = OpFunctionParameter %v2float + %13 = OpLabel + %17 = OpCompositeExtract %float %v 0 + %14 = OpQuantizeToF16 %float %17 + %20 = OpCompositeExtract %float %v 1 + %18 = OpQuantizeToF16 %float %20 + %21 = OpCompositeConstruct %v2float %14 %18 + OpReturnValue %21 + OpFunctionEnd +%quantizeToF16_2cddf3 = OpFunction %void None %22 + %25 = OpLabel + %res = OpVariable %_ptr_Function_v2float Function %31 + %26 = OpFunctionCall %v2float %tint_quantizeToF16 %28 + OpStore %res %26 + OpReturn + OpFunctionEnd +%vertex_main_inner = OpFunction %v4float None %32 + %34 = OpLabel + %35 = OpFunctionCall %void %quantizeToF16_2cddf3 + OpReturnValue %5 + OpFunctionEnd +%vertex_main = OpFunction %void None %22 + %37 = OpLabel + %38 = OpFunctionCall %v4float %vertex_main_inner + OpStore %value %38 + OpStore %vertex_point_size %float_1 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %22 + %40 = OpLabel + %41 = OpFunctionCall %void %quantizeToF16_2cddf3 + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %22 + %43 = OpLabel + %44 = OpFunctionCall %void %quantizeToF16_2cddf3 + OpReturn + OpFunctionEnd diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.wgsl new file mode 100644 index 0000000000..277ced8496 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.wgsl @@ -0,0 +1,19 @@ +fn quantizeToF16_2cddf3() { + var res : vec2 = quantizeToF16(vec2(1.0f)); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_2cddf3(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_2cddf3(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_2cddf3(); +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl new file mode 100644 index 0000000000..118fd3bb65 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl @@ -0,0 +1,43 @@ +// Copyright 2022 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/src/cmd/gen +// using the template: +// test/tint/builtins/gen/gen.wgsl.tmpl +// +// Do not modify this file directly +//////////////////////////////////////////////////////////////////////////////// + + +// fn quantizeToF16(vec<4, f32>) -> vec<4, f32> +fn quantizeToF16_cba294() { + var res: vec4 = quantizeToF16(vec4(1.f)); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_cba294(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_cba294(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_cba294(); +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000000..85c7a6dabc --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.dxc.hlsl @@ -0,0 +1,30 @@ +void quantizeToF16_cba294() { + float4 res = float4(min16float4((1.0f).xxxx)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_cba294(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_cba294(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_cba294(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000000..85c7a6dabc --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.fxc.hlsl @@ -0,0 +1,30 @@ +void quantizeToF16_cba294() { + float4 res = float4(min16float4((1.0f).xxxx)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_cba294(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_cba294(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_cba294(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl new file mode 100644 index 0000000000..a16f0f9360 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl @@ -0,0 +1,70 @@ +#version 310 es + +vec4 tint_quantizeToF16(vec4 param_0) { + return vec4( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zw))); +} + + +void quantizeToF16_cba294() { + vec4 res = tint_quantizeToF16(vec4(1.0f)); +} + +vec4 vertex_main() { + quantizeToF16_cba294(); + return vec4(0.0f); +} + +void main() { + gl_PointSize = 1.0; + vec4 inner_result = vertex_main(); + gl_Position = inner_result; + gl_Position.y = -(gl_Position.y); + gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); + return; +} +#version 310 es +precision mediump float; + +vec4 tint_quantizeToF16(vec4 param_0) { + return vec4( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zw))); +} + + +void quantizeToF16_cba294() { + vec4 res = tint_quantizeToF16(vec4(1.0f)); +} + +void fragment_main() { + quantizeToF16_cba294(); +} + +void main() { + fragment_main(); + return; +} +#version 310 es + +vec4 tint_quantizeToF16(vec4 param_0) { + return vec4( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zw))); +} + + +void quantizeToF16_cba294() { + vec4 res = tint_quantizeToF16(vec4(1.0f)); +} + +void compute_main() { + quantizeToF16_cba294(); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + compute_main(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.msl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.msl new file mode 100644 index 0000000000..d615dd52af --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.msl @@ -0,0 +1,33 @@ +#include + +using namespace metal; +void quantizeToF16_cba294() { + float4 res = float4(half4(float4(1.0f))); +} + +struct tint_symbol { + float4 value [[position]]; +}; + +float4 vertex_main_inner() { + quantizeToF16_cba294(); + return float4(0.0f); +} + +vertex tint_symbol vertex_main() { + float4 const inner_result = vertex_main_inner(); + tint_symbol wrapper_result = {}; + wrapper_result.value = inner_result; + return wrapper_result; +} + +fragment void fragment_main() { + quantizeToF16_cba294(); + return; +} + +kernel void compute_main() { + quantizeToF16_cba294(); + return; +} + diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.spvasm new file mode 100644 index 0000000000..69dbb990ce --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.spvasm @@ -0,0 +1,87 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 0 +; Bound: 49 +; Schema: 0 + OpCapability Shader + OpMemoryModel Logical GLSL450 + OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %value "value" + OpName %vertex_point_size "vertex_point_size" + OpName %tint_quantizeToF16 "tint_quantizeToF16" + OpName %v "v" + OpName %quantizeToF16_cba294 "quantizeToF16_cba294" + OpName %res "res" + OpName %vertex_main_inner "vertex_main_inner" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %value BuiltIn Position + OpDecorate %vertex_point_size BuiltIn PointSize + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5 = OpConstantNull %v4float + %value = OpVariable %_ptr_Output_v4float Output %5 +%_ptr_Output_float = OpTypePointer Output %float + %8 = OpConstantNull %float +%vertex_point_size = OpVariable %_ptr_Output_float Output %8 + %9 = OpTypeFunction %v4float %v4float + %uint = OpTypeInt 32 0 + %15 = OpConstantNull %uint + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 + %void = OpTypeVoid + %27 = OpTypeFunction %void + %float_1 = OpConstant %float 1 + %33 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 +%_ptr_Function_v4float = OpTypePointer Function %v4float + %36 = OpTypeFunction %v4float +%tint_quantizeToF16 = OpFunction %v4float None %9 + %v = OpFunctionParameter %v4float + %12 = OpLabel + %16 = OpCompositeExtract %float %v 0 + %13 = OpQuantizeToF16 %float %16 + %19 = OpCompositeExtract %float %v 1 + %17 = OpQuantizeToF16 %float %19 + %22 = OpCompositeExtract %float %v 2 + %20 = OpQuantizeToF16 %float %22 + %25 = OpCompositeExtract %float %v 3 + %23 = OpQuantizeToF16 %float %25 + %26 = OpCompositeConstruct %v4float %13 %17 %20 %23 + OpReturnValue %26 + OpFunctionEnd +%quantizeToF16_cba294 = OpFunction %void None %27 + %30 = OpLabel + %res = OpVariable %_ptr_Function_v4float Function %5 + %31 = OpFunctionCall %v4float %tint_quantizeToF16 %33 + OpStore %res %31 + OpReturn + OpFunctionEnd +%vertex_main_inner = OpFunction %v4float None %36 + %38 = OpLabel + %39 = OpFunctionCall %void %quantizeToF16_cba294 + OpReturnValue %5 + OpFunctionEnd +%vertex_main = OpFunction %void None %27 + %41 = OpLabel + %42 = OpFunctionCall %v4float %vertex_main_inner + OpStore %value %42 + OpStore %vertex_point_size %float_1 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %27 + %44 = OpLabel + %45 = OpFunctionCall %void %quantizeToF16_cba294 + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %27 + %47 = OpLabel + %48 = OpFunctionCall %void %quantizeToF16_cba294 + OpReturn + OpFunctionEnd diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.wgsl new file mode 100644 index 0000000000..0a4cc6466f --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.wgsl @@ -0,0 +1,19 @@ +fn quantizeToF16_cba294() { + var res : vec4 = quantizeToF16(vec4(1.0f)); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_cba294(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_cba294(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_cba294(); +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl new file mode 100644 index 0000000000..9d448019b2 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl @@ -0,0 +1,43 @@ +// Copyright 2022 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/src/cmd/gen +// using the template: +// test/tint/builtins/gen/gen.wgsl.tmpl +// +// Do not modify this file directly +//////////////////////////////////////////////////////////////////////////////// + + +// fn quantizeToF16(vec<3, f32>) -> vec<3, f32> +fn quantizeToF16_e8fd14() { + var res: vec3 = quantizeToF16(vec3(1.f)); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_e8fd14(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_e8fd14(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_e8fd14(); +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000000..e5a09b3326 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.dxc.hlsl @@ -0,0 +1,30 @@ +void quantizeToF16_e8fd14() { + float3 res = float3(min16float3((1.0f).xxx)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_e8fd14(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_e8fd14(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_e8fd14(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000000..e5a09b3326 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.fxc.hlsl @@ -0,0 +1,30 @@ +void quantizeToF16_e8fd14() { + float3 res = float3(min16float3((1.0f).xxx)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_e8fd14(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_e8fd14(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_e8fd14(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl new file mode 100644 index 0000000000..d277459e1e --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl @@ -0,0 +1,70 @@ +#version 310 es + +vec3 tint_quantizeToF16(vec3 param_0) { + return vec3( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zz)).x); +} + + +void quantizeToF16_e8fd14() { + vec3 res = tint_quantizeToF16(vec3(1.0f)); +} + +vec4 vertex_main() { + quantizeToF16_e8fd14(); + return vec4(0.0f); +} + +void main() { + gl_PointSize = 1.0; + vec4 inner_result = vertex_main(); + gl_Position = inner_result; + gl_Position.y = -(gl_Position.y); + gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); + return; +} +#version 310 es +precision mediump float; + +vec3 tint_quantizeToF16(vec3 param_0) { + return vec3( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zz)).x); +} + + +void quantizeToF16_e8fd14() { + vec3 res = tint_quantizeToF16(vec3(1.0f)); +} + +void fragment_main() { + quantizeToF16_e8fd14(); +} + +void main() { + fragment_main(); + return; +} +#version 310 es + +vec3 tint_quantizeToF16(vec3 param_0) { + return vec3( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zz)).x); +} + + +void quantizeToF16_e8fd14() { + vec3 res = tint_quantizeToF16(vec3(1.0f)); +} + +void compute_main() { + quantizeToF16_e8fd14(); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + compute_main(); + return; +} diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.msl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.msl new file mode 100644 index 0000000000..3c4a55b10a --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.msl @@ -0,0 +1,33 @@ +#include + +using namespace metal; +void quantizeToF16_e8fd14() { + float3 res = float3(half3(float3(1.0f))); +} + +struct tint_symbol { + float4 value [[position]]; +}; + +float4 vertex_main_inner() { + quantizeToF16_e8fd14(); + return float4(0.0f); +} + +vertex tint_symbol vertex_main() { + float4 const inner_result = vertex_main_inner(); + tint_symbol wrapper_result = {}; + wrapper_result.value = inner_result; + return wrapper_result; +} + +fragment void fragment_main() { + quantizeToF16_e8fd14(); + return; +} + +kernel void compute_main() { + quantizeToF16_e8fd14(); + return; +} + diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.spvasm new file mode 100644 index 0000000000..af5c62d3ce --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.spvasm @@ -0,0 +1,86 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 0 +; Bound: 48 +; Schema: 0 + OpCapability Shader + OpMemoryModel Logical GLSL450 + OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %value "value" + OpName %vertex_point_size "vertex_point_size" + OpName %tint_quantizeToF16 "tint_quantizeToF16" + OpName %v "v" + OpName %quantizeToF16_e8fd14 "quantizeToF16_e8fd14" + OpName %res "res" + OpName %vertex_main_inner "vertex_main_inner" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %value BuiltIn Position + OpDecorate %vertex_point_size BuiltIn PointSize + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5 = OpConstantNull %v4float + %value = OpVariable %_ptr_Output_v4float Output %5 +%_ptr_Output_float = OpTypePointer Output %float + %8 = OpConstantNull %float +%vertex_point_size = OpVariable %_ptr_Output_float Output %8 + %v3float = OpTypeVector %float 3 + %9 = OpTypeFunction %v3float %v3float + %uint = OpTypeInt 32 0 + %16 = OpConstantNull %uint + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %void = OpTypeVoid + %25 = OpTypeFunction %void + %float_1 = OpConstant %float 1 + %31 = OpConstantComposite %v3float %float_1 %float_1 %float_1 +%_ptr_Function_v3float = OpTypePointer Function %v3float + %34 = OpConstantNull %v3float + %35 = OpTypeFunction %v4float +%tint_quantizeToF16 = OpFunction %v3float None %9 + %v = OpFunctionParameter %v3float + %13 = OpLabel + %17 = OpCompositeExtract %float %v 0 + %14 = OpQuantizeToF16 %float %17 + %20 = OpCompositeExtract %float %v 1 + %18 = OpQuantizeToF16 %float %20 + %23 = OpCompositeExtract %float %v 2 + %21 = OpQuantizeToF16 %float %23 + %24 = OpCompositeConstruct %v3float %14 %18 %21 + OpReturnValue %24 + OpFunctionEnd +%quantizeToF16_e8fd14 = OpFunction %void None %25 + %28 = OpLabel + %res = OpVariable %_ptr_Function_v3float Function %34 + %29 = OpFunctionCall %v3float %tint_quantizeToF16 %31 + OpStore %res %29 + OpReturn + OpFunctionEnd +%vertex_main_inner = OpFunction %v4float None %35 + %37 = OpLabel + %38 = OpFunctionCall %void %quantizeToF16_e8fd14 + OpReturnValue %5 + OpFunctionEnd +%vertex_main = OpFunction %void None %25 + %40 = OpLabel + %41 = OpFunctionCall %v4float %vertex_main_inner + OpStore %value %41 + OpStore %vertex_point_size %float_1 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %25 + %43 = OpLabel + %44 = OpFunctionCall %void %quantizeToF16_e8fd14 + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %25 + %46 = OpLabel + %47 = OpFunctionCall %void %quantizeToF16_e8fd14 + OpReturn + OpFunctionEnd diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.wgsl new file mode 100644 index 0000000000..29a4c4c074 --- /dev/null +++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.wgsl @@ -0,0 +1,19 @@ +fn quantizeToF16_e8fd14() { + var res : vec3 = quantizeToF16(vec3(1.0f)); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_e8fd14(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_e8fd14(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_e8fd14(); +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl new file mode 100644 index 0000000000..0db4d3d326 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl @@ -0,0 +1,44 @@ +// Copyright 2022 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/src/cmd/gen +// using the template: +// test/tint/builtins/gen/gen.wgsl.tmpl +// +// Do not modify this file directly +//////////////////////////////////////////////////////////////////////////////// + + +// fn quantizeToF16(f32) -> f32 +fn quantizeToF16_12e50e() { + var arg_0 = 1.f; + var res: f32 = quantizeToF16(arg_0); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_12e50e(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_12e50e(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_12e50e(); +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000000..dc090975a2 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.dxc.hlsl @@ -0,0 +1,31 @@ +void quantizeToF16_12e50e() { + float arg_0 = 1.0f; + float res = float(min16float(arg_0)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_12e50e(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_12e50e(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_12e50e(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000000..dc090975a2 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.fxc.hlsl @@ -0,0 +1,31 @@ +void quantizeToF16_12e50e() { + float arg_0 = 1.0f; + float res = float(min16float(arg_0)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_12e50e(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_12e50e(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_12e50e(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl new file mode 100644 index 0000000000..bdf4066756 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl @@ -0,0 +1,67 @@ +#version 310 es + +float tint_quantizeToF16(float param_0) { + return unpackHalf2x16(packHalf2x16(vec2(param_0))).x; +} + + +void quantizeToF16_12e50e() { + float arg_0 = 1.0f; + float res = tint_quantizeToF16(arg_0); +} + +vec4 vertex_main() { + quantizeToF16_12e50e(); + return vec4(0.0f); +} + +void main() { + gl_PointSize = 1.0; + vec4 inner_result = vertex_main(); + gl_Position = inner_result; + gl_Position.y = -(gl_Position.y); + gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); + return; +} +#version 310 es +precision mediump float; + +float tint_quantizeToF16(float param_0) { + return unpackHalf2x16(packHalf2x16(vec2(param_0))).x; +} + + +void quantizeToF16_12e50e() { + float arg_0 = 1.0f; + float res = tint_quantizeToF16(arg_0); +} + +void fragment_main() { + quantizeToF16_12e50e(); +} + +void main() { + fragment_main(); + return; +} +#version 310 es + +float tint_quantizeToF16(float param_0) { + return unpackHalf2x16(packHalf2x16(vec2(param_0))).x; +} + + +void quantizeToF16_12e50e() { + float arg_0 = 1.0f; + float res = tint_quantizeToF16(arg_0); +} + +void compute_main() { + quantizeToF16_12e50e(); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + compute_main(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.msl b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.msl new file mode 100644 index 0000000000..fe77da003b --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.msl @@ -0,0 +1,34 @@ +#include + +using namespace metal; +void quantizeToF16_12e50e() { + float arg_0 = 1.0f; + float res = float(half(arg_0)); +} + +struct tint_symbol { + float4 value [[position]]; +}; + +float4 vertex_main_inner() { + quantizeToF16_12e50e(); + return float4(0.0f); +} + +vertex tint_symbol vertex_main() { + float4 const inner_result = vertex_main_inner(); + tint_symbol wrapper_result = {}; + wrapper_result.value = inner_result; + return wrapper_result; +} + +fragment void fragment_main() { + quantizeToF16_12e50e(); + return; +} + +kernel void compute_main() { + quantizeToF16_12e50e(); + return; +} + diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.spvasm new file mode 100644 index 0000000000..364ed538f8 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.spvasm @@ -0,0 +1,68 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 0 +; Bound: 32 +; Schema: 0 + OpCapability Shader + OpMemoryModel Logical GLSL450 + OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %value "value" + OpName %vertex_point_size "vertex_point_size" + OpName %quantizeToF16_12e50e "quantizeToF16_12e50e" + OpName %arg_0 "arg_0" + OpName %res "res" + OpName %vertex_main_inner "vertex_main_inner" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %value BuiltIn Position + OpDecorate %vertex_point_size BuiltIn PointSize + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5 = OpConstantNull %v4float + %value = OpVariable %_ptr_Output_v4float Output %5 +%_ptr_Output_float = OpTypePointer Output %float + %8 = OpConstantNull %float +%vertex_point_size = OpVariable %_ptr_Output_float Output %8 + %void = OpTypeVoid + %9 = OpTypeFunction %void + %float_1 = OpConstant %float 1 +%_ptr_Function_float = OpTypePointer Function %float + %19 = OpTypeFunction %v4float +%quantizeToF16_12e50e = OpFunction %void None %9 + %12 = OpLabel + %arg_0 = OpVariable %_ptr_Function_float Function %8 + %res = OpVariable %_ptr_Function_float Function %8 + OpStore %arg_0 %float_1 + %17 = OpLoad %float %arg_0 + %16 = OpQuantizeToF16 %float %17 + OpStore %res %16 + OpReturn + OpFunctionEnd +%vertex_main_inner = OpFunction %v4float None %19 + %21 = OpLabel + %22 = OpFunctionCall %void %quantizeToF16_12e50e + OpReturnValue %5 + OpFunctionEnd +%vertex_main = OpFunction %void None %9 + %24 = OpLabel + %25 = OpFunctionCall %v4float %vertex_main_inner + OpStore %value %25 + OpStore %vertex_point_size %float_1 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %9 + %27 = OpLabel + %28 = OpFunctionCall %void %quantizeToF16_12e50e + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %9 + %30 = OpLabel + %31 = OpFunctionCall %void %quantizeToF16_12e50e + OpReturn + OpFunctionEnd diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.wgsl new file mode 100644 index 0000000000..db420122e5 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.wgsl @@ -0,0 +1,20 @@ +fn quantizeToF16_12e50e() { + var arg_0 = 1.0f; + var res : f32 = quantizeToF16(arg_0); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_12e50e(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_12e50e(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_12e50e(); +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl new file mode 100644 index 0000000000..b206740893 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl @@ -0,0 +1,44 @@ +// Copyright 2022 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/src/cmd/gen +// using the template: +// test/tint/builtins/gen/gen.wgsl.tmpl +// +// Do not modify this file directly +//////////////////////////////////////////////////////////////////////////////// + + +// fn quantizeToF16(vec<2, f32>) -> vec<2, f32> +fn quantizeToF16_2cddf3() { + var arg_0 = vec2(1.f); + var res: vec2 = quantizeToF16(arg_0); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_2cddf3(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_2cddf3(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_2cddf3(); +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000000..b8c9801332 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.dxc.hlsl @@ -0,0 +1,31 @@ +void quantizeToF16_2cddf3() { + float2 arg_0 = (1.0f).xx; + float2 res = float2(min16float2(arg_0)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_2cddf3(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_2cddf3(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_2cddf3(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000000..b8c9801332 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.fxc.hlsl @@ -0,0 +1,31 @@ +void quantizeToF16_2cddf3() { + float2 arg_0 = (1.0f).xx; + float2 res = float2(min16float2(arg_0)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_2cddf3(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_2cddf3(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_2cddf3(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl new file mode 100644 index 0000000000..a1cc981e41 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl @@ -0,0 +1,67 @@ +#version 310 es + +vec2 tint_quantizeToF16(vec2 param_0) { + return unpackHalf2x16(packHalf2x16(param_0)); +} + + +void quantizeToF16_2cddf3() { + vec2 arg_0 = vec2(1.0f); + vec2 res = tint_quantizeToF16(arg_0); +} + +vec4 vertex_main() { + quantizeToF16_2cddf3(); + return vec4(0.0f); +} + +void main() { + gl_PointSize = 1.0; + vec4 inner_result = vertex_main(); + gl_Position = inner_result; + gl_Position.y = -(gl_Position.y); + gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); + return; +} +#version 310 es +precision mediump float; + +vec2 tint_quantizeToF16(vec2 param_0) { + return unpackHalf2x16(packHalf2x16(param_0)); +} + + +void quantizeToF16_2cddf3() { + vec2 arg_0 = vec2(1.0f); + vec2 res = tint_quantizeToF16(arg_0); +} + +void fragment_main() { + quantizeToF16_2cddf3(); +} + +void main() { + fragment_main(); + return; +} +#version 310 es + +vec2 tint_quantizeToF16(vec2 param_0) { + return unpackHalf2x16(packHalf2x16(param_0)); +} + + +void quantizeToF16_2cddf3() { + vec2 arg_0 = vec2(1.0f); + vec2 res = tint_quantizeToF16(arg_0); +} + +void compute_main() { + quantizeToF16_2cddf3(); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + compute_main(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.msl b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.msl new file mode 100644 index 0000000000..f1465f59a7 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.msl @@ -0,0 +1,34 @@ +#include + +using namespace metal; +void quantizeToF16_2cddf3() { + float2 arg_0 = float2(1.0f); + float2 res = float2(half2(arg_0)); +} + +struct tint_symbol { + float4 value [[position]]; +}; + +float4 vertex_main_inner() { + quantizeToF16_2cddf3(); + return float4(0.0f); +} + +vertex tint_symbol vertex_main() { + float4 const inner_result = vertex_main_inner(); + tint_symbol wrapper_result = {}; + wrapper_result.value = inner_result; + return wrapper_result; +} + +fragment void fragment_main() { + quantizeToF16_2cddf3(); + return; +} + +kernel void compute_main() { + quantizeToF16_2cddf3(); + return; +} + diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.spvasm new file mode 100644 index 0000000000..b1765a7c97 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.spvasm @@ -0,0 +1,87 @@ +; 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" %value %vertex_point_size + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %value "value" + OpName %vertex_point_size "vertex_point_size" + OpName %tint_quantizeToF16 "tint_quantizeToF16" + OpName %v "v" + OpName %quantizeToF16_2cddf3 "quantizeToF16_2cddf3" + OpName %arg_0 "arg_0" + OpName %res "res" + OpName %vertex_main_inner "vertex_main_inner" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %value BuiltIn Position + OpDecorate %vertex_point_size BuiltIn PointSize + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5 = OpConstantNull %v4float + %value = OpVariable %_ptr_Output_v4float Output %5 +%_ptr_Output_float = OpTypePointer Output %float + %8 = OpConstantNull %float +%vertex_point_size = OpVariable %_ptr_Output_float Output %8 + %v2float = OpTypeVector %float 2 + %9 = OpTypeFunction %v2float %v2float + %uint = OpTypeInt 32 0 + %16 = OpConstantNull %uint + %uint_1 = OpConstant %uint 1 + %void = OpTypeVoid + %22 = OpTypeFunction %void + %float_1 = OpConstant %float 1 + %27 = OpConstantComposite %v2float %float_1 %float_1 +%_ptr_Function_v2float = OpTypePointer Function %v2float + %30 = OpConstantNull %v2float + %34 = OpTypeFunction %v4float +%tint_quantizeToF16 = OpFunction %v2float None %9 + %v = OpFunctionParameter %v2float + %13 = OpLabel + %17 = OpCompositeExtract %float %v 0 + %14 = OpQuantizeToF16 %float %17 + %20 = OpCompositeExtract %float %v 1 + %18 = OpQuantizeToF16 %float %20 + %21 = OpCompositeConstruct %v2float %14 %18 + OpReturnValue %21 + OpFunctionEnd +%quantizeToF16_2cddf3 = OpFunction %void None %22 + %25 = OpLabel + %arg_0 = OpVariable %_ptr_Function_v2float Function %30 + %res = OpVariable %_ptr_Function_v2float Function %30 + OpStore %arg_0 %27 + %32 = OpLoad %v2float %arg_0 + %31 = OpFunctionCall %v2float %tint_quantizeToF16 %32 + OpStore %res %31 + OpReturn + OpFunctionEnd +%vertex_main_inner = OpFunction %v4float None %34 + %36 = OpLabel + %37 = OpFunctionCall %void %quantizeToF16_2cddf3 + OpReturnValue %5 + OpFunctionEnd +%vertex_main = OpFunction %void None %22 + %39 = OpLabel + %40 = OpFunctionCall %v4float %vertex_main_inner + OpStore %value %40 + OpStore %vertex_point_size %float_1 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %22 + %42 = OpLabel + %43 = OpFunctionCall %void %quantizeToF16_2cddf3 + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %22 + %45 = OpLabel + %46 = OpFunctionCall %void %quantizeToF16_2cddf3 + OpReturn + OpFunctionEnd diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.wgsl new file mode 100644 index 0000000000..99091165c4 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.wgsl @@ -0,0 +1,20 @@ +fn quantizeToF16_2cddf3() { + var arg_0 = vec2(1.0f); + var res : vec2 = quantizeToF16(arg_0); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_2cddf3(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_2cddf3(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_2cddf3(); +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl new file mode 100644 index 0000000000..d647f17871 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl @@ -0,0 +1,44 @@ +// Copyright 2022 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/src/cmd/gen +// using the template: +// test/tint/builtins/gen/gen.wgsl.tmpl +// +// Do not modify this file directly +//////////////////////////////////////////////////////////////////////////////// + + +// fn quantizeToF16(vec<4, f32>) -> vec<4, f32> +fn quantizeToF16_cba294() { + var arg_0 = vec4(1.f); + var res: vec4 = quantizeToF16(arg_0); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_cba294(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_cba294(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_cba294(); +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000000..2acea19337 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.dxc.hlsl @@ -0,0 +1,31 @@ +void quantizeToF16_cba294() { + float4 arg_0 = (1.0f).xxxx; + float4 res = float4(min16float4(arg_0)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_cba294(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_cba294(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_cba294(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000000..2acea19337 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.fxc.hlsl @@ -0,0 +1,31 @@ +void quantizeToF16_cba294() { + float4 arg_0 = (1.0f).xxxx; + float4 res = float4(min16float4(arg_0)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_cba294(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_cba294(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_cba294(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl new file mode 100644 index 0000000000..8fe738ebb0 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl @@ -0,0 +1,73 @@ +#version 310 es + +vec4 tint_quantizeToF16(vec4 param_0) { + return vec4( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zw))); +} + + +void quantizeToF16_cba294() { + vec4 arg_0 = vec4(1.0f); + vec4 res = tint_quantizeToF16(arg_0); +} + +vec4 vertex_main() { + quantizeToF16_cba294(); + return vec4(0.0f); +} + +void main() { + gl_PointSize = 1.0; + vec4 inner_result = vertex_main(); + gl_Position = inner_result; + gl_Position.y = -(gl_Position.y); + gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); + return; +} +#version 310 es +precision mediump float; + +vec4 tint_quantizeToF16(vec4 param_0) { + return vec4( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zw))); +} + + +void quantizeToF16_cba294() { + vec4 arg_0 = vec4(1.0f); + vec4 res = tint_quantizeToF16(arg_0); +} + +void fragment_main() { + quantizeToF16_cba294(); +} + +void main() { + fragment_main(); + return; +} +#version 310 es + +vec4 tint_quantizeToF16(vec4 param_0) { + return vec4( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zw))); +} + + +void quantizeToF16_cba294() { + vec4 arg_0 = vec4(1.0f); + vec4 res = tint_quantizeToF16(arg_0); +} + +void compute_main() { + quantizeToF16_cba294(); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + compute_main(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.msl b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.msl new file mode 100644 index 0000000000..a1def76066 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.msl @@ -0,0 +1,34 @@ +#include + +using namespace metal; +void quantizeToF16_cba294() { + float4 arg_0 = float4(1.0f); + float4 res = float4(half4(arg_0)); +} + +struct tint_symbol { + float4 value [[position]]; +}; + +float4 vertex_main_inner() { + quantizeToF16_cba294(); + return float4(0.0f); +} + +vertex tint_symbol vertex_main() { + float4 const inner_result = vertex_main_inner(); + tint_symbol wrapper_result = {}; + wrapper_result.value = inner_result; + return wrapper_result; +} + +fragment void fragment_main() { + quantizeToF16_cba294(); + return; +} + +kernel void compute_main() { + quantizeToF16_cba294(); + return; +} + diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.spvasm b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.spvasm new file mode 100644 index 0000000000..68eed3831e --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.spvasm @@ -0,0 +1,91 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 0 +; Bound: 51 +; Schema: 0 + OpCapability Shader + OpMemoryModel Logical GLSL450 + OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %value "value" + OpName %vertex_point_size "vertex_point_size" + OpName %tint_quantizeToF16 "tint_quantizeToF16" + OpName %v "v" + OpName %quantizeToF16_cba294 "quantizeToF16_cba294" + OpName %arg_0 "arg_0" + OpName %res "res" + OpName %vertex_main_inner "vertex_main_inner" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %value BuiltIn Position + OpDecorate %vertex_point_size BuiltIn PointSize + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5 = OpConstantNull %v4float + %value = OpVariable %_ptr_Output_v4float Output %5 +%_ptr_Output_float = OpTypePointer Output %float + %8 = OpConstantNull %float +%vertex_point_size = OpVariable %_ptr_Output_float Output %8 + %9 = OpTypeFunction %v4float %v4float + %uint = OpTypeInt 32 0 + %15 = OpConstantNull %uint + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 + %void = OpTypeVoid + %27 = OpTypeFunction %void + %float_1 = OpConstant %float 1 + %32 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 +%_ptr_Function_v4float = OpTypePointer Function %v4float + %38 = OpTypeFunction %v4float +%tint_quantizeToF16 = OpFunction %v4float None %9 + %v = OpFunctionParameter %v4float + %12 = OpLabel + %16 = OpCompositeExtract %float %v 0 + %13 = OpQuantizeToF16 %float %16 + %19 = OpCompositeExtract %float %v 1 + %17 = OpQuantizeToF16 %float %19 + %22 = OpCompositeExtract %float %v 2 + %20 = OpQuantizeToF16 %float %22 + %25 = OpCompositeExtract %float %v 3 + %23 = OpQuantizeToF16 %float %25 + %26 = OpCompositeConstruct %v4float %13 %17 %20 %23 + OpReturnValue %26 + OpFunctionEnd +%quantizeToF16_cba294 = OpFunction %void None %27 + %30 = OpLabel + %arg_0 = OpVariable %_ptr_Function_v4float Function %5 + %res = OpVariable %_ptr_Function_v4float Function %5 + OpStore %arg_0 %32 + %36 = OpLoad %v4float %arg_0 + %35 = OpFunctionCall %v4float %tint_quantizeToF16 %36 + OpStore %res %35 + OpReturn + OpFunctionEnd +%vertex_main_inner = OpFunction %v4float None %38 + %40 = OpLabel + %41 = OpFunctionCall %void %quantizeToF16_cba294 + OpReturnValue %5 + OpFunctionEnd +%vertex_main = OpFunction %void None %27 + %43 = OpLabel + %44 = OpFunctionCall %v4float %vertex_main_inner + OpStore %value %44 + OpStore %vertex_point_size %float_1 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %27 + %46 = OpLabel + %47 = OpFunctionCall %void %quantizeToF16_cba294 + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %27 + %49 = OpLabel + %50 = OpFunctionCall %void %quantizeToF16_cba294 + OpReturn + OpFunctionEnd diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.wgsl b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.wgsl new file mode 100644 index 0000000000..445723c6b6 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.wgsl @@ -0,0 +1,20 @@ +fn quantizeToF16_cba294() { + var arg_0 = vec4(1.0f); + var res : vec4 = quantizeToF16(arg_0); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_cba294(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_cba294(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_cba294(); +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl new file mode 100644 index 0000000000..38c67851c9 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl @@ -0,0 +1,44 @@ +// Copyright 2022 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/src/cmd/gen +// using the template: +// test/tint/builtins/gen/gen.wgsl.tmpl +// +// Do not modify this file directly +//////////////////////////////////////////////////////////////////////////////// + + +// fn quantizeToF16(vec<3, f32>) -> vec<3, f32> +fn quantizeToF16_e8fd14() { + var arg_0 = vec3(1.f); + var res: vec3 = quantizeToF16(arg_0); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_e8fd14(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_e8fd14(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_e8fd14(); +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.dxc.hlsl new file mode 100644 index 0000000000..445ea20f2f --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.dxc.hlsl @@ -0,0 +1,31 @@ +void quantizeToF16_e8fd14() { + float3 arg_0 = (1.0f).xxx; + float3 res = float3(min16float3(arg_0)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_e8fd14(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_e8fd14(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_e8fd14(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.fxc.hlsl new file mode 100644 index 0000000000..445ea20f2f --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.fxc.hlsl @@ -0,0 +1,31 @@ +void quantizeToF16_e8fd14() { + float3 arg_0 = (1.0f).xxx; + float3 res = float3(min16float3(arg_0)); +} + +struct tint_symbol { + float4 value : SV_Position; +}; + +float4 vertex_main_inner() { + quantizeToF16_e8fd14(); + return (0.0f).xxxx; +} + +tint_symbol vertex_main() { + const float4 inner_result = vertex_main_inner(); + tint_symbol wrapper_result = (tint_symbol)0; + wrapper_result.value = inner_result; + return wrapper_result; +} + +void fragment_main() { + quantizeToF16_e8fd14(); + return; +} + +[numthreads(1, 1, 1)] +void compute_main() { + quantizeToF16_e8fd14(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl new file mode 100644 index 0000000000..34fc9111d5 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl @@ -0,0 +1,73 @@ +#version 310 es + +vec3 tint_quantizeToF16(vec3 param_0) { + return vec3( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zz)).x); +} + + +void quantizeToF16_e8fd14() { + vec3 arg_0 = vec3(1.0f); + vec3 res = tint_quantizeToF16(arg_0); +} + +vec4 vertex_main() { + quantizeToF16_e8fd14(); + return vec4(0.0f); +} + +void main() { + gl_PointSize = 1.0; + vec4 inner_result = vertex_main(); + gl_Position = inner_result; + gl_Position.y = -(gl_Position.y); + gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w); + return; +} +#version 310 es +precision mediump float; + +vec3 tint_quantizeToF16(vec3 param_0) { + return vec3( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zz)).x); +} + + +void quantizeToF16_e8fd14() { + vec3 arg_0 = vec3(1.0f); + vec3 res = tint_quantizeToF16(arg_0); +} + +void fragment_main() { + quantizeToF16_e8fd14(); +} + +void main() { + fragment_main(); + return; +} +#version 310 es + +vec3 tint_quantizeToF16(vec3 param_0) { + return vec3( + unpackHalf2x16(packHalf2x16(param_0.xy)), + unpackHalf2x16(packHalf2x16(param_0.zz)).x); +} + + +void quantizeToF16_e8fd14() { + vec3 arg_0 = vec3(1.0f); + vec3 res = tint_quantizeToF16(arg_0); +} + +void compute_main() { + quantizeToF16_e8fd14(); +} + +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; +void main() { + compute_main(); + return; +} diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.msl b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.msl new file mode 100644 index 0000000000..15e1d87e73 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.msl @@ -0,0 +1,34 @@ +#include + +using namespace metal; +void quantizeToF16_e8fd14() { + float3 arg_0 = float3(1.0f); + float3 res = float3(half3(arg_0)); +} + +struct tint_symbol { + float4 value [[position]]; +}; + +float4 vertex_main_inner() { + quantizeToF16_e8fd14(); + return float4(0.0f); +} + +vertex tint_symbol vertex_main() { + float4 const inner_result = vertex_main_inner(); + tint_symbol wrapper_result = {}; + wrapper_result.value = inner_result; + return wrapper_result; +} + +fragment void fragment_main() { + quantizeToF16_e8fd14(); + return; +} + +kernel void compute_main() { + quantizeToF16_e8fd14(); + return; +} + diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.spvasm b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.spvasm new file mode 100644 index 0000000000..b617ab1f75 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.spvasm @@ -0,0 +1,90 @@ +; SPIR-V +; Version: 1.3 +; Generator: Google Tint Compiler; 0 +; Bound: 50 +; Schema: 0 + OpCapability Shader + OpMemoryModel Logical GLSL450 + OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size + OpEntryPoint Fragment %fragment_main "fragment_main" + OpEntryPoint GLCompute %compute_main "compute_main" + OpExecutionMode %fragment_main OriginUpperLeft + OpExecutionMode %compute_main LocalSize 1 1 1 + OpName %value "value" + OpName %vertex_point_size "vertex_point_size" + OpName %tint_quantizeToF16 "tint_quantizeToF16" + OpName %v "v" + OpName %quantizeToF16_e8fd14 "quantizeToF16_e8fd14" + OpName %arg_0 "arg_0" + OpName %res "res" + OpName %vertex_main_inner "vertex_main_inner" + OpName %vertex_main "vertex_main" + OpName %fragment_main "fragment_main" + OpName %compute_main "compute_main" + OpDecorate %value BuiltIn Position + OpDecorate %vertex_point_size BuiltIn PointSize + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %5 = OpConstantNull %v4float + %value = OpVariable %_ptr_Output_v4float Output %5 +%_ptr_Output_float = OpTypePointer Output %float + %8 = OpConstantNull %float +%vertex_point_size = OpVariable %_ptr_Output_float Output %8 + %v3float = OpTypeVector %float 3 + %9 = OpTypeFunction %v3float %v3float + %uint = OpTypeInt 32 0 + %16 = OpConstantNull %uint + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %void = OpTypeVoid + %25 = OpTypeFunction %void + %float_1 = OpConstant %float 1 + %30 = OpConstantComposite %v3float %float_1 %float_1 %float_1 +%_ptr_Function_v3float = OpTypePointer Function %v3float + %33 = OpConstantNull %v3float + %37 = OpTypeFunction %v4float +%tint_quantizeToF16 = OpFunction %v3float None %9 + %v = OpFunctionParameter %v3float + %13 = OpLabel + %17 = OpCompositeExtract %float %v 0 + %14 = OpQuantizeToF16 %float %17 + %20 = OpCompositeExtract %float %v 1 + %18 = OpQuantizeToF16 %float %20 + %23 = OpCompositeExtract %float %v 2 + %21 = OpQuantizeToF16 %float %23 + %24 = OpCompositeConstruct %v3float %14 %18 %21 + OpReturnValue %24 + OpFunctionEnd +%quantizeToF16_e8fd14 = OpFunction %void None %25 + %28 = OpLabel + %arg_0 = OpVariable %_ptr_Function_v3float Function %33 + %res = OpVariable %_ptr_Function_v3float Function %33 + OpStore %arg_0 %30 + %35 = OpLoad %v3float %arg_0 + %34 = OpFunctionCall %v3float %tint_quantizeToF16 %35 + OpStore %res %34 + OpReturn + OpFunctionEnd +%vertex_main_inner = OpFunction %v4float None %37 + %39 = OpLabel + %40 = OpFunctionCall %void %quantizeToF16_e8fd14 + OpReturnValue %5 + OpFunctionEnd +%vertex_main = OpFunction %void None %25 + %42 = OpLabel + %43 = OpFunctionCall %v4float %vertex_main_inner + OpStore %value %43 + OpStore %vertex_point_size %float_1 + OpReturn + OpFunctionEnd +%fragment_main = OpFunction %void None %25 + %45 = OpLabel + %46 = OpFunctionCall %void %quantizeToF16_e8fd14 + OpReturn + OpFunctionEnd +%compute_main = OpFunction %void None %25 + %48 = OpLabel + %49 = OpFunctionCall %void %quantizeToF16_e8fd14 + OpReturn + OpFunctionEnd diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.wgsl b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.wgsl new file mode 100644 index 0000000000..8583c11420 --- /dev/null +++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.wgsl @@ -0,0 +1,20 @@ +fn quantizeToF16_e8fd14() { + var arg_0 = vec3(1.0f); + var res : vec3 = quantizeToF16(arg_0); +} + +@vertex +fn vertex_main() -> @builtin(position) vec4 { + quantizeToF16_e8fd14(); + return vec4(); +} + +@fragment +fn fragment_main() { + quantizeToF16_e8fd14(); +} + +@compute @workgroup_size(1) +fn compute_main() { + quantizeToF16_e8fd14(); +}